Commit Graph

6253 Commits

Author SHA1 Message Date
Ian Campbell 8635abd662 Use underlying `NewKubernetesConfig` directly from compose-on-kubernetes.
The comment on `github.com/docker/cli/kubernetes.NewKubernetesConfig` said:

    // Deprecated: Use github.com/docker/compose-on-kubernetes/api.NewKubernetesConfig instead

By making this switch in `github.com/docker/cli/context/kubernetes/load.go` we
break a vendoring chain:

`github.com/docker/cli/cli/command`
→ `vendor/github.com/docker/cli/cli/context/kubernetes/load.go`
  → `vendor/github.com/docker/cli/kubernetes`
     → `github.com/docker/compose-on-kubernetes/api/compose/...`

This means that projects which just want `github.com/docker/cli/cli/command`
(which is itself pulled in transitively by
`github.com/docker/cli/cli-plugins/plugin`) which do not themselves need the
compose-on-kubernetes API avoid a huge pile of transitive dependencies.

On one of my private projects the diff on the vendor dir is:

    280 files changed, 21 insertions(+), 211346 deletions(-)

and includes dropping:

* `github.com/docker/compose-on-kubernetes/api/compose/{clone,impersonation}`
* `github.com/docker/compose-on-kubernetes/api/compose/{v1alpha3,v1beta1,v1beta2,v1beta3}`
* `github.com/google/btree`
* `github.com/googleapis/gnostic`
* `github.com/gregjones/httpcache`
* `github.com/peterbourgon/diskv`
* `k8s.io/api/*` (_lots_ of subpackages)
* `k8s.io/client-go/{discovery,kubernetes/scheme}`

and I've gone from:

    $ du -sh vendor/k8s.io/
    8.1M	vendor/k8s.io/

to:

    $ du -sh vendor/k8s.io/
    2.1M	vendor/k8s.io/

(overall I went from 36M → 29M of vendor dir for this particular project)

The change to `cli/command/system/version.go` is just for consistency and
allows us to drop the now unused alias.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-05-14 15:43:15 +01:00
Ian Campbell 1e5129f027 rename package import kubcontext → kubecontext
The (small number) of other places which name this import use `kubecontext`,
make it consistent.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-05-14 13:46:40 +01:00
Silvin Lubecki 873afb9c94
Merge pull request #1845 from tiborvass/apiversion-negotiation
Apiversion negotiation
2019-05-14 10:27:05 +02:00
Sebastiaan van Stijn eaf49b16a7
Merge pull request #1824 from thaJeztah/bump_grpc_1.20.0
bump google.golang.org/grpc v1.20.1
2019-05-13 18:42:26 -07:00
Sebastiaan van Stijn 78e910caa2
Merge pull request #1883 from tiborvass/bump-buildkit
vendor buildkit to f238f1e
2019-05-13 18:40:47 -07:00
Tibor Vass 529ef6e89a vendor buildkit to f238f1e
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-05-14 01:29:18 +00:00
Tibor Vass c52e1f2487
context: ClientOpts() now includes WithAPIVersionNegotiation if version is missing
Signed-off-by: Tibor Vass <tibor@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-13 17:36:06 -07:00
Sebastiaan van Stijn a77e3af471
Merge pull request #1881 from thaJeztah/fix_powershell_codehint
Fix PowerShell codehint for rouge
2019-05-13 17:31:02 -07:00
Sebastiaan van Stijn 5f17b1d622
Merge pull request #1872 from ijc/reduce-connection-timeout
add a 10s timeout to the client object.
2019-05-13 17:00:06 -07:00
Sebastiaan van Stijn 5331358d3e
Fix PowerShell codehint for rouge
Rouge is case-sensitive, and only works with powershell
all lowercase.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-13 16:37:30 -07:00
Sebastiaan van Stijn 1454f56597
Merge pull request #1874 from ijc/consistent-output-on-context-create
context: produce consistent output on `context create`.
2019-05-13 14:44:30 -07:00
Sebastiaan van Stijn 93d76c5c90
bump google.golang.org/grpc v1.20.1
full diff: https://github.com/grpc/grpc-go/compare/v1.12.2...v1.20.1

