300 Commits
Author SHA1 Message Date
Nicolas De Loof 00bd108aec introduce publish (alpha) command
Signed-off-by: Nicolas De Loof <[email protected]>
2023-08-18 10:46:25 +02: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 <[email protected]>
Signed-off-by: relrelb <[email protected]>
2023-08-03 23:40:56 +03:00
relrelb 0345461412 Add shell completion for --profile
Signed-off-by: Ariel Bachar <[email protected]>
Signed-off-by: relrelb <[email protected]>
2023-08-03 23:09:13 +03:00
Milas Bowman 636c13f818 build: do not attempt to push unnamed service images
When building, if images are being pushed, ensure that only
named images (i.e. services with a populated `image` field)
are attempted to be pushed.

Services without `image` get an auto-generated name, which
will be a "Docker library" reference since they're in the
format `$project-$service`, which is implicitly the same as
`docker.io/library/$project-$service`. A push for that is
never desirable / will always fail.

The key here is that we cannot overwrite the `<svc>.image`
field when doing builds, as we need to be able to check for
its presence to determine whether a push makes sense.

Fixes #10813.

Signed-off-by: Milas Bowman <[email protected]>
2023-07-19 09:58:37 +02:00
Guillaume Lours 8339269e13 Merge pull request #10789 from ndeloof/run_no_deps
Apply no-deps before we select and mutate target service
2023-07-10 15:46:01 +02:00
Nicolas De Loof e6a7694b8d Apply no-deps before we select and mutate target service
Signed-off-by: Nicolas De Loof <[email protected]>
2023-07-10 14:37:42 +02:00
Nicolas De Loof 46d936c750 support attach
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
2023-07-07 14:08:24 +02:00
Guillaume Lours 28301fb1a4 add support of --builder and BUILDX_BUILDER
Signed-off-by: Guillaume Lours <[email protected]>
2023-07-03 10:11:18 +02:00
Ulysses Souza edd76bfd70 Add docker compose wait
Signed-off-by: Ulysses Souza <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2023-05-09 15:15:40 -04:00
Nicolas De Loof d01ef5887a restore support for --memory
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2023-04-24 12:18:37 +02:00
Nicolas De Loof d3e49fe360 ansi=auto|never|always
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
2023-04-04 17:00:10 -04:00
Nicolas De Loof a10c4c6df5 restore --timeout flag renamed by mistake
Signed-off-by: Nicolas De Loof <[email protected]>
2023-04-04 08:48:00 +02:00
Nicolas De Loof c5317496ac workaround race condition in ContainerList
Signed-off-by: Nicolas De Loof <[email protected]>
2023-03-28 12:28:41 +02:00
Nicolas De Loof bbe1b77a67 progress writer uses dockercli.Err stream
Signed-off-by: Nicolas De Loof <[email protected]>
2023-03-15 09:47:13 +01:00
Nicolas De Loof 9cc1613b55 adopt http://no-color.org/
Signed-off-by: Nicolas De Loof <[email protected]>
2023-03-03 11:15:40 +01:00
Nicolas De Loof a3bed265f2 update compose-go
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
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 <[email protected]>
2023-02-18 12:55:29 +01:00
Nicolas De Loof f3e543fd6a apply config options for pseudo-subcommands
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
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 <[email protected]>
2023-02-14 12:17:00 +01:00
Nicolas De Loof 9ac0392baf introduce --timeout on up
Signed-off-by: Nicolas De Loof <[email protected]>
2023-02-14 12:16:41 +01:00
Nicolas De Loof 0612b34c68 introduce --no-deps on restart
Signed-off-by: Nicolas De Loof <[email protected]>
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 <[email protected]>
2023-02-14 11:30:15 +01:00
Guillaume Lours eb1c798912 support dry-run for rm command
Signed-off-by: Guillaume Lours <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2023-01-30 09:27:17 +01:00