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
Christopher Crone
c93d2e9180
Context should always be handled by new CLI
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-12 18:05:02 +02:00
Guillaume Tardif
4e7645aae2
Merge pull request #42 from rumpl/moby
...
Moby
2020-05-12 13:46:26 +02:00
Christopher Crone
1d3ffc0254
Add context rm command
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-12 12:24:43 +02:00
Djordje Lukic
fe1772b84a
Moby backend
2020-05-11 15:49:03 +02:00
Guillaume Tardif
9a2ec752b5
Add ACI compose basic e2e test
2020-05-06 15:56:47 +02:00
Djordje Lukic
688e7e5deb
Implement quiet flag for ps command
2020-05-06 12:18:53 +02:00
Christopher Crone
07569bffa9
Use friendly random name generator
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-05 18:14:43 +02:00
Ulysses Souza
e075df6f8f
Fix linter issues
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-05 16:27:22 +02:00
Ulysses Souza
a4e54e9b5d
Merge pull request #41 from ulyssessouza/add-up
...
Add compose up and down
2020-05-05 16:00:44 +02:00
Ulysses Souza
161f8154de
Organize imports
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-05 15:56:00 +02:00
Ulysses Souza
ba455916c6
Refactor on services
...
This refactors the interfaces and implementations of
services
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-05 15:37:12 +02:00
Guillaume Tardif
35c5073cc0
First e2e tests running locally (with example backend)
2020-05-05 14:40:30 +02:00
Ulysses Souza
03e418cbbb
Add compose up and down
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-05 14:03:14 +02:00
Djordje Lukic
4e9a4185af
Add `make lint` and run it on CI
2020-05-05 10:50:30 +02:00
Djordje Lukic
24c035e822
Add comments on exported items, remove example command
...
Also add `make lint` to run the linter
2020-05-05 10:27:44 +02:00
Djordje Lukic
e964a3af2e
Implement `docker logs --tal <N>`
2020-05-04 16:38:02 +02:00
Djordje Lukic
1c7270b697
Implement logs
2020-05-04 15:52:31 +02:00
Djordje Lukic
afca3e31b5
Implement exec command
2020-05-04 12:43:32 +02:00
Djordje Lukic
28808f3f6d
Check that port definition contains source and dest
2020-05-04 11:45:34 +02:00
Djordje Lukic
eee9bf449f
Move run to own package
2020-05-04 11:35:11 +02:00
Djordje Lukic
a1a5e1794b
Add ports publishing to run
2020-05-04 11:35:11 +02:00
Djordje Lukic
3d363643ad
Implement simple ACI run
2020-05-04 11:35:11 +02:00
Ulysses Souza
33c45a0a62
Add "goimports"
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-04 11:30:21 +02:00
Ulysses Souza
4f3c2c1996
Fix protos and its generation
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-04 11:30:21 +02:00
Djordje Lukic
885fd799e1
Get the real status of containers
2020-05-03 14:54:15 +02:00
Djordje Lukic
6ecb5550f7
Use a request for the context list rpc in cli.proto
2020-04-30 12:42:11 +02:00
Djordje Lukic
0af5afe440
Move the proxy in the server package
2020-04-30 12:20:04 +02:00
Djordje Lukic
8571cf5a04
Create a new client on each request
...
`docker serve` doesn't need a context any more, the server takes the
current context from the request metadata and creates a new client
2020-04-30 12:07:26 +02:00
Djordje Lukic
9ea91791b4
Change the current context of the client on each request
...
* the interceptor takes the current context from the metadat
* each handler needs to call `client.SetContext()` before using the
sevices
2020-04-30 12:07:26 +02:00
Djordje Lukic
40a3a20f78
Add serve command that serves the cli and the containers services
2020-04-30 12:07:26 +02:00
Djordje Lukic
b2606b91f2
Remove useless client grpc stuff
2020-04-30 11:06:04 +02:00
Djordje Lukic
f4bde8cb89
Multiple backend for the cli
...
* implement a little azure backend
* implement an example backend
* use the right backend from the context
2020-04-30 11:01:04 +02:00
Djordje Lukic
551eb2326f
ACI context creation
...
And remove gRPC stuff from the client for now
2020-04-29 19:08:58 +02:00
Ulysses Souza
3380c9d459
Refactor store.New
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-04-27 18:56:37 +02:00
Djordje Lukic
474cdbae11
Remove unnecessary if
2020-04-27 15:56:23 +02:00
Djordje Lukic
e6597d6139
Don't cd into a directory before building
...
We pass the directory to build to the `go build` command
2020-04-27 15:42:59 +02:00
Djordje Lukic
10bc4b93f6
Call moby if the command is unknown
...
Will also check if the context is an original docker context
2020-04-27 11:33:16 +02:00
Djordje Lukic
32da9e65e8
Only execute moby if the command is not a context command
2020-04-27 09:20:58 +02:00
Djordje Lukic
e2c7370a82
Implement context list
2020-04-26 22:07:50 +02:00
Djordje Lukic
3bb4fe163c
Add `docker context create` command
...
This creates a context with a name and a type
2020-04-26 19:42:20 +02:00