Commit Graph

170 Commits

Author SHA1 Message Date
Ulysses Souza 6c1ea32dae Add --quiet for some commands
- compose ls
- compose ps
- secret ls // Not implemented on ACI so no e2e-aci tests
- volume ls

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-12 11:34:27 +02:00
Nicolas De loof a067882b6d
Merge pull request #734 from docker/add-version-in-user-agent
Add version to UserAgent on  ACI
2020-10-12 11:11:55 +02:00
Ulysses Souza 10632b008b Add version to UserAgent on ACI
This also refactors the Version insertion to make it global

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-12 09:15:32 +02:00
Ulysses Souza 4d6a0bb00d Remove inline secrets option
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-09 14:54:12 +02:00
Ulysses Souza 99186b1d04 Look for all mounts before removing a volume
This checks the volume mounts of all container groups from all
resource groups before removing a volume/fileshare

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-09 14:39:21 +02:00
Guillaume Tardif 68d0413e36 Minor cleanup
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-09 11:53:53 +02:00
Guillaume Tardif 6516632ecf Add resource reservations to container inspect
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-08 17:47:16 +02:00
Guillaume Tardif b1edfb6507 Change inspect json output to group things a bit more nicely, and more like Moby json output
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-08 17:03:30 +02:00
Guillaume Tardif 343d54dac5 Allow to set memory / CPU limits higher than requests, ACI will request that limits are not higher than the total request for the container group. Also set requests = limits when only limits are set
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-08 17:03:30 +02:00
Guillaume Tardif c09f771359 Use compose resource request to set ACI retrouve request, and single container resource requests.
Limits should be used to allow one container in a container group to use more than the container requested resources, up to the total resources requested for the container group. 

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-08 17:03:30 +02:00
aiordache 265dd197c3 Add detach flag to `compose up`
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-10-07 15:51:43 +02:00
Guillaume Tardif 97576db803
Merge pull request #689 from ulyssessouza/json-out
Add json output format to several commands
2020-10-05 10:30:30 +02:00
Ulysses Souza 863d8ba7a8
Merge pull request #700 from gtardif/aci_constants
Regroup azure constants that might be things to switch in order to provide access to other azure clouds
2020-10-02 17:19:52 +02:00
Ulysses Souza ef5e013aa7 Return empty list instead of nil on List
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-10-01 15:41:18 +02:00
Ulysses Souza 277702dc6b Add argument support to run command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-09-30 15:34:22 +02:00
Guillaume Tardif b514dafa91 Regroup azure constants that might be things to switch in order to provide access to other azure clouds.
See `az cloud list` to list endpoints specific to each azure cloud.

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-30 14:05:28 +02:00
Guillaume Tardif ca35ccfb0e ACI Volumes : create takes one required arg, instead of required flag `--fileshare` (we still have required flag `--storage-account` specifically for ACI)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-24 17:10:32 +02:00
Guillaume Tardif 7eda96bea4 Fix nil pointer when creating volume with “” storage account
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-24 12:59:29 +02:00
Guillaume Tardif cf3bb18c0e User compose.service.domainname rather than custom ACI extension for ACI DNSLabelName
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-22 14:44:22 +02:00
Guillaume Tardif 334ebf5f75 Implement --domainname flag on compose up, also defining compose extension "x-aci-domain-name" to store ACI DNSLabelName.
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-22 14:41:31 +02:00
Guillaume Tardif 701d1b834e ACI: allow users to set DNSLabelName and deploy containers with fqdn like `myapp.eastus.azurecontainers.io`
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-22 14:41:31 +02:00
Guillaume Tardif 7abdb085c0
Merge pull request #637 from docker/volume_tests
Added tests on ACI volume conversion, mock storageLogin required to get storage account keys
2020-09-22 14:40:46 +02:00
Guillaume Tardif 0092de6df1 Added tests on ACI volume conversion, mock storageLogin required to get storage account keys
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-22 14:24:12 +02:00
Guillaume Tardif f42e05fcc3
Merge pull request #636 from docker/update-copyright
Update copyright
2020-09-22 12:21:16 +02:00
Guillaume Tardif 772493d70d
Merge pull request #617 from ulyssessouza/volumes_ro
Add 'readOnly' capability to volumes on ACI
2020-09-22 12:14:31 +02:00
Chris Crone d154c41586 Update copyright
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-22 12:13:00 +02:00
Guillaume Tardif a71b2a39bd Add status field in API metrics
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-18 15:22:34 +02:00
Ulysses Souza 02d59ae510 Add 'readOnly' capability to volumes on ACI
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-09-18 12:07:42 +02:00
Guillaume Tardif 3ccc603461 Add status field in CLI metrics : success, failure, cancelled
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-18 10:47:50 +02:00
Guillaume Tardif 10372b7098
Merge pull request #625 from docker/aci_context_create_no_sub
Check specified subscription in context create and if not found, prompt users they might need to login with -—tenant-id.
2020-09-17 22:29:06 +02:00
Guillaume Tardif 292ec55f46 Check specified subscription in context create and if not found, prompt users they might need to login with -—tenant-id.
Cf https://github.com/docker/aci-integration-beta/issues/27

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-17 22:05:43 +02:00
Guillaume Tardif e904c71b04
Merge pull request #624 from docker/feat-api-metrics
Add  interceptor for API metrics
2020-09-17 11:40:22 +02:00
Guillaume Tardif 3bf6a00a61 goimports
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-17 10:58:01 +02:00
Guillaume Tardif 0c1de64c84
Merge pull request #610 from docker/fix_volume_error_message
fix error message on ACI docker volume rm
2020-09-15 12:38:32 +02:00
Guillaume Tardif 06d0ffae82 Fix volume error message
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-15 09:27:22 +02:00
Guillaume Tardif 267b267201 Progress functions can return a string, that can be used in the caller of progress.Run to display final result after progress display
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-14 14:29:03 +02:00
Guillaume Tardif 57ded74aee
Merge pull request #598 from docker/encode_env_values
Properly send env variables containing “=“ in their value in ACI payload. Also properly send quoted values
2020-09-10 17:17:02 +02:00
Guillaume Tardif 98f0064fe9 Properly send env variables containing “=“ in their value in ACI payload. Also properly send quoted values
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-10 17:03:34 +02:00
Guillaume Tardif 0b3fdb637d Change volume IDs from “storageaccount@fileshare“ to “storageaccount/fileshare”
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-10 16:07:22 +02:00
Guillaume Tardif 099b64935b Minor fixes
Co-authored-by: Chris Crone <christopher.crone@docker.com>

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-10 14:55:46 +02:00
Guillaume Tardif 80d23a6097 Removed NAME from `volume ls` output, allow `volume delete <ID>` using IDs from `volume ls`.
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-10 09:14:39 +02:00
Guillaume Tardif 18ad20f1c5 Display errors if resource not found when deleting volumes (file share or storage account)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-09 10:44:05 +02:00
Guillaume Tardif b96a6d1086 Add progress on volume creation
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 17:54:45 +02:00
Guillaume Tardif 96d785a5bd Added volume delete, can delete juste a file share or the storage account if confirmed
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 16:32:16 +02:00
Guillaume Tardif 2f672f6c4c Volume e2e test
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Guillaume Tardif 15addf5c22 Break out aci backend.go into several files for each service
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Guillaume Tardif 08562b403e Connecting it all
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Guillaume Tardif 9ed06ece5b Adding volume API & initial CLI command
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
Guillaume Tardif 45179a5bff Add first volume create in ACI
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00
aiordache b155fe0f2e retrieve status with get group by name
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-07 14:39:49 +02:00
aiordache 50c99ed7f6 filter status result by project name
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-07 14:39:49 +02:00
aiordache 799b799f30 Implement `compose ls` for ACI
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-07 14:39:49 +02:00
Guillaume Tardif d06aa2827f Move containers, compose, secrets to /api
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-07 13:22:08 +02:00
Guillaume Tardif 55d54cb21c
Merge pull request #584 from docker/aci_stop_follow_logs
ACI : when following logs (actually polling logs), stop polling when the container is not running.
2020-09-07 09:14:31 +02:00
Guillaume Tardif 7138ecc899 ACI : when following logs (actually polling logs), stop polling when the container is not running anymore.
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-04 15:46:35 +02:00
Nicolas De loof a8c290fe98
Merge pull request #583 from docker/compose_ls 2020-09-04 14:13:27 +02:00
aiordache 02be463fd7 Add `compose ls` command for ECS
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-09-04 13:20:11 +02:00
Guillaume Tardif cbb416976a
Merge pull request #577 from docker/aci_device_login_ctrlc
ACI: Allow Ctrl+C to cancel CLI when using Azure Device Code Flow login
2020-09-04 13:07:54 +02:00
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
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
Guillaume Tardif 76c92a8359 Pass in context to login tenant query, so it gets cancelled if the user Ctrl+C
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-03 18:21:30 +02:00
Guillaume Tardif 81f2496b5e Allow Ctrl+C to cancel CLI when using Azure Device Code Flow login
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-03 15:38:38 +02:00
guillaume.tardif bb58290eeb invoke browser with Run rather than Start, to get errors (on wsl no interop setup, and more generally if the browser app returns an error)
Signed-off-by: guillaume.tardif <guillaume.tardif@gmail.com>
2020-09-02 17:31:04 +02:00
Guillaume Tardif 909be662ee Azure fallback to device code flow if we can’t open a browser (some WSL2 scenarios)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-02 15:46:17 +02:00
Guillaume Tardif b0c50ed6dd Implement compose ps on ACI
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-28 17:43:18 +02:00
Guillaume Tardif f80e90caca
Merge pull request #529 from docker/api
Revisit compose API so it uses compose-go Project as parameter
2020-08-27 11:52:27 +02:00
Guillaume Tardif 2ea000b280 Removed space before :
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-27 11:30:48 +02:00
Nicolas De Loof edb30e7e82
Revisit compose API so it uses compose-go Project as parameter
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-27 10:59:20 +02:00
Guillaume Tardif 8dbb6c58b9 Print ACR login debug info
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-27 10:50:21 +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 dc1e313858 Revert "Debug for CI failing tests (green locally)"
This reverts commit 1d875674357c7c5a5c26349f62c6f2ef71f74e38.

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-21 12:45:01 +02:00
Guillaume Tardif a8548de5dd Debug for CI failing tests (green locally)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-21 12:44:41 +02:00
Guillaume Tardif 5cab129c10 Add E2E test on deploying ACR images
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-19 14:31:45 +02:00
Guillaume Tardif 04c678b099 Do not require refresh token to obtain ACR token. Especially this will make the ACR auto-login feature work with Service Principal login, that does not have a refresh token
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-19 14:31:35 +02:00
Nicolas De Loof 66e25937c6
Merge remote-tracking branch 'origin/main' into ecs-import
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-19 11:28:31 +02:00
Nicolas De Loof ec4615ae57
Apply linter recommendations
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-19 08:16:19 +02:00
Guillaume Tardif 87cee4d1e5 Returns `Node <Group_status>` when container group status is available and not container status (instead of `Unknown`)
Impacts output for ps, inspect

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-08-18 12:42:00 +02:00
Nicolas De Loof 2791542fea
Merge remote-tracking branch 'origin/main' into ecs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 10:36:17 +02:00
Nicolas De Loof cfbd963c3d
Adjust commands to latest compose-go
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 10:01:32 +02:00
Nicolas De Loof 6e6a11aa73
Introduce Secrets API
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 09:43:15 +02:00
Nicolas De Loof 91427d0492
introduce `Convert` in compose API
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-18 08:58:37 +02:00
Nicolas De Loof e02d8d549b
Make ECS integration a compose-cli backend
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-08-17 21:30:49 +02:00
Guillaume Lours 95de770e87 Update or add license header which are not valid
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-17 16:55:25 +02:00
Guillaume Tardif 4ee5aa6267 More renaming 2020-08-14 17:07:33 +02:00
Guillaume Tardif 274dc8283f Use proper context in storage key retrieval 2020-08-14 17:01:44 +02:00
Guillaume Tardif 6552a00004 Use SDK storage.AccountClient.ListKeys. Needed to refactor code to avoid cyclic dependencies 2020-08-14 16:41:38 +02:00
Guillaume Tardif 3a60c957ae Get storage account key from azure login, no need to specify it in compose file or run -v option 2020-08-14 12:26:09 +02:00
Djordje Lukic 13327ac617 Make the compose message on start mean something 2020-08-12 15:10:54 +02:00
Djordje Lukic 1a3182fb7f Implement `docker start` for ACI 2020-08-12 14:50:47 +02:00
Guillaume Tardif abd363d641
Merge pull request #463 from docker/compose_labels_error
Explicit error message saying we don’t support labels in compose file
2020-08-12 13:51:32 +02:00
Guillaume Tardif 3d758b7f26 Implement `docker ps —all` filter on ACI 2020-08-12 11:59:36 +02:00
Chris Crone 52cd3d97c0
Merge pull request #465 from docker/login_redirect
Change docker login azure redirect to docker ACI integration documentation
2020-08-12 11:09:03 +02:00
Guillaume Tardif 6472ffa346 Change docker login azure redirect to docker ACI integration documentation 2020-08-12 10:40:08 +02:00
Guillaume Tardif ee062e8333 ACI Stop implementation 2020-08-12 10:32:35 +02:00
Guillaume Tardif 8fb16cea63 Explicit error message saying we don’t support labels in compose file. (See ACI limitations: https://github.com/docker/desktop-microsoft/issues/33) 2020-08-12 10:28:55 +02:00
Djordje Lukic 80c1b2246b
Merge pull request #457 from docker/feat-aci-force-rm
Add --force to rm on ACI
2020-08-11 16:42:49 +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
Guillaume Tardif ec5f4e9202 Add options to `docker login azure` to support Service Principal login. Use it in E2E tests 2020-08-11 12:11:51 +02:00
Guillaume Tardif 76d8f5a8b4 More goimport changes 2020-08-10 14:36:05 +02:00
Guillaume Tardif fffb3aa3f9 Use existing oauth Token struct rather than create our own 2020-08-10 14:35:23 +02:00