Nicolas De Loof
e6a7694b8d
Apply no-deps before we select and mutate target service
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-07-10 14:37:42 +02: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
Nicolas De Loof
b0af2deb2b
when --index is not set select first service container
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-07-07 14:08:24 +02:00
Guillaume Lours
28301fb1a4
add support of --builder and BUILDX_BUILDER
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-07-03 10:11:18 +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
Milas Bowman
e1f8603a62
otel: refactor root command span reporting
...
* Move all the initialization code out of `main.go`
* Ensure spans are reported when there's an error with the
command
* Attach the Compose version & active Docker context to the
resource instead of the span
* Name the root CLI span `cli/<cmd>` for clarity and grab
the full subcommand path (e.g. `alpha-viz` instead of just
`viz`)
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-06-20 17:25:58 +02:00
Nicolas De Loof
c61b8aa5ac
introduce run --cap-add to run maintenance commands using service image
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-06-19 14:20:20 +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
robbert-ef
68bd0eb523
cli: fix timeout behavior on up / restart / stop ( #10672 )
...
Do not set a hardcoded default timeout of 10 seconds when restarting / stopping but use the container `StopTimeout` (defaults to 10 seconds).
Also fixed custom timeout not used when invoking `up`.
Signed-off-by: Robbert Segeren <robbert.segeren@easyflex.nl>
2023-06-12 09:18:25 -04:00
Milas Bowman
3c8a56dbf3
trace: add OTEL initialization ( #10526 )
...
This is a bunch of OTEL initialization code. It's all in
`internal/` because there are re-usable parts here, but Compose
isn't the right spot. Once we've stabilized the interfaces a bit
and the need arises, we can move it to a separate module.
Currently, a single span is produced to wrap the root Compose
command.
Compose will respect the standard OTEL environment variables
as well as OTEL metadata from the Docker context. Both can be
used simultaneously. The latter is intended for local system
integration and is restricted to Unix sockets / named pipes.
None of this is enabled by default. It requires setting the
`COMPOSE_EXPERIMENTAL_OTEL=1` environment variable to
gate it during development.
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-06-08 16:46:07 -04:00
Nicolas De Loof
60fe97416c
don't skip `compose` used as project name
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-06-06 10:24:59 +02:00
Guillaume Lours
15cad92b61
fix display of volumes flag in down help command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-05-24 22:11:58 +02:00
Nicolas De Loof
93bd27a0cc
introduce ability to select service to be stopped by `compose down`
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-05-24 17:32:32 +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
Benjamín Guzmán
7840a92c40
Added tests to `viz` subcommand
...
Signed-off-by: Benjamín Guzmán <bg@benjaminguzman.dev>
2023-04-24 12:18:37 +02:00
Benjamín Guzmán
2bc6a45c0b
Replaced calls to WriteRune with WriteByte and reformatted imports
...
Signed-off-by: Benjamín Guzmán <bg@benjaminguzman.dev>
2023-04-24 12:18:37 +02:00
Benjamín Guzmán
2268d1e573
Started working on `viz` subcommand
...
Signed-off-by: Benjamín Guzmán <bg@benjaminguzman.dev>
2023-04-24 12:18:37 +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
a10c4c6df5
restore `--timeout` flag renamed by mistake
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-04-04 08:48:00 +02:00
Nicolas De Loof
c5317496ac
workaround race condition in ContainerList
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-03-28 12:28:41 +02: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
Nicolas De Loof
f3e543fd6a
apply config options for pseudo-subcommands
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-17 12:11:18 +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
Nicolas De Loof
5e3e2171d4
sort service --hash output by service name
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-14 12:17:00 +01:00
Nicolas De Loof
9ac0392baf
introduce --timeout on `up`
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-14 12:16:41 +01:00
Nicolas De Loof
0612b34c68
introduce --no-deps on restart
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-14 11:30:15 +01:00
Nicolas De Loof
92e0cd4047
also restart dependent services after a service has been restarted
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-14 11:30:15 +01:00
Guillaume Lours
eb1c798912
support dry-run for rm command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2023-02-09 17:34:10 +01:00
Nicolas De Loof
0f5b5ccbd0
detect replacement container is created and inform printer so it attach and don't stop
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-02-06 11:23:13 +01:00
Nicolas De Loof
41e056341b
rename `convert` to `config` to align with compose v1 UX
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-30 22:23:53 +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
Laura Brehm
69c0a583be
Merge pull request #10208 from laurazard/add-scale-create
2023-01-27 15:26:01 +01:00
maxcleme
634a7d2a7b
Support for docker compose build --push when using multiple platforms
...
Signed-off-by: maxcleme <maxime.clement@docker.com>
2023-01-26 16:54:41 +01:00
Guillaume Lours
cf12239547
Merge pull request #10207 from ndeloof/tail_n
...
alias -n for --tail to align with docker CLI
2023-01-26 14:06:29 +01:00
Laura Brehm
9d53ed8f63
Add `--scale` to `compose create`, refactor scale option
...
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2023-01-26 13:03:34 +01:00
AhmedGrati
df70735295
Fix: Handle concurrent threads using mutex on the rainbowColor function
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-26 12:53:56 +01:00
AhmedGrati
d8bf175cd4
Remove unecessary files
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-26 12:53:56 +01:00
AhmedGrati
4816f40b90
Fix: remove the infinite goroutine
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-26 12:53:56 +01:00
AhmedGrati
ed5a2e83c7
Remove unecessary files
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-26 12:53:56 +01:00
AhmedGrati
fa8d075d88
Fix: remove the infinite goroutine
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-26 12:53:56 +01:00
Nicolas De Loof
33c3f4dfad
alias -n for --tail to align with docker CLI
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-26 10:00:58 +01:00
Nicolas De loof
5919fcb4cd
Revert "Fix Goroutine leak in v2/command/formatter"
2023-01-24 10:48:27 +01:00
AhmedGrati
3a21e1e319
Fix Linting Issues
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-23 10:50:56 +01:00
AhmedGrati
b670aefb94
Feat: Clean inifinite Goroutine
...
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
2023-01-22 22:03:52 +01:00
Guillaume Lours
d5d9f67547
Merge pull request #10173 from glours/dry-run
...
Skeleton for dry-run under alpha command
2023-01-20 15:37:52 +01:00
Nicolas De Loof
e94eb056b4
allow a TTY to be allocated with -t
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-19 16:53:09 +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
eb59b0e265
add alpha command to test dry-run
...
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
8c07fa4d25
mark alpha command as experimental
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-12 14:44:18 +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
Matt Armand
4cebce3a5c
This option lives in the create options, not the run options
...
Signed-off-by: Matt Armand <marmand68@gmail.com>
2023-01-11 12:07:51 -05:00
Matt Armand
bd8e57447a
Add remove-orphans functionality to run, because it recommends that in error messages
...
Signed-off-by: Matt Armand <marmand68@gmail.com>
2023-01-11 10:31:56 -05:00
Nicolas De Loof
cc912c625d
introduce --remove-orphans in compose create command
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-11 07:16:50 +01:00
Guillaume Lours
f6f29a4438
Merge pull request #10133 from ndeloof/build_concurrency
...
limit build concurrency according to --parallel
2023-01-05 09:57:13 +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
d5e4f00644
introduce --no-attach to ignore some service output
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-03 18:43:40 +01:00
Nicolas De Loof
8b4ac37f9c
introduce `--ignore-buildable` to ignore buildable images on pull
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2023-01-03 18:43:23 +01:00
Laura Brehm
a224780795
Set `pullChanged` when setting `--pull` on `compose up`
...
Add e2e tests
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2022-12-30 13:56:06 +01:00
Ákos Takács
ffce33ec11
Fix empty file when using compose config in case of smaller source files
...
"docker compose config --output out.yml" resulted an empty file
when the generated output was smaller than 4097 bytes.
bufio.Writer doesn't seem necessary since only one write operation will happen.
This way there is no need for a new bufio.Writer that could be flushed.
Thanks for @thaJeztah for the idea of using os.WriteFile
Issue https://github.com/docker/compose/issues/10121
Signed-off-by: Ákos Takács <takacs.akos@it-sziget.hu>
2022-12-30 13:51:36 +01:00
Nicolas De Loof
9bd9f1765c
check service names based on project, not running containers
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-21 21:11:44 +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
Guillaume Lours
0fedddb008
Merge pull request #10083 from ndeloof/nodeps
...
use recently introduced `withSelectedServicesOnly` to reduce code duplication
2022-12-15 15:51:29 +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
8566daa96e
use recently introduced `withSelectedServicesOnly` to reduce code duplication
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-15 15:38:18 +01:00
Nicolas De Loof
84ea395d5d
introduce --timestamp option on compose up
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-15 12:14:22 +01:00
Gabriel Féron
1cb5536a2e
Address review comments
...
Signed-off-by: Gabriel Féron <g@leirbag.net>
2022-12-15 11:42:14 +01:00
Gabriel Féron
e4850d9c48
Add --include-deps to push command
...
Signed-off-by: Gabriel Féron <g@leirbag.net>
2022-12-15 11:42:14 +01:00
Nicolas De Loof
8c39b5b7fd
align `--format` flag and UX with docker cli
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-14 22:53:43 +01:00
Nicolas De Loof
bc568eeb9b
align `compose ps` output with `docker ps`
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-14 22:53:43 +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
0368f19030
distinguish stdout and stderr in `up` logs
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-13 14:42:42 +01:00
Nicolas De Loof
804d7163a7
detect required service are gone to stop watching
...
explicit API to stop the log printer
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-07 21:07:27 +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
Milas Bowman
053f20edab
port: improve error-handling if port not found ( #10039 )
...
This method looked slightly incomplete. If the port wasn't found,
it'd return `err`, but that was always `nil`, so we'd print out
`:0`.
Now, we construct a nice error message with the targeted port and
the ones we found.
The `--protocol` flag is also now case-insensitive to prevent any
weirdness/confusion there.
Co-authored-by: Nick Sieger <nicksieger@gmail.com>
Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2022-12-05 22:11:45 +00:00
Guillaume Lours
7cf5940f4a
Merge pull request #10035 from ndeloof/9323
...
use StringToBool to detect COMPOSE_IGNORE_ORPHANS
2022-12-01 10:06:21 +01:00
Nicolas De Loof
7369127650
use StringToBool to detect COMPOSE_IGNORE_ORPHANS
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-12-01 09:38:57 +01:00
windforce17
2e7644ff21
use api.Separator to print right image names
...
Signed-off-by: windforce17 <wzcboss@qq.com>
2022-12-01 09:20:09 +01:00
Nicolas De Loof
9ac4f69918
move image digests resolution to backend
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-11-30 21:18:18 +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
Nicolas De Loof
c3e5e49957
configure buildx for plain output if --ansi=never has been set
...
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-11-24 16:02:04 +01:00
Laura Brehm
88c3aaf1bf
Merge pull request #10007 from laurazard/add-build-run
...
Add `--build` to `compose run`
2022-11-17 20:00:57 +01:00
Laura Brehm
35d31cc500
Add `--build` option to `compose run`
...
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2022-11-17 00:57:35 +01:00
Guillaume Lours
c53539e1cc
Merge pull request #9906 from glours/profiles-priority
...
use COMPOSE_PROFILES value only if no command line arg profiles used
2022-11-15 18:03:11 +01:00
Guillaume Lours
32f29b833f
add --no-consistency flag to convert command
...
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2022-11-15 10:31:59 +01:00