Commit Graph

5925 Commits

Author SHA1 Message Date
8af4e77994 Merge pull request #1588 from mdsouza2/add-quiet-flag-to-docker-pull
Add quiet flag to bash completion for docker pull
2019-02-08 23:18:31 +01:00
5f2ef6a515 Merge pull request #1646 from ryanwilsonperkin/patch-1
Fix small typo
2019-02-08 23:04:48 +01:00
60e774305d Merge pull request #1602 from thaJeztah/hide_experimental_deploy
Hide legacy top-level "deploy" command with DOCKER_HIDE_LEGACY_COMMANDS=1
2019-02-08 13:53:12 -08:00
3e8a23a7fb Merge pull request #1625 from albers/completion-stoppable
Complete paused containers on `docker stop`
2019-02-07 09:37:35 -08:00
d21d1ce675 Merge pull request #1648 from thaJeztah/hide_builder_and_network
Hide "builder" and "network" commands on old API versions
2019-02-07 18:34:08 +01:00
f637fbe933 Merge pull request #1662 from michael-k/small-fixes
Fix typos
2019-02-07 16:05:47 +01:00
0e469c1d1d Fix typos
Signed-off-by: Michael Käufl <docker@c.michael-kaeufl.de>
2019-02-07 13:23:13 +01:00
b1d27091e5 Merge pull request #1515 from sw-pschmied/1514-prevent-replacing-irregular-files
Prevent overwriting irregular files (cp, save, export commands)
2019-02-07 10:05:02 +01:00
7632776b35 Prevent overwriting irregular files (cp, save, export commands)
Signed-off-by: Philipp Schmied <pschmied@schutzwerk.com>
2019-02-07 09:17:35 +01:00
8ef8df81a8 Merge pull request #1655 from thaJeztah/bump_engine
Update docker, swarmkit, containerd v1.2.2
2019-02-06 18:24:05 +01:00
7e0a966613 Merge pull request #1561 from thaJeztah/bump_containerd_v1.2.1
Update containerd to 1.2.1
2019-02-06 17:37:36 +01:00
b877ef85b2 Merge pull request #1657 from thaJeztah/compose_credential_spec_fix
compose file: disallow additional properties in credential_spec
2019-02-06 16:21:35 +01:00
bdf666c240 Merge pull request #1658 from thaJeztah/update_authors
Update authors
2019-02-06 16:20:15 +01:00
afde31d710 Merge pull request #1606 from jhowardmsft/device
Add --device support for Windows
2019-02-06 11:44:43 +01:00
593acf077b Add --device support for Windows
Adds support for --device in Windows. This must take the form of:
--device='class/clsid'. See this post for more information:

https://blogs.technet.microsoft.com/virtualization/2018/08/13/bringing-device-support-to-windows-server-containers/

Signed-off-by: John Howard <jhoward@microsoft.com>
2019-02-04 08:32:47 -08:00
700cceca4c Update authors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-04 08:25:01 +01:00
1e99ed3ca3 Disallow additional properties in credential_spec
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-02 18:27:50 +01:00
d034df736b Update docker, swarmkit, containerd v1.2.2
Also update the tests to account for the new "Builder" field
in docker info.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-02 17:03:12 +01:00
7df6bb51ab Update github.com/containerd/continuity
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-02 13:31:09 +01:00
f353eeb544 Update containerd to 1.2.1
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-02 13:30:55 +01:00
896ff57b30 Merge pull request #1653 from silvin-lubecki/fix-storing-test-results
Fix storing test results on circle ci.
2019-02-01 12:06:49 +01:00
26c598801b Fix storing test results on circle ci.
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
2019-02-01 11:56:27 +01:00
3b345e4aad Merge pull request #1639 from silvin-lubecki/use-gotestsum
Use gotest.tools/gotestsum for unit and e2e tests
2019-02-01 11:46:12 +01:00
ff5a83c3aa Store the junit.xml file produced while running the unit tests.
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
2019-02-01 11:32:23 +01:00
277f61415e Better coverage output, removing unnecessary unit scripts.
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
2019-02-01 11:16:20 +01:00
3bd3996f72 Use gotest.tools/gotestsum binary to run unit and e2e tests and simplify the output.
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
2019-02-01 11:16:20 +01:00
2344627564 Merge pull request #1642 from tiborvass/better-dep-graph-auth-type
Remove docker api dependency from cli/config
2019-01-31 23:37:13 +01:00
27b2797f7d Remove docker api dependency from cli/config
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-01-31 21:25:43 +00:00
2e5639da02 Merge pull request #1564 from ijc/plugins
Basic framework for writing and running CLI plugins
2019-01-31 17:44:46 +01:00
5486cddbd9 Merge pull request #1617 from simonferquel/pull-secrets
Add support for Kubernetes Pull secrets and Pull policies
2019-01-31 13:37:45 +01:00
7a9fc782c5 Fix small typo
Noticed a typo in this markdown file: "instead" instead of "in stead"

