Commit Graph

267 Commits

Author SHA1 Message Date
Guillaume Tardif ad140697fc Remove the HEALTH status in `docker compose ps` and combine values from fields “state” and “health”. Rename column STATE => STATUS.
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-05 12:19:45 +01:00
Guillaume Tardif 42adbaeb8e
Merge pull request #1250 from docker/fix_logs
Filter out one_off containers on `compose logs`
2021-02-05 11:36:49 +01:00
Nicolas De Loof a1bc5c721d
Filter out one_off containers on `compose logs`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-05 11:15:43 +01:00
Ulysses Souza 8d8934e449 Add configs bind mount support
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-02-04 19:24:34 -03:00
Nicolas De Loof 9f80214dc2
Make -l -D -H non-persistent to avoid conflict with subcommands
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-04 17:13:44 +01:00
Guillaume Tardif bf56815251 Adding e2e test for local compose healthcheck in compose ps
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-03 12:54:22 +01:00
Nicolas De Loof 4cbb33e20d
Add support for --log-level
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-03 11:49:21 +01:00
Nicolas De Loof 0aa3f4a189
Add kill command
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-03 10:44:26 +01:00
Nicolas De loof 4d3d7c11ca
Merge pull request #1211 from docker/health
Add HEALTH column to compose ps
2021-02-02 16:58:26 +01:00
Nicolas De loof 9ef7850076
Merge pull request #1216 from docker/profiles
Introduce --profile option
2021-02-02 16:57:02 +01:00
Nicolas De Loof 9b282b69f8
Introduce --all option on compose ps
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-02 13:58:27 +01:00
Nicolas De Loof b1f864a6f8
Introduce --profile option
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-02 13:51:22 +01:00
Nicolas De Loof c4f6b1bd14
Add HEALTH column to compose ps
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-01 17:40:30 +01:00
Guillaume Tardif 6215445b8a
Merge pull request #1196 from gtardif/kube_expose_LoadBalancer
Support exposing ports and cross-service communication
2021-02-01 15:39:31 +01:00
Guillaume Tardif aa1efb885a Fix kube selectors : do not only select on serviceName, also ProjectName
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-01 12:22:41 +01:00
Guillaume Tardif 134744709c
Merge pull request #1201 from ulyssessouza/bump-compose-fo
Bump compose-go for absolute paths fix
2021-02-01 09:19:37 +01:00
Ulysses Souza bf17797070 Adapt tests to use absolute paths
- This also includes IDE linter formating

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-30 17:31:56 -03:00
Guillaume Tardif 3252c409f8 Make progress event display homogeneous between up, down, start, stop
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-29 16:51:37 +01:00
Nicolas De Loof 9d9dbf3a1f
Can't set `-f` as shortcut for `--follow` : conflict with `--file`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-29 15:17:44 +01:00
Nicolas De Loof 163f3b9a89 don't run "removeContainers" in parallel as we follow dependency order
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-29 15:14:04 +01:00
Nicolas De Loof 7d0e1dfc3c introduce compose logs --tail and --follow options
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-29 15:10:56 +01:00
Guillaume Tardif c9028f9f37
Merge pull request #1180 from docker/add-compose-stop
Add start and stop commands
2021-01-29 12:15:24 +01:00
Nicolas De loof c3443410fe
Merge pull request #1190 from docker/recreate_flags
introduce --force-recreate and --no-recreate
2021-01-29 11:25:11 +01:00
Ulysses Souza cd233ceb5c Add defensive code
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-28 13:28:53 -03:00
Nicolas De Loof 9e77499c2a
introduce --force-recreate and --no-recreate
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-28 15:25:41 +01:00
Ulysses Souza 4ff20bdda8 Add start and stop commands
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-27 17:18:10 -03:00
Guillaume Tardif 6a03c4ff03 Fixing linter after rebasing
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-26 18:20:00 +01:00
Guillaume Tardif 3f474143ad
Merge pull request #1163 from docker/stop-on-ctrlc
Stop project on Ctrl+C
2021-01-26 17:08:32 +01:00
Nicolas De Loof f33eff5903
introduce `--filter` option on `compose ls`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-22 10:27:56 +01:00
Dominik Braun effc126237
Make `--file` and `--project-name` global compose options
Signed-off-by: Dominik Braun <mail@dominikbraun.io>
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-20 14:40:08 +01:00
Ulysses Souza 0529415fa7 Stop project on Ctrl+C
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-20 10:02:59 -03:00
Guillaume Tardif 6859413a5d Moving last things from /tests, removing dead code
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-19 15:48:48 +01:00
Guillaume Tardif 46935b0300 Move tests to each backend folder
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-19 15:25:26 +01:00
Nicolas De loof c881e22ab8
Merge pull request #1143 from aiordache/local_volume_override 2021-01-18 21:20:34 +01:00
aiordache 774234750d Parse volumes_from
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-18 11:06:09 +01:00
Nicolas De Loof e4682a0565
run "down" using project if it was set for command
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-18 10:43:52 +01:00
Guillaume Tardif 2a8c24e4ff Move config => api/config
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:55:10 +01:00
Guillaume Tardif f1ac6d4fdc Move errdefs => api/errdefs
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:54:18 +01:00
Guillaume Tardif 930ae8bdb2 goimports -local github.com/docker/compose-cli -w . ; gofmt -s -w .
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:24:00 +01:00
Guillaume Tardif 801e747adb Move context/cloud => api/cloud
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 16:23:53 +01:00
Guillaume Tardif 4dee783aba Move progress => api
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 15:57:24 +01:00
Guillaume Tardif 6a8b344885 Move backend => api
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-15 15:44:42 +01:00
aiordache 747d2de397 cleanup
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-14 13:20:35 +01:00
aiordache 515f3ba1e7 Revisit volume implementation
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-14 12:35:04 +01:00
Guillaume Tardif 8ab3149f45 Network names and volume names don’t need anymore to be re-adapted (and prefixed with project name) after loaded from compose-go
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-14 10:07:29 +01:00
Guillaume Tardif 7dd3a5a1eb Remove duplicate compute of image name & add unit test
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-13 17:30:01 +01:00
Nicolas De Loof 609eeb0962
We actually support volume labels and driver_opts
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-13 10:15:57 +01:00
Nicolas De loof 947009d772
Merge pull request #1113 from docker/local_inline_secrets 2021-01-11 10:31:32 +01:00
aiordache 30d6e1b9e2 override inherited secret mounts
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-08 16:33:30 +01:00
aiordache ebeef45e85 Implement secrets via bind-mounts for local compose
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-08 11:29:14 +01:00
Guillaume Tardif 7a6712afdb Do not inspect for double container name at creation time, this has already been checked, let moby error bubble up if there is a name clash at this stage
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-08 10:59:58 +01:00
Ulysses Souza 0021b14de8 Add unit tests to container_name
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-08 10:05:53 +01:00
Ulysses Souza b3993230d1 Add network alias to container name
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-07 17:06:40 -03:00
Ulysses Souza b264e1814b Add warning on container_name and scale > 1
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-07 17:06:40 -03:00
Ulysses Souza 8976a20698 Use `container_name` property on service
This applies `container_name` when available in
the service definition.

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-07 17:06:40 -03:00
Nicolas De loof 1cf48318a4
Merge pull request #1106 from docker/orphans
introduce --remove-orphans option
2021-01-07 10:16:43 +01:00
aiordache 31e40176da Add GPU support via DeviceRequests
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-01-07 10:00:19 +01:00
Nicolas De Loof 4de01936f8
introduce --remove-orphans option
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-06 14:36:59 +01:00
Guillaume Tardif 0a5328748a When running compose down, remove containers with Force=true in case some container is still up for any reason (happened in some E2E test once)
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-06 10:07:40 +01:00
Guillaume Tardif df4fed266b
Merge pull request #1095 from docker/push_pull
ignore services without image attribute
2021-01-05 19:13:13 +01:00
Nicolas De Loof 5a455e47c3
ignore services without image attribute
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-01-05 09:47:29 +01:00
Ulysses Souza cef7a2d4ce Refactor ProjectName
This separate project name and service name for command `run`

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-04 14:11:54 +00:00
Guillaume Tardif 3714ab7d41 Attaching container logs
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:01:08 +01:00
Guillaume Tardif db73c928f3 Ensure image exist for run service
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:01:08 +01:00
Guillaume Tardif dc211b178a Fixed race when down with multiple containers for one service
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:01:08 +01:00
Guillaume Tardif 32d5644937 Pass reader Writer as options to backend, remove hardcoded os.Stdout
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:01:06 +01:00
Guillaume Tardif bad0d41d90 Auto-remove using container config
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:00:19 +01:00
Guillaume Tardif d2cfffafb4 Attach to container using compose attach
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:00:19 +01:00
Guillaume Tardif 76f36a69c6 Reusing existing Create() and Start() API
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 10:00:18 +01:00
Guillaume Tardif 27dc2e5be1 Reuse Create(Project) and Start(Project)
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 09:59:02 +01:00
Guillaume Tardif 8eb9733914 No need to support service `container_name` in this PR, will do separately, minor cleanup
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 09:59:02 +01:00
Guillaume Tardif d127cac6d4 Ensure images exist before starting progress display for network / volumes, otherwise progress display is all mixed up
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 09:59:02 +01:00
Guillaume Tardif 7bed2343e6 Remove not implemented options
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 09:59:02 +01:00
Guillaume Tardif b289138ca9 No need to filter services again in backend, filter is done by cli command. Added e2e test, labels one-off and slug
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-18 09:59:02 +01:00
aiordache 412385c495 Add `compose run` command
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-12-18 09:58:55 +01:00
Nicolas De Loof e2c55c2122
e2e test for local `Log` command
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-17 11:48:58 +01:00
Nicolas De Loof eda6a59379
introduce options struct in the API
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-17 11:10:57 +01:00
Nicolas De Loof 855a879a6a
Introduce `removeOrphans` to cleanup injected AWS simulation container
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-17 10:46:17 +01:00
Nicolas De Loof 056dfb95bc
allow to collect logs for a subset of project services
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-17 10:32:46 +01:00
Chris Crone 65561c085a deps: Bump docker and buildx vendoring
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-12-16 10:57:42 +01:00
Chris Crone 87153b9d25 local.compose.build: Ensure images are exported
If a user has BUILDX_NO_DEFAULT_LOAD=1 set, then the images will
not be stored in the image store unless we explicitly say that they
must be.

Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-12-11 11:08:49 +01:00
Chris Crone ddaec1a367 compose.build: Wait for progress writer after build
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-12-11 10:40:09 +01:00
Chris Crone 6e76aadfd6 deps: Bump buildx and docker vendoring
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-12-11 10:40:09 +01:00
Djordje Lukic 72cec58ed1 Check if stdin is nil before closing
getContainerStreams returns a nil stdin if the container is already running

Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-12-11 10:08:27 +01:00
Guillaume Tardif cf378834e5 No rebuild on compose up if image already exists by default, added first use of compose pull_policy and `compose up --build` to allow to force rebuild.
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-10 18:38:16 +01:00
Nicolas De Loof 446008a4b6
on ACI container ID is `project_service` and name is `service`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-09 14:39:10 +01:00
Nicolas De Loof 1f5a77e67c
move test to command-specific test file
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-09 10:33:52 +01:00
Nicolas De Loof 1d859dc807
`Ps` return ContainerSummary, not Services
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-09 10:33:51 +01:00
Guillaume Tardif e4ed2b02d7 Fix container attaching to wrong volume name for compose non-external volumes. Took the opportunity to validate R/O volumes, but not related to this fix
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-08 18:48:18 +01:00
Djordje Lukic 033941d890 compose: Add service labels
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-12-08 16:32:30 +01:00
Nicolas De Loof 1eb40999e2
Split compose.go into command-focussed go files
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-08 11:58:49 +01:00
Djordje Lukic f6c4c4e590 Move compose e2e tests to own folder
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-12-08 11:30:25 +01:00
Guillaume Tardif 8ee2286126
Merge pull request #1021 from gtardif/fix_down_no_containers
Ensure down continues (removes networks) even if containers have been removed already
2020-12-07 17:33:26 +01:00
Guillaume Tardif b987f2eaf8
Merge pull request #1023 from docker/fix-build-target
Pass the target to buildkit
2020-12-07 17:31:20 +01:00
Guillaume Tardif d0728d94f2 Fix compose volume creation and check this in volume e2e test
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-07 16:57:55 +01:00
Djordje Lukic 7d88fc61d3 Pass the target to buildkit
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-12-07 16:47:58 +01:00
Guillaume Tardif fe363fd146 Fix compose volume creation and check this in volume e2e test
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-07 16:42:43 +01:00
Guillaume Tardif 2657f5804e Ensure down continues (removes networks) even if containers have been removed already. Avoid returning nil error and nil project in `projectFromContainerLabels`
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-07 15:48:57 +01:00
Nicolas De loof 576aa46d21
Merge pull request #1015 from docker/logConsumer
Revisit logs/up API to pass a LogConsumer vs io.Writer
2020-12-07 14:57:43 +01:00
Nicolas De Loof ca123e08eb
Revisit logs/up API to pass a LogConsumer vs io.Writer
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-12-07 14:47:44 +01:00