Commit Graph

200 Commits

Author SHA1 Message Date
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 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 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
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 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 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
Guillaume Tardif d97f9d68fd Add missing f shorthand for version command 2020-06-26 12:35:51 +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 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
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 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 ef83880608 Version 0.1.2 2020-06-21 09:05:17 +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 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 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 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
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 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 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