Guillaume Lours
9dd081b92e
add support of COMPOSE_ENV_FILES env variable to pass a list of env files
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-10-05 21:55:43 +02:00
Nicolas De Loof
fe8c2780c8
warn user remote resource is disabled
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-09-29 09:30:38 +02:00
Matthieu MOREL
4f694919ff
deps: remove deprecated github.com/pkg/errors
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2023-09-29 06:28:58 +02:00
Guillaume Lours
6be5f3003a
move watch from alpha to main command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-09-20 18:55:08 +02:00
Guillaume Lours
1a98a70b8a
add scale command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-09-13 11:15:14 +02:00
Nicolas De Loof
e0f39ebbef
pull OCI remote resource
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-09-07 07:27:32 +02:00
Milas Bowman
1fdbcb6255
build: pass BuildOptions around explicitly & fix multi-platform issues
...
The big change here is to pass around an explicit `*BuildOptions` object
as part of Compose operations like `up` & `run` that may or may not do
builds. If the options object is `nil`, no builds whatsoever will be
attempted.
Motivation is to allow for partial rebuilds in the context of an `up`
for watch. This was broken and tricky to accomplish because various parts
of the Compose APIs mutate the `*Project` for convenience in ways that
make it unusable afterwards. (For example, it might set `service.Build = nil`
because it's not going to build that service right _then_. But we might
still want to build it later!)
NOTE: This commit does not actually touch the watch logic. This is all
in preparation to make it possible.
As part of this, a bunch of code moved around and I eliminated a bunch
of partially redundant logic, mostly around multi-platform. Several
edge cases have been addressed as part of this:
* `DOCKER_DEFAULT_PLATFORM` was _overriding_ explicitly set platforms
in some cases, this is no longer true, and it behaves like the Docker
CLI now
* It was possible for Compose to build an image for one platform and
then try to run it for a different platform (and fail)
* Errors are no longer returned if a local image exists but for the
wrong platform - the correct platform will be fetched/built (if
possible).
Because there's a LOT of subtlety and tricky logic here, I've also tried
to add an excessive amount of explanatory comments.
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-09-01 08:32:56 +02:00
Milas Bowman
4fbbf201cd
build(deps): upgrade to compose-go v1.18.3 ( #10947 )
...
https://github.com/compose-spec/compose-go/releases/tag/v1.18.3
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-08-30 09:17:57 -04:00
Nicolas De Loof
1054792b47
align docker compose ps with docker CLI to support --format
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-08-25 16:36:45 +02:00
Nicolas De loof
dd34f7a22b
include: add experimental support for Git resources ( #10811 )
...
Requires setting `COMPOSE_EXPERIMENTAL_GIT_REMOTE=1`.
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-08-18 09:16:45 -04:00
Guillaume Lours
0511b0c2b8
Merge pull request #10878 from relrelb/profiles_completion
...
Add shell completion for `--profile`
2023-08-10 15:16:24 +02:00
relrelb
8a4095b507
Improve shell completion for --project-directory
...
Signed-off-by: Ariel Bachar <relrelb@users.noreply.github.com>
Signed-off-by: relrelb <relrelb@users.noreply.github.com>
2023-08-03 23:40:56 +03:00
relrelb
0345461412
Add shell completion for --profile
...
Signed-off-by: Ariel Bachar <relrelb@users.noreply.github.com>
Signed-off-by: relrelb <relrelb@users.noreply.github.com>
2023-08-03 23:09:13 +03:00
Nicolas De Loof
46d936c750
support attach
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-07-10 14:34:28 +02:00
Ulysses Souza
edd76bfd70
Add docker compose wait
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2023-06-30 16:07:03 +02:00
Nicolas De Loof
cfe91becc7
use --progress
to configure progress UI stylet push
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-06-12 16:53:42 +02:00
Nicolas De Loof
daa6bec80a
fix support for project name set by COMPOSE_PROJECT_NAME env var
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-22 19:14:57 +02:00
Nicolas De Loof
9b5a4588f9
introduce --no-path-resolution to skip relative path to be resolved
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-16 13:02:56 +02:00
Nicolas De Loof
fd7847f2ac
parallel
flag belong do top-level "compose" cobra command, not the current one
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-15 20:57:09 +02:00
Guillaume Lours
dc01b98aa6
Merge pull request #10559 from ndeloof/COMPOSE_ANSI
...
introduce COMPOSE_ANSI to define --ansi default value
2023-05-15 10:42:06 +02:00
Guillaume Lours
e8caad1903
move dry-run support from alpha to main command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-05-15 09:39:46 +02:00
Nicolas De Loof
fca454b41f
introduce COMPOSE_ANSI to define --ansi default value
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-12 12:52:20 +02:00
Nicolas De loof
0e375a8c61
restore long description to be included in docker compose help
( #10504 )
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-11 12:33:45 -04:00
Nicolas De loof
0c1a691fa5
fix container being recreated while config has not changed ( #10540 )
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-09 15:15:40 -04:00
Nicolas De Loof
d01ef5887a
restore support for --memory
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-04-25 15:41:08 +02:00
Nicolas De Loof
d3e49fe360
ansi=auto|never|always
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-04-06 08:24:04 +02:00
Nicolas De loof
d762f5f473
better support NO_COLOR by disabling colors, not ANSI TUI ( #10434 )
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-04-04 17:00:10 -04:00
Nicolas De Loof
bbe1b77a67
progress writer uses dockercli.Err stream
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-03-15 09:47:13 +01:00
Nicolas De Loof
9cc1613b55
adopt http://no-color.org/
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-03-03 11:15:40 +01:00
Nicolas De Loof
a3bed265f2
update compose-go
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-03-01 17:14:53 +01:00
Nicolas De Loof
ae26426cc8
Report error if project name is empty after normalization
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-03-01 16:37:43 +01:00
Nicolas De Loof
e831ea826b
add support for restart
for depends_on
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-18 12:55:29 +01:00
Milas Bowman
593c4263f3
ci: bump to Go 1.20.1 and latest deps
...
* Go v1.20.1
* golangci-lint v1.51.1
* compose-go v1.10.0
* buildx v0.10.2
* BuildKit v0.11.3
* moby v23.0.1
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-02-16 07:26:18 +01:00
Guillaume Lours
790712fa92
update tty and plain text writers to support dry run mode
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-01-30 09:27:17 +01:00
Guillaume Lours
fb36f7fffd
directly embed the orignal APIClient in the DryRunClient
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-01-16 11:11:35 +01:00
Guillaume Lours
5081ab0507
create custom CLI when dry-run mode active
...
update documentation
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-01-16 11:11:35 +01:00
Guillaume Lours
fbf845c5f8
add dry-run flag
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-01-16 11:11:35 +01:00
Nicolas De Loof
bb9cf32245
introduce experimental watch command (skeletton)
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-12 10:52:58 +01:00
Nicolas De Loof
aa5cdf2bf9
add support for COMPOSE_PARALLEL_LIMIT (parity with Compose v1)
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-04 12:42:49 +01:00
Nicolas De Loof
24f83271f2
don't assume os.Stdout and rely on dockerCLI.streams
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-20 23:52:25 +01:00
Tiger Wang
89ef8198f3
update projectOptions to be public by renaming it to ProjectOptions
...
Signed-off-by: Tiger Wang <tigerwang@outlook.com>
2022-12-20 08:53:27 +01:00
Nicolas De Loof
84984864c8
load project from explicit --files when set
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-15 15:38:41 +01:00
Nicolas De Loof
d4a4dcf4ee
resolve --env-file as absolute path
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-14 09:43:32 +01:00
Nicolas De Loof
a0acc20d88
introduce --parallel to limit concurrent engine calls
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-06 08:15:50 +01:00
Guillaume Lours
24ec0b2d09
pass services list to projectOrName function to add profiles for targeted services
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2022-11-30 13:21:16 +01:00
Guillaume Lours
533fc61634
use COMPOSE_PROFILES value only if no command line arg profiles used
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2022-11-15 10:13:17 +01:00
Ulysses Souza
140dc519d3
cli: add shell completion function ( #9269 )
...
Integrates PR #9462 with additional fixes/changes.
Additional changes will be required to utilize this.
Co-authored-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2022-09-26 13:21:45 -04:00
Milas Bowman
a95cc4074a
Remove support for DOCKER_HOST
in .env
files ( #9871 )
...
Revert "Merge pull request #9817 from ulyssessouza/apply-newly-loaded-envvars"
This reverts commit 126cb988c6f0c00a2a9887b8a39dc0907daec289, reversing
changes made to b80222fb077436f2d4fcc62b3765d3a493891632.
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2022-09-26 09:26:01 -04:00
Ulysses Souza
79af3cdd85
Apply newly loaded envvars to "DockerCli" and "APIClient"
...
Re-evaluate DockerCli and APIClient after reading the environment file.
I can contain DOCKER_HOST and/or DOCKER_CONTEXT so the DockerCli passed by docker/cli has to be re-evaluated.
Also checks for DOCKER_CERT_PATH and DOCKER_TLS_VERIFY.
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2022-09-08 18:23:18 +02:00
Milas Bowman
f3e0c386d2
Revert "Apply newly loaded envvars to DockerCli
and APIClient
" ( #9792 )
...
Revert "Merge pull request #9745 from ulyssessouza/apply-newly-loaded-envvars"
This reverts commit 6fe34c45cad8790da99f195f3269eca0e8f0fc0b, reversing
changes made to 10cfd551e3f1e6428dbcf16f480a1fdbaaf92986.
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2022-08-26 16:03:45 -04:00