includes  grpc/grpc-go#2695 transport: do not close channel that can lead to panic
addresses moby/moby#39053

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-13 14:40:29 -07:00
Ian Campbell ff44305c47 context: produce consistent output on `context create`.
Refactor `RunCreate` slightly so that all three paths always produce the same
output, namely the name of the new context of `stdout` (for scripting) and the
success log message on `stderr`.

Validate by extending the existing unit tests to always check the output is as
expected.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-05-13 16:42:03 +01:00
Sebastiaan van Stijn 11d2e404c6
Merge pull request #1853 from ijc/cli-plugin-persistentprerun-hook
cli-plugins: fix when plugin does not use PersistentPreRun* hooks
2019-05-13 07:06:42 -07:00
Silvin Lubecki 245bfd15cd
Merge pull request #1850 from ijc/include-plugins-in-badopt-help
Include plugins in `docker --badopt` help output
2019-05-13 15:50:44 +02:00
Ian Campbell 59defcb34d add a 10s timeout to the client object.
This partially mitigates #1739 ("Docker commands take 1 minute to timeout if
context endpoint is unreachable") and is a simpler alternative to #1747 (which
completely defers the client connection until an actual call is attempted).

Note that the previous 60s delay was the culmination of two separate 30s
timeouts since the ping is tried twice. This with this patch the overall
timeout is 20s. https://github.com/moby/moby/pull/39206 will remove the second
ping and once that propagates to this tree the timeout will be 10s.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-05-13 13:53:03 +01:00
Tibor Vass 53fc257292
Merge pull request #1864 from tao12345666333/bump-golang-1.12.5
Bump golang 1.12.5
2019-05-10 17:45:58 -07:00
Sebastiaan van Stijn 6f6dd1579d
Merge pull request #1870 from thaJeztah/bump_version
Bump version to 19.09.0-dev
2019-05-10 17:39:57 -07:00
Sebastiaan van Stijn e6f73bc50a
Bump version to 19.09.0-dev
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-10 17:30:44 -07:00
Sebastiaan van Stijn b032208710
Merge pull request #1861 from thaJeztah/upload_junit
CircleCI: store junit.xml as artifact
2019-05-10 17:23:05 -07:00
Sebastiaan van Stijn 589b35b180
Merge pull request #1868 from albers/completion-context-create--from
Add bash completion for `context create --from`
2019-05-10 15:16:42 -07:00
Tibor Vass 3e660c2221
Merge pull request #1869 from albers/completion-events--filter-node
Add bash completion for `events --filter node`
2019-05-10 14:58:34 -07:00
Sebastiaan van Stijn 0ad0c7f6dd
Merge pull request #1860 from trapier/bash_completion_node_type_filter
bash completion: add node type filter
2019-05-10 14:56:44 -07:00
Harald Albers c1639e1e42 Add bash completion for `events --filter node`
Signed-off-by: Harald Albers <github@albersweb.de>
2019-05-10 22:14:39 +02:00
Harald Albers b55992afc6 Add bash completion for `context create --from`
Signed-off-by: Harald Albers <github@albersweb.de>
2019-05-10 21:48:27 +02:00
Sebastiaan van Stijn dea0aa9d71
Merge pull request #1866 from tiborvass/fix-buildkit-bug
vendor buildkit to 646fc0a (v0.5.1)
2019-05-09 16:51:35 -07:00
Sebastiaan van Stijn 0b0c45dd11
Merge pull request #1863 from tiborvass/buildx-backports
buildx backports: BUILDKIT_PROGRESS env + build --platform local
2019-05-09 15:23:13 -07:00
Tibor Vass 7f45a0e52c vendor buildkit to 646fc0af6d283397b9e47cd0a18779e9d0376e0e (v0.5.1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-05-09 22:18:28 +00:00
Jintao Zhang c32d1de57c Bump golang 1.12.5
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2019-05-08 08:43:22 +08:00
Tibor Vass daca70d820 build: add --platform local
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-05-07 22:25:40 +00:00
Tibor Vass 8adcedd658 build: honor BUILDKIT_PROGRESS env config
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-05-07 22:16:01 +00:00
Sebastiaan van Stijn dcc414be3e
CircleCI: store junit.xml as artifact
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-07 14:02:16 -07:00
Trapier Marshall 50a45babac bash completion: add node type filter
Signed-off-by: Trapier Marshall <trapier.marshall@docker.com>
2019-05-07 14:26:20 -04:00
Brian Goff d88565df0c
Merge pull request #1498 from Zanadar/34394-run-pull-flag
Adds flag modifying pull behavior for running and creating containers
2019-05-06 14:35:05 -07:00
Zander Mackie 483c53ad9d Use single table for all ContainerImagePullPolicy tests
- Cleans up assertions
 - Centralizes and simplifies handler functions

Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Zander Mackie ffba7659cc Improve testing of never pull and always pull scenarios
Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Zander Mackie ec56136d61 Use closure for common pulling and tagging bevior in container creation
Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Zander Mackie 965664d89b Improve flow pull behavior before container creation.
- Also improve test coverage

Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Ravi Shekhar Jethani a06b5db594 Update cli/command/container/create.go
Co-Authored-By: Zanadar <zmackie@gmail.com>
Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Zander Mackie 22cd418967 Adds flag modifying pull behavior for running and creating containers
- Follows the proposal on issue [#34394](https://github.com/moby/moby/issues/34394)
 - Maintains current behavior as default (Pull image if missing)
 - Adds tristate flag allowing modification (PullMissing, PullAlways, PullNever)

Signed-off-by: Zander Mackie <zmackie@gmail.com>
2019-05-06 14:16:26 -07:00
Ian Campbell af200f14ed cli-plugins: fix when plugin does not use PersistentPreRun* hooks
This regressed in 3af168c7df ("Ensure plugins can use `PersistentPreRunE`
again.") but this wasn't noticed because the helloworld test plugin has it's
own `PersistentPreRunE` which has the effect of deferring the resolution of the
global variable. In the case where the hook isn't used the variable is resolved
during `newPluginCommand` which is before the global variable was set.

Initialize the plugin command with a stub function wrapping the call to the
(global) hook, this defers resolving the variable until after it has been set,
otherwise the initial value (`nil`) is used in the struct.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-04-30 10:45:29 +01:00
Vincent Demeester 3273c2e235
Merge pull request #1851 from thaJeztah/update_authors2
Update AUTHORS and mailmap
2019-04-29 07:31:59 +02:00
Sebastiaan van Stijn ffc168ed51
Update AUTHORS and mailmap
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-04-27 17:39:39 -07:00
Sebastiaan van Stijn 55879706ce
Merge pull request #1848 from albers/completion-storage-driver-overlay
Remove deprecated storage drivers from bash completion
2019-04-26 10:38:32 -07:00
Ian Campbell 7d0645c5fe Use command.Cli instead of command.DockerCli
The linter is complaining:

    cmd/docker/docker.go:72:23⚠️ dockerCli can be github.com/docker/cli/cli/command.Cli (interfacer)

Unclear precisely which change in the preceeding commits caused it to notice
this possibility.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-04-26 15:43:03 +01:00
Ian Campbell 40a6cf7c47 Include CLI plugins in help output on unknown flag.
Previously `docker --badopt` output would not include CLI plugins.

Fixes #1813

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-04-26 15:21:20 +01:00
Ian Campbell 79a75da0fd Hide experimental builtin commands in help output on unknown flag.
Previously `docker --badopt` would always include experimental commands even if
experimental was not enabled.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-04-26 15:09:09 +01:00
Ian Campbell d57175aa2e Move subtests of TestGlobalHelp into actual subtests
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-04-26 10:43:03 +01:00
Vincent Demeester 301c638d83
Merge pull request #1849 from albers/completion-systempaths-unconfined
Add bash completion for `--security-opt systempaths=unconfined`
2019-04-26 09:05:29 +02:00
Harald Albers 1648d6c4a4 Add bash completion for `--security-opt systempaths=unconfined`
Signed-off-by: Harald Albers <github@albersweb.de>
2019-04-25 23:49:30 +02:00