Commit Graph

390 Commits

Author SHA1 Message Date
aiordache 00f17534a3 error check
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-06 18:13:17 +02:00
aiordache 64c517f375 remove unused parameter
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-06 18:13:17 +02:00
aiordache 46e58a28d0 Add ps and logs to compose API
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-06 18:13:17 +02:00
Anca Iordache 4c3c219518
Merge pull request #411 from docker/enable_ecs
Enable ecs backend
2020-08-06 12:17:00 +02:00
aiordache 42a5dfc0d2 rename runCompose() to checkComposeSupport()
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-06 12:02:11 +02:00
aiordache bb3500d77b check with client if context is supported (has a backend)
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-06 11:49:54 +02:00
Guillaume Tardif cdd4028788 Fix flaky nil pointer in signal forwarding to child process (see https://github.com/docker/api/runs/949400778) 2020-08-06 10:23:12 +02:00
Guillaume Tardif 29fe26620a Stop forwarding signals to child process when the child terminates 2020-08-05 15:05:32 +02:00
Guillaume Tardif 05a8582126 Forward all signals to child process 2020-08-05 15:05:32 +02:00
aiordache d1b8bcb2c7 fix signal passing to mobycli
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-05 15:05:32 +02:00
Guillaume Tardif f442eafe0b Validate run restart option value. Default value is “none”, instead of “no”, this is more in line with compose values, and changes only the default so should not have too much impact on legacy usage. 2020-08-04 17:11:21 +02:00
Ulysses Souza a2c2d6aa5d Add Restart Policy support when running single container 2020-08-04 16:57:58 +02:00
Chris Crone 0e92fd21d0 cli.options: Do not test port list order
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-04 16:31:02 +02:00
Chris Crone f8ce7a4780 cli: Move to gotest.tools
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-04 14:03:24 +02:00
aiordache 5f7c284d58 update delegation test to check all context types
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:40:44 +02:00
aiordache 87245ef727 rename packages ( amazon to ecs and azure to aci )
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
aiordache 2471e51b39 set build tag for the ecs context and backend
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
aiordache cfa7406d73 fix tests
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
aiordache fb63373a9b remove cluster property from aws context
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
aiordache 355295696f Create aws context
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
aiordache 648f0139df add e2e test for compose up on default context
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-29 17:33:23 +02:00
aiordache 5a26b25709 handle compose on all context types
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-29 11:58:09 +02:00
aiordache cfd6d2f5d1 Error out for contexts not implementing compose command
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-28 16:30:08 +02:00
Christopher Crone d1a929eb7f cli: Fix logout when specifying a registry
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-17 16:29:12 +02:00
Christopher Crone af0417c758 cli: Refactor Azure logout
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-17 16:23:15 +02:00
Djordje Lukic 84dbd1467d Move the struct for creating and aci context to azure package 2020-07-13 11:05:19 +02:00
Guillaume Tardif 43b54ef75a Also remove map[string]string for azure login (tenantId param) 2020-07-10 16:55:44 +02:00
Guillaume Tardif 97d408d25d Replaced map[string] string by existing aciCreateOpts struct for context create 2020-07-10 16:39:09 +02:00
Guillaume Tardif c36b64c10b Fixing subscription-id parameter not passed to backend... 2020-07-10 15:27:41 +02:00
Guillaume Tardif 1fbdbbbbe3
Merge pull request #381 from docker/fix-logs-windows
Get the real width of the terminal
2020-07-10 13:06:07 +02:00
Guillaume Tardif 52c2d09eae
Merge pull request #376 from docker/logout
Implement azure logout
2020-07-10 09:48:39 +02:00
Djordje Lukic ef2d304762 Allow non-interactive exec on ACI
If the request is for a non-interactive exec we don't attach the stdin
when executing.
2020-07-09 11:47:22 +02:00
Djordje Lukic e6c115dc17 Get the real width of the terminal
github.com/buger/goterm always returns 80 on windows...
2020-07-09 10:50:48 +02:00
Guillaume Tardif 492ce96dd4 Implement azure logout 2020-07-08 17:48:10 +02:00
Guillaume Tardif c5cd0f44f8 Fix ACI e2e tests : do not use console if no tty option set in exec 2020-07-07 14:05:25 +02:00
Guillaume Tardif cb3ac513cc Add run env variables support (KEY=AVLUE or KEY, will grab the process env value).
No support yet for env files
2020-07-07 11:39:35 +02:00
Guillaume Tardif efea5c8c83
Merge pull request #352 from docker/fix_error_cancel_logs
Exit without error message if user canceled command
2020-07-07 11:27:33 +02:00
Guillaume Tardif 0776e79e8e Exit without error message if user canceled command (typical scenario : ACI `logs — follow` and ctrl-C while querying ACI) 2020-07-06 17:28:02 +02:00
Guillaume Tardif 7296290408 Add ”Platform” in docker inspect result, showing container OS (this field is used by VSCode) 2020-07-06 12:16:02 +02:00
Guillaume Tardif ae76e0cf27
Merge pull request #325 from docker/error_status_context_needs_login
Specific exit code when command fails because azure login is required
2020-07-02 17:02:57 +02:00
Guillaume Tardif 4a1b50a9cd
Merge pull request #326 from docker/run_follow_logs
Run containers and attach to logs by default, detach with -d option
2020-07-02 17:02:33 +02:00
Guillaume Tardif 5eea111ecf Run containers and attach to logs by default, detach with -d option 2020-07-02 16:45:04 +02:00
Guillaume Tardif 3c83e01e9c
Merge pull request #327 from docker/compose-go
Use compose-go's Project and ProjectOptions
2020-07-02 16:43:34 +02:00
Nicolas De Loof 622402709a
Use compose-go's Project and ProjectOptions
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-07-02 16:05:45 +02:00
Guillaume Tardif 964e331a10 Specific exit code when command fails because azure login is required. Will be used by VSCode Docker integration 2020-07-02 13:52:57 +02:00
Djordje Lukic e4354c82d1 Make sure we can have a console 2020-07-02 11:49:39 +02:00
Djordje Lukic 8e8c868a70
Merge pull request #322 from docker/fix_attach_logs
Fix logs replacement when streaming logs on windows
2020-07-02 10:37:27 +02:00
Guillaume Tardif 736b7a4707 Fix logs replacement when streaming logs on windows 2020-07-02 10:17:55 +02:00
Guillaume Tardif bba9e055af Allow users to specify tenanted when logging into azure (if several tenants for azure account) 2020-07-01 12:27:18 +02:00
Guillaume Tardif f0ab42e109
Merge pull request #300 from docker/aci_ci
Run ACI e2e tests in the CI with basic support for service principal login
2020-06-30 10:29:13 +02:00
Guillaume Tardif 88ccad0449
Merge pull request #297 from docker/aci_exec_it
Let -it go through for aci exec, same as -t flag for the moment.
2020-06-30 09:45:34 +02:00
Guillaume Tardif eda438aaed Added basic support for service principal login, run ACI e2e tests with it 2020-06-29 20:35:23 +02:00
Guillaume Tardif d71ae04936 Let -it flag go through for aci exec, same as -t for the moment.
Will need to check how we can implement -I specifically on ACI
2020-06-29 10:50:04 +02:00
Ulysses Souza 1deb2b8b09 Integrate limits on inspect
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-29 10:32:28 +02:00
Ulysses Souza 0a57fd7d5c Add cpu and memory limits
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-29 10:28:43 +02:00
Djordje Lukic d5b674fba9
Merge pull request #291 from docker/chore-cleanup
Cleanup entrypoint
2020-06-26 17:21:39 +02:00
Guillaume Tardif d97f9d68fd Add missing f shorthand for version command 2020-06-26 12:35:51 +02:00
Djordje Lukic 98976e4cb4 Cleanup entrypoint
* use the `fatal` function when we can
* rename moby.ExecRegardlessContext to Exec
2020-06-26 10:23:37 +02:00
Guillaume Tardif 4fb039164d
Merge pull request #289 from gtardif/automate_version_from_tag
Automate version from tag
2020-06-25 15:58:00 +02:00
Guillaume Tardif 0bcba8d1d2 Set LD_FLAG version from git tag. Displayed version will be (default behaviour of git describe —tags):
* release version : if tag `v0.1.2` is exactly on the built commit : `0.1.2` (strip v when displaying `docker version`)
* dev version : if tag `v0.1.2` is 3 commits before, and we are on commit `xyz` : `0.1.2-3-xyz` 
* will only match tags starting with `v[0-9]`
2020-06-25 13:50:16 +02:00
Djordje Lukic 908212a947 Add version in the main package
This way, when we release goreleaser will inject the right version in
the ldflags
2020-06-25 12:00:37 +02:00
Guillaume Tardif 839b1b0b44 Delegate to Moby CLI, to allow executing ecs CLI plugin if user has switched to the AWS context (created by the plugin) 2020-06-25 11:49:28 +02:00
Guillaume Tardif 0d75d58089 Bump version 0.1.4 2020-06-24 11:38:34 +02:00
Guillaume Tardif bf76fe2f32 Bump version to 0.1.3 2020-06-23 17:05:07 +02:00
Djordje Lukic 0c1f0f81df Usage metrics
Send usage to Docker Desktop
2020-06-23 16:52:52 +02:00
Guillaume Tardif e24f2a36c2
Merge pull request #269 from docker/aci_detach_flags
Add ACI detach flags
2020-06-23 16:43:42 +02:00
Guillaume Tardif 90914603ba Add ACI detach flags, not used at the moment, but more makes new command more compatible with previous ones. 2020-06-23 16:17:02 +02:00
Guillaume Tardif fa8b911cd8 Allow running `docker -v` or `--version` even if context is not default 2020-06-23 15:13:43 +02:00
Guillaume Tardif 4197ef8b68
Merge pull request #263 from docker/fix_host_flag
Shell out to Moby cli if user uses -H, regardless of context set.
2020-06-23 14:57:54 +02:00
Guillaume Tardif ab39310771 Allow --format on docker context ls. Fixing VS Code extension shellout 2020-06-23 13:25:43 +02:00
Guillaume Tardif 38d4f8d25a Shell out to Moby cli if user uses -H, regardless of context set. Moby cli will refuse both options (context & host) to be set at the same time 2020-06-23 12:00:46 +02:00
Guillaume Tardif 03f11e2953
Merge pull request #247 from docker/main_command_cleanup
Main command cleanup
2020-06-23 10:35:07 +02:00
Guillaume Tardif c3924f2e8e Add -H flag to our own version command & login command, & also —-log-level (-l) flag. 2020-06-22 18:22:18 +02:00
Guillaume Tardif 2824a7a736 Context aci create : check context name does not exists before starting interactive aci create 2020-06-22 18:20:40 +02:00
Guillaume Tardif dbaab41604 Changed root level debug shorthand to capital D, make it consistent with Moby flag and not clash with —detach future option 2020-06-22 13:19:37 +02:00
Guillaume Tardif ef83880608 Version 0.1.2 2020-06-21 09:05:17 +02:00
Guillaume Tardif 45750fe104 Do not display “docker for the 2020s” as the first help line ! 2020-06-19 12:21:31 +02:00
Guillaume Tardif 8eb380a5a4 So much for golang error processing... 2020-06-19 11:21:47 +02:00
Djordje Lukic ad72c866cc Add license headers 2020-06-18 16:48:03 +02:00
Guillaume Tardif ba5eb3b865 CLI version 0.1.0 => 0.1.1 2020-06-18 12:25:10 +02:00
Djordje Lukic a1bb04ebe1 Refactor calling the progress writer to make it easier 2020-06-18 12:10:36 +02:00
Djordje Lukic b55267739a Azure backend reports progress 2020-06-18 11:01:33 +02:00
Guillaume Tardif ab3cd0fec1 Renamed ExecIfDefaultCtxType for more explicit behaviour 2020-06-18 09:29:01 +02:00
Guillaume Tardif 3981244701 Fix bug where we shell out to Moby cli only if context == default. We must shell out to Moby cli for any context of type “Moby”, not only the default context. 2020-06-18 09:25:28 +02:00
Guillaume Tardif fe57e4c159 Fix a bug where calling login, context inspect did not do anything if not on default context. These command will shell out to Moby cli regardless of current context 2020-06-18 09:25:28 +02:00
Guillaume Tardif 1bb2909d1a Do not restrict `docker inspect` to 1 arg, can be zero (inspect current context), one or several.
Especially, inspect with zero param is already used by VSCode. Cf https://github.com/docker/desktop-microsoft/issues/19
2020-06-18 09:21:48 +02:00
Guillaume Tardif bbcdad39d5 Renamed docker-classic to “com.docker.com”. 2020-06-17 17:57:53 +02:00
Djordje Lukic 4232b66a6b
Merge pull request #228 from docker/compose_project_name
Changed compose flag —name to —project-name, -p, aligned with docker-compose flag.
2020-06-17 05:52:55 -07:00
Ulysses Souza f6aad0d7b4 Add --json option to commands
- docker ps
- docker context ls

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-17 10:00:42 +02:00
Guillaume Tardif 830914cb15 Prepare for release 0.1.0 2020-06-17 08:41:54 +02:00
Guillaume Tardif 2a49c3b32f added -q flag to `docker context ls`. (This is now used in desktop e2e wsl2 tests)
See https://ci-next.docker.com/teams-desktop/blue/organizations/jenkins/desktop%2Fdesktop-test-single-branch-win/detail/desktop-test-single-branch-win/274982/pipeline/
2020-06-17 07:40:27 +02:00
Guillaume Tardif 404f2629a3 Changed compose flag —name to —project-name, -p, aligned with docker-compose flag. 2020-06-17 07:17:58 +02:00
Ulysses Souza 5b1522095b Fix linter
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-16 10:59:40 +02:00
Guillaume Tardif 9257d0ff49
Merge pull request #205 from ulyssessouza/inspect
Add inspect command
2020-06-16 09:33:33 +02:00
Ulysses Souza 1039c5ed94 Add tests on inspect
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-15 17:20:37 +02:00
Guillaume Tardif eb505ecd75 Add -f option to force remove current context and switch to default if required 2020-06-15 16:28:43 +02:00
Guillaume Tardif ddc44d7abe Do not allow deleting curent context without -f flag 2020-06-15 15:52:44 +02:00
Ulysses Souza 96bc1ca6f1 Add inspect command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-06-15 15:08:04 +02:00
Guillaume Tardif 0de2522079 Renamed Moby backend to “local” backend. This will leave “moby” available for default type contexts 2020-06-15 12:20:03 +02:00
Guillaume Tardif 113350a09d Context create aci is now a subcommand, as Moby and example. Root `docker context create` also allows backward compatibility to create docker contexts as before 2020-06-15 12:19:06 +02:00
Guillaume Tardif d0b2bfbf52 Fix `docker context ls` that was not displaying legacy context endpoints 2020-06-15 12:10:54 +02:00
Guillaume Tardif 336df897c1
Merge pull request #207 from docker/version_cli
version command adding azure integration beta version in textual output
2020-06-15 12:02:33 +02:00
Guillaume Tardif afa205be95 Server version : will be 1.0.0-beta1, -beta2, … 2020-06-15 11:51:03 +02:00
Guillaume Tardif 98f7a8e1aa When can not load config file, the previous cli is displaying a WARNING message, but continues with default context, we should do the same.
This happened in some desktop e2e tests where the config file is not set properly in WSL2 environment, see 
https://github.com/docker/pinata/pull/14062
2020-06-15 11:41:26 +02:00
Guillaume Tardif dda4b0f3bf Wrap error cause so that we can understand why the cli cannot determine current context.
This happened in Desktop WSL2 tests, we’re blind here : https://ci-next.docker.com/teams-desktop/blue/organizations/jenkins/desktop%2Fdesktop-test-single-pr-win/detail/desktop-test-single-pr-win/120692/pipeline
2020-06-14 19:38:29 +02:00
Guillaume Tardif 376a4b671c version command adding azure integration beta version in textual output 2020-06-13 10:47:05 +02:00
Guillaume Tardif f8ea0934f0 Align login success message with old cli (& with “canceled” message) 2020-06-12 14:50:35 +02:00
Guillaume Tardif 3c2eb067bc Fix typo in DOCKER ENPOINT 2020-06-12 14:50:35 +02:00
Guillaume Tardif 93623dc5aa
Merge pull request #200 from docker/context_store_type
Store context type in metadata to make retrocompatibility with previous contexts easier (potentially switching back and forth)
2020-06-11 13:34:05 +02:00
Guillaume Tardif e7682682fb Store context type in metadata to make retrocompatibility with previous contexts easier (potentially switching back and forth) 2020-06-10 18:17:48 +02:00
Guillaume Tardif 72bae873c5 Do not delegate to old cli if cobra fails before invoking the PreRun or SetHelp hook that call isOwnCommand(). Find the command from root.Find(args).
Tried to use  `cmd, err := root.ExecuteC()` but I can’t pass the context like with `root.ExecuteContext(ctx)`, could not find a way without and explicit call to root.Find(args)
2020-06-10 17:25:52 +02:00
Djordje Lukic 8400795caf Add the store to the gRPC context
The contexts service needs it
2020-06-09 12:11:59 +02:00
Djordje Lukic bb69de1db3 Add context endpoint to set the current context 2020-06-08 16:01:43 +02:00
Djordje Lukic 22d4d250a9 Move the config into own package and outside of cli 2020-06-08 16:01:36 +02:00
Djordje Lukic 67fb49c98c
Merge pull request #179 from rumpl/feat-stream
Feat stream
2020-06-08 06:52:56 -07:00
Guillaume Tardif f1a5f2d6cf Backend is responsible for generating containers IDs and truncate them if wanted/supported for docker ps 2020-06-08 12:37:33 +02:00
Djordje Lukic c34d016fdb Unify protos with client interfaces
* change function names in containers.proto
* add streams proto
2020-06-08 09:43:19 +02:00
Guillaume Tardif f939dd4d47 Display friendly message if unknown command is available in default context 2020-06-05 18:24:08 +02:00
Guillaume Tardif 54141a9bdd Do not display exit status when classic cli exit in error 2020-06-05 18:17:18 +02:00
Djordje Lukic e84b508e80
Merge pull request #171 from docker/windows_kill_child_processes
Windows : kill child processes
2020-06-05 00:42:21 -07:00
guillaume.tardif 995d047608 Windows specific : ensure all child processes are killed when parent exits (also works when killing parent). From Desktop code 2020-06-04 17:58:24 +02:00
Guillaume Tardif b91eab0544
Merge pull request #170 from docker/context_create_check
Do not allow context creation for unknown types
2020-06-04 16:51:11 +02:00
Guillaume Tardif 4a4b62ded2 Do not allow context creation for unknown types 2020-06-04 16:44:08 +02:00
Guillaume Tardif 427527d197
Merge pull request #146 from docker/chore-refactor-azure-login
Refactor Azure login local server
2020-06-04 10:39:30 +02:00
Christopher Crone e5335adedd Azure: Refactor login errors
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-06-04 10:20:39 +02:00
Christopher Crone 35789ace12 Azure: Refactor creation of login server
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-06-03 17:10:54 +02:00
Guillaume Tardif 5675763856 Interactive context create, adding method CreateContextData to CloudService interface, so Cloud Backends can provide a custom context creation method. 2020-06-02 16:04:08 +02:00
Guillaume Tardif e2b9f5bc57 Move login to root command, delegate to classic login when only one arg and not dot in it 2020-06-01 22:55:46 +02:00
Guillaume Tardif f1fb80ecc5
Merge pull request #161 from docker/context_inspect
Add docker context inspect command relying on classic docker
2020-05-29 15:51:10 +02:00
Guillaume Tardif 528d47ce08 Add docker context inspect command relying on classic docker 2020-05-29 12:02:14 +02:00
Guillaume Tardif 01aaec2dbe Fix Azure login : allow getting a backend when no corresponding context already exists with an explicit call from the login command. Will be usefull next for context creation with azure interactive things 2020-05-29 11:35:35 +02:00
Guillaume Tardif ea98a2dd78 Fix docker-classic creation makefile target 2020-05-27 21:14:07 +02:00
Guillaume Tardif cc46f84043 Forward closing signal to docker-classic when closing docker. Note this will not forward Kill signal, impossible to intercept / process this one. 2020-05-27 18:38:51 +02:00
Guillaume Tardif e630ace677
Merge pull request #154 from docker/fix_context_inspect_shellout
Fix shell out to docker-classic when invoking
2020-05-27 17:02:01 +02:00
Guillaume Tardif d2648da2d9 Fix shell out to docker-classic when invoking 2020-05-27 16:12:40 +02:00
Guillaume Tardif 66a83410dd Ensure we have a clear error message in case of wrong setup (previously it would just exit with no error message) 2020-05-26 23:46:02 +02:00
Djordje Lukic cb14c05e74 Move the context server into own package
It had notthing to do in the cli package
2020-05-26 10:31:14 +02:00
Djordje Lukic b8658b3f54 Rename cli protos to contexts 2020-05-26 10:20:13 +02:00
Djordje Lukic 129e675932 Put all protos inside the `protos` package 2020-05-25 15:04:28 +02:00
Djordje Lukic 11339761ca Change the way a context is stored
Initially we stored the context data in the `Metadata` of the context
but in hindsight this data would be better of in the `Endpoints` because
that's what it is used for.

Before:
```json
{
  "Name": "aci",
  "Metadata": {
    "Type": "aci",
    "Data": {
      "key": "value"
    }
  },
  "Endpoints": {
      "docker": {}
  }
}
```

After:
```json
{
  "Name": "aci",
  "Type": "aci",
  "Metadata": {},
  "Endpoints": {
      "aci": {
          "key": "value"
      },
      "docker": {}
  }
}
```

With this change the contexts that we create are more in line with the contexts the docker cli creates.

It also makes the code less complicated since we don't need to marsal twice any more. The API is nicer too:

```go
// Get a context:
c, err := store.Get(contextName)

// Get the stored endpoint:
var aciContext store.AciContext
if err := contextStore.GetEndpoint(currentContext, &aciContext); err != nil {
	return nil, err
}
```
2020-05-22 16:32:43 +02:00
Djordje Lukic de33f183df
Merge pull request #139 from rumpl/feat-log-stream
Implement gRPC logging
2020-05-22 06:23:47 -07:00
Chris Crone 0917acfb01
Merge pull request #142 from chris-crone/fix-141
Set random container name if not set
2020-05-22 11:31:16 +02:00
Christopher Crone 88ba591fc3 Seed random with nanosecond time
It's possible that users will run commands more than once a second.
Thus, seeding the random number generator with the current time in
seconds could produce results like the same container name in subsequent
commands.

Seeding with the current time in nanoseconds reduces the probability of
this.

Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-22 10:46:54 +02:00
Djordje Lukic 36c01f511b Refactor the interceptors
Avoid having a function that takes in two contexts as parameters
2020-05-22 10:16:04 +02:00
Djordje Lukic 8495500aa2 Add a CliSuite for cli unit tests
Makes writing unit tests for commands quite easier
2020-05-22 10:13:56 +02:00
Christopher Crone dd66646c06 Unit test run help
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-21 20:03:06 +02:00
Christopher Crone 0efa67f7d2 Set random container name if not set
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-21 19:28:42 +02:00
Djordje Lukic fe36c49246 Use alpine as base image
Installing docker on buster is a pain, use alpine to install it
2020-05-20 18:39:10 +02:00
Djordje Lukic 95e07a2134 Add default context to the context ls output 2020-05-20 18:39:10 +02:00
Christopher Crone ebe3fbc180 Use config dir for serving API
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-20 15:56:07 +02:00
Christopher Crone 058e6203a7 Store config dir in CLI context
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-20 15:55:05 +02:00
Christopher Crone b7fb7e2e84 Allow setting config dir with env var
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-20 14:39:02 +02:00
Guillaume Tardif d218c0745e
Merge pull request #121 from gtardif/docker-classic
delegate Moby to docker-classic binary, link docker-classic in e2e tests
2020-05-20 14:28:35 +02:00
Guillaume Tardif 2610b986fd delegate Moby to docker-classic binary, link docker-classic in e2e tests 2020-05-20 14:23:29 +02:00
Ulysses Souza d2fece3311 Fix linter problems
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-20 10:16:36 +02:00
Ulysses Souza d28e5fd742 Add e2e-aci tests for volumes
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-20 10:13:08 +02:00
Ulysses Souza b25a6b4bd6 Add volumes to run command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-20 10:06:12 +02:00
Djordje Lukic 0bd18986dd Add "*" for the current context 2020-05-18 16:42:06 +02:00
Djordje Lukic cf1be96833
Merge pull request #99 from docker/feat-stop
Add `Stop` command on the gRPC side.
2020-05-18 07:40:39 -07:00
Djordje Lukic a0dda2d094 Add tests for ps --all 2020-05-18 15:31:59 +02:00
Djordje Lukic ce7cbd4463 Add `Stop` command on the gRPC side. 2020-05-18 15:31:59 +02:00
Christopher Crone ad0fd73c31 Add config file tests
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 15:28:45 +02:00
Christopher Crone 292b6cbd84 Use const for default context name
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 15:27:47 +02:00
Chris Crone cd6d192d07
Merge pull request #113 from chris-crone/appease-linter-main-test
Appease linter in main test
2020-05-18 15:26:59 +02:00
Guillaume Tardif 2e8251fb2d
Merge pull request #100 from gtardif/windows_grpc
Allow server to start on tcp port or if windows, named pipe rather than unix socket
2020-05-18 15:18:51 +02:00
Christopher Crone 7e81f9e147 Appease linter
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 15:12:52 +02:00
Christopher Crone 6d2f085717 Do not pass global flags to context show
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 14:58:03 +02:00
Djordje Lukic 7cbbab1739
Merge pull request #109 from chris-crone/context-show
Add context show command
2020-05-18 05:50:20 -07:00
Christopher Crone 10d826eb10 Add context show command
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 14:48:02 +02:00
Christopher Crone f6fcd27a09 Factor determination of current context
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-18 14:40:15 +02:00
guillaume.tardif ecfffc6feb Allow server to start on tcp port or if windows, named pipe rather than unix socket. could not yet make it work on named pipe from js client (connects but error) 2020-05-18 14:14:52 +02:00
Djordje Lukic fcb4b606e2 Add labels to containers on run 2020-05-18 13:54:03 +02:00
Djordje Lukic 6fd290e2b1 Add ports convet tests 2020-05-18 12:21:27 +02:00
Djordje Lukic d8a38afecc Implement printing published ports 2020-05-16 10:41:35 +02:00
Djordje Lukic 23d2eacf84
Merge pull request #97 from docker/feat-port-parsing
Port parsing on the comand line
2020-05-15 17:49:18 +02:00
Djordje Lukic 52f7902d40 Port parsing on the comand line 2020-05-15 15:04:09 +02:00
Guillaume Tardif 7edc6659a2 Add unit tests for login process 2020-05-15 10:28:31 +02:00
Guillaume Tardif 69f10fe80c Extract interface / types to allow unit tests / mock 2020-05-15 10:15:56 +02:00
Guillaume Tardif 1e19d977e0 Initial functional login command : added Cloud API with generic Login() 2020-05-15 10:04:22 +02:00
Guillaume Tardif eea84cd487 move context cmd to its own folder ; initial `docker context login` command 2020-05-15 10:04:22 +02:00
Djordje Lukic 15fb6f63c3 Add licenses 2020-05-15 09:14:52 +02:00
Djordje Lukic 0765b08309 Put each compose command in own file 2020-05-15 09:14:51 +02:00
Djordje Lukic 962efef48c Commands run and rm only call a func 2020-05-15 09:14:51 +02:00
Djordje Lukic 42c72c365c Split context comands into own files 2020-05-15 09:14:51 +02:00
Djordje Lukic 6b435cf802
Merge pull request #86 from rumpl/feat-multierror
Add multierror
2020-05-14 21:14:32 +02:00
Christopher Crone 19baa17246 Fix import order of cli/options
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 19:28:57 +02:00
Christopher Crone 11b4bd19f5 Refactor global CLI options
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 18:29:09 +02:00
Christopher Crone 8720a62c37 Add context use command
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 17:10:24 +02:00
Christopher Crone c92a9b12d9 Add help to context commands
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 17:10:24 +02:00
Christopher Crone 9bf2924c24 Remove logrus.Fatal
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 17:10:24 +02:00
Christopher Crone d46398dbef Refactor config into package
* Move CLI config management into cli/config
* Add ability to save current context
* Remove ability to rename the config file as this was never used

Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-14 17:10:20 +02:00
Djordje Lukic 6486f199e2 Add multierror
docker/api/multierror wraps go-multierror from hashicorp with
our default error formating
2020-05-13 18:37:41 +02:00
Djordje Lukic 2d14bfeb38
Merge pull request #85 from ulyssessouza/add-run-output
WIP - Missing e2e - Print container name when successful
2020-05-13 14:30:58 +02:00
Guillaume Tardif 67a7c96dc4
Merge pull request #84 from rumpl/chore-remove-util
Remove util package, it was only used  by cli/main.go
2020-05-13 14:23:36 +02:00
Ulysses Souza 507caabf49 Add id to the error output
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-13 12:37:18 +02:00
Ulysses Souza b98f45eb28 Enable "run->rm" cycle on e2e-aci
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-13 10:44:04 +02:00
Ulysses Souza 14fb12c8c8 Let `make protos` affect host files
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-13 10:44:04 +02:00
Ulysses Souza 40fa78ac5d Add rm command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-13 10:44:04 +02:00
Ulysses Souza 80bc3f3620 Print container name when successful
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-13 10:27:39 +02:00
Djordje Lukic 33b9525c9e Remove util package, it was only used by cli/main.go
`util` is not a great name, it has no context and can quickly become a
place where we put everything and anything.
2020-05-13 10:24:16 +02:00