Guillaume Tardif
303958bb44
Merge pull request #574 from ulyssessouza/alias-rm-kill
...
Add 'kill' as an alias to 'stop'
2020-09-04 13:07:38 +02:00
Guillaume Tardif
adeba9b124
Fix bug not allowing users to run any context command when set to an aws context type.
...
When users have an “aws" context type, we try to exec the command (will execute context ls, context use, etc.) and when it fails because it doesn’t find the aws backend, then display the custom error for aws context type.
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-04 11:01:55 +02:00
Ulysses Souza
15066ce999
Add 'kill' command
...
- On ACI that's implemented as a stop,
since ACI does not implement a kill
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-09-04 02:57:54 +02:00
Nicolas De Loof
fed50d79f2
introduce ecs-local context
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 15:30:05 +02:00
Nicolas De Loof
7f8bb030e6
Introduce ECS emulation mode
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-31 10:01:52 +02:00
Guillaume Tardif
ad5c465bd1
Merge pull request #485 from docker/repo-rename
...
Rename docker/api -> docker/compose-cli
2020-08-25 15:58:51 +02:00
Ulysses Souza
59f7d7cd00
Redirect user from plugin usage to integrated ECS
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-08-24 19:29:10 +02:00
Chris Crone
4c6280b0e9
Rename docker/api -> docker/compose-cli
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-21 17:28:39 +02:00
Guillaume Tardif
4c3b563182
ECS context type is not for delegation to Moby !
...
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-21 14:32:46 +02:00
Nicolas De Loof
32adf3e4e6
Introduce `secret` management command and ECS implementation
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-21 13:56:52 +02:00
Djordje Lukic
635ecd7b99
Return a default implementation when nil
...
Some backends can decide not to implement a whole set of APIs (compose
for example), we now return a default implementation that returns a
`errdefs.ErrNotImplemented` for each action making it easy for the cli
to print a helpful error message. We also remove any possible nil
panics.
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-08-20 14:32:03 +02:00
Djordje Lukic
88c405e025
Use buffered channels for signals
2020-08-13 10:34:42 +02:00
Djordje Lukic
1a3182fb7f
Implement `docker start` for ACI
2020-08-12 14:50:47 +02:00
Guillaume Tardif
ee062e8333
ACI Stop implementation
2020-08-12 10:32:35 +02:00
Djordje Lukic
093a69136f
Add --force to rm on ACI
...
If a container is running the user must force the removal of the
container.
2020-08-11 16:30:42 +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
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
355295696f
Create aws context
...
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +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
Guillaume Tardif
492ce96dd4
Implement azure logout
2020-07-08 17:48:10 +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
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
98976e4cb4
Cleanup entrypoint
...
* use the `fatal` function when we can
* rename moby.ExecRegardlessContext to Exec
2020-06-26 10:23:37 +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
Djordje Lukic
0c1f0f81df
Usage metrics
...
Send usage to Docker Desktop
2020-06-23 16:52:52 +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
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
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
45750fe104
Do not display “docker for the 2020s” as the first help line !
2020-06-19 12:21:31 +02:00
Djordje Lukic
ad72c866cc
Add license headers
2020-06-18 16:48:03 +02:00
Guillaume Tardif
ab3cd0fec1
Renamed ExecIfDefaultCtxType for more explicit behaviour
2020-06-18 09:29:01 +02:00
Guillaume Tardif
bbcdad39d5
Renamed docker-classic to “com.docker.com”.
2020-06-17 17:57:53 +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
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
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
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
22d4d250a9
Move the config into own package and outside of cli
2020-06-08 16:01:36 +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
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
528d47ce08
Add docker context inspect command relying on classic docker
2020-05-29 12:02:14 +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
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
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
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
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
Guillaume Tardif
2610b986fd
delegate Moby to docker-classic binary, link docker-classic in e2e tests
2020-05-20 14:23:29 +02:00