579 Commits

Author SHA1 Message Date
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
d2648da2d9 Fix shell out to docker-classic when invoking 2020-05-27 16:12:40 +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
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
Ulysses Souza
d2fece3311 Fix linter problems
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-20 10:16:36 +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
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
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
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
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
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
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
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
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
Christopher Crone
1d3ffc0254 Add context rm command
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-12 12:24:43 +02:00