Signed-off-by: Ryan Wilson-Perkin <ryanwilsonperkin@gmail.com>
2019-01-30 11:00:38 -05:00
baabf6e8ad Ensure that plugins are only listed once in help outputs.
They were listed twice in `docker --help` (but not `docker help`), since the
stubs were added in both `tryRunPluginHelp` and the `setHelpFunc` closure.

Calling `AddPluginStubCommands` earlier in `setHelpFunc` before the call to
`tryRunPluginHelp` is sufficient. Also it is no longer necessary to add just
valid plugins (`tryRunPluginHelp` handles invalid plugins correctly) so remove
that logic (which was in any case broken for e.g. `docker --help`).

Update the e2e test to check for duplicate entries and also to test `docker
--help` which was previously missed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:55:42 +00:00
0a89eb554b Ensure plugins default search path obeys --config
A static global initialiser happens before the arguments are parsed, so we need
to calculate the path later.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
935d47bbe9 Ignore unknown arguments on the top-level command.
This allows passing argument to plugins, otherwise they are caught by the parse
loop, since cobra does not know about each plugin at this stage (to avoid
having to always scan for all plugins) this means that e.g. `docker plugin
--foo` would accumulate `plugin` as an arg to the `docker` command, then choke
on the unknown `--foo`.

This allows unknown global args only, unknown arguments on subcommands (e.g.
`docker ps --foo`) are still correctly caught.

Add an e2e test covering this case.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
1337895751 Check for .exe case insensitively
On Windows `foo.exe`, `foo.eXe` and `foo.EXE` are equally executable.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
63f3ad181b Refactor code which deals with Windows' .exe suffix
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
609dcb9152 Documentation on writing a plugin
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
1c576e9043 Integrate CLI plugins into docker info
Fairly straight forward. It became necessary to wrap `Plugin.Err` with a type
which implements `encoding.MarshalText` in order to have that field rendered
properly in the `docker info -f '{{json}}'` output.

Since I changed the type somewhat I also added a unit test for `formatInfo`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
0ab8ec0e4c Output broken CLI plugins in help output.
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
e5e578abc7 Allow plugins to make use of the cobra PersistentPreRun hooks.
Previously a plugin which used these hooks would overwrite the top-level plugin
command's use of this hook, resulting in the dockerCli object not being fully
initialised.

Provide a function which plugins can use to chain to the required behaviour.
This required some fairly ugly arrangements to preserve state (which was
previously in-scope in `newPluginCOmmand`) to be used by the new function.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
53f018120a Integrate CLI plugins with docker «plugin» --help.
To achieve this we hook in at the beginning of our custom `HelpFunc` and detect
the plugin case by adding stub commands.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:25 +00:00
20a284721c Integrate CLI plugins with docker help «foo»
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:18 +00:00
c43da09188 Add stubs when calling help due to no arguments
e.g. the `docker` case which should act as `docker help`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:44:06 +00:00
f912b55bd1 Integrate CLI plugins into docker help output.
To do this we add a stub `cobra.Command` for each installed plugin (only when
invoking `help`, not for normal running).

This requires a function to list all available plugins so that is added here.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:44:06 +00:00
5db336798c Add some simple e2e tests for executing CLI plugins
To help with this add a bad plugin which produces invalid metadata and arrange
for it to be built in the e2e container.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:44:05 +00:00
f1f31abbe5 Add support for running a CLI plugin
Also includes the  scaffolding for finding a validating plugin candidates.

Argument validation is moved to RunE to support this, so `noArgs` is removed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:44:04 +00:00
99fb2c1baa Hide "builder" and "network" commands on old API versions
- The `/build/prune` endpoint was added in API v1.31
- The `/network` endpoints were added in API v1.21

This patch hides these commands on older API versions

Before this change:

```
DOCKER_API_VERSION=1.0 docker

...

Management Commands:
  builder     Manage builds
  container   Manage containers
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  system      Manage Docker
  trust       Manage trust on Docker images
```

After this change

```
DOCKER_API_VERSION=1.0 docker

...

Management Commands:
  container   Manage containers
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  system      Manage Docker
  trust       Manage trust on Docker images
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-30 01:06:09 +01:00
d184c0908a Add support for pull secrets and policies
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2019-01-29 18:12:43 +01:00
b258f458cc Merge pull request #1573 from thaJeztah/fix_proxy_on_create
Fix proxy-configuration being ignored on docker create
2019-01-29 18:11:06 +01:00
1c5f611c76 Merge pull request #1645 from silvin-lubecki/fix-panic-error
Fix potential panic at DockerCli creation
2019-01-29 16:40:56 +01:00