Commit Graph

293 Commits

Author SHA1 Message Date
Nicolas De Loof d56745cba4 detect stopped containers as "Created"
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-12 12:17:17 +01:00
Guillaume Tardif f52bdc54d8
Merge pull request #1281 from gtardif/compose_unittests
More Local Compose unit tests
2021-02-12 12:12:57 +01:00
Guillaume Tardif d720eb6c03 Fix race (parallel update of collection) to remove orphan containers
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-12 10:26:15 +01:00
Guillaume Tardif fbe1ebc054 Fix test name and avoid project name collision between parallel tests,
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-12 09:52:04 +01:00
Guillaume Tardif ac5c422d77 Better debug info if test fail
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-12 09:45:00 +01:00
Guillaume Tardif b4fa7b2fa3 PS unit test
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-11 15:53:06 +01:00
Guillaume Tardif 4140196eb0 Add down unit tests
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-11 15:53:05 +01:00
Guillaume Tardif b8093e668a Kill Unit test mocking docker client API
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-11 15:52:23 +01:00
Guillaume Tardif bf26d056e5 Fix orphans warning when `docker compose run`
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-11 15:34:38 +01:00
Guillaume Tardif c8b708a20b Fix orphans warning when running `docker compose up SERVICE`
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-11 15:33:29 +01:00
Nicolas De Loof 8b90814de6
e2e test
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-11 13:26:58 +01:00
Nicolas De Loof d9fe745cc0
avoid use of channels in API for gRPC compatibility
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-11 09:34:08 +01:00
Nicolas De Loof 752edcce65
introduce `--exit-code-from`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 19:17:12 +01:00
Nicolas De Loof a4b003ecfa
pull logs and events better than aggregate events from multiple channels
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 17:27:36 +01:00
Nicolas De Loof 06b033db6c `Event` is way too generic noon
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 17:07:24 +01:00
Nicolas De Loof 27d640dd41 e2e test and alignment with docker-compose output
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 17:07:24 +01:00
Nicolas De Loof f3d093cb54 introduce cascade stop "--abort-on-container-exit" option
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 17:07:24 +01:00
Nicolas De Loof 7a7114fb5f Capture container exit code and dump on console
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-09 17:07:24 +01:00
Guillaume Tardif 58e10a7af2 Display warning in `docker compose down` if nothing to remove (no container, no network)
For reference, `docker-compose` displays `WARNING: Network sentences_default not found`

Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-08 17:20:36 +01:00
Guillaume Tardif ec26ba5230
Merge pull request #1256 from ulyssessouza/e2e-secrets
Add content based e2e tests for configs and secrets
2021-02-08 16:18:36 +01:00
Guillaume Tardif 66fb7903ad
Merge pull request #1246 from ulyssessouza/label-envfiles
Add environment_files label on service's `env_file` section
2021-02-08 16:09:44 +01:00
aiordache 1e7ce90561 Kube backend: add the `compose logs` command
Signed-off-by: aiordache <anca.iordache@docker.com>
2021-02-08 15:19:47 +01:00
Ulysses Souza b9f34a168b Add content based e2e tests for configs and secrets
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-02-08 02:57:02 -03:00
Guillaume Tardif a5b148bda1
Merge pull request #1251 from gtardif/compose_health_display
Remove the HEALTH column in `docker compose ps`
2021-02-05 17:55:04 +01:00
Ulysses Souza dc80f6b6e7 Add environment_files label
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-02-05 10:59:54 -03:00
Guillaume Tardif 24d40ba6ac
Merge pull request #1226 from docker/loglevel
Add support for --log-level
2021-02-05 12:38:13 +01:00
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