1261 Commits

Author SHA1 Message Date
Guillaume Lours
55b5f233c2 use Defang secret-detector to identify potential secret leaks before publishing OCI artifacts
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-03-11 15:02:37 +01:00
Nicolas De Loof
c3a0c35681 implement extends.file replace without yqlib
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-11 14:18:41 +01:00
Nicolas De Loof
b23728941d only load env_file after services have been selected
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-10 08:32:03 +01:00
Guillaume Lours
41e6094041 add warning message when a remote configuration include an another remote config
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-03-07 16:30:32 +01:00
Nicolas De Loof
66a47169d5 Publish compose file with required siblings used by extends
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-07 13:58:10 +01:00
Guillaume Lours
d9f05d72d2 improve message suggesting using bake
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-03-06 18:12:43 +01:00
Nicolas De Loof
4c2ecb542f reject compose file with bind mounts
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-04 16:10:53 +01:00
Nicolas De Loof
bcd000ab40 refuse to publish compose file with local include
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-04 15:55:17 +01:00
Guillaume Lours
b6c8a2b9fc display the location of OCI or GIT Compose stack download
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-03-03 22:09:06 +01:00
Nicolas De Loof
19571c2c81 e2e test for watch.include
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-03 21:59:26 +01:00
Nicolas De Loof
0ef7bbcddc introduce watch.include
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-03-03 21:59:26 +01:00
Guillaume Lours
66dfa7d181 block the publication of an OCI artifact if one or more services contain only a build section
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-03-03 16:23:21 +01:00
Nicolas De Loof
c7bf302c23 wrap builder execution within a project/build span
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-26 11:23:01 +01:00
Nicolas De Loof
7b3bdbe037 otel attribute to track builder implementation selected
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-26 11:23:01 +01:00
Nicolas De Loof
6c1ee1069b support refresh pull policy
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-25 17:05:23 +01:00
Nicolas De Loof
e38b729a30 fix service: additional_contexts running internal buildkit client
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-25 09:47:02 +01:00
Simon Ser
3292740c19 build: only print COMPOSE_BAKE recommendation when disabled
docker-compose now prints a recommendation to set COMPOSE_BAKE=true
when service deps are used. However, when the user opts-in to bake,
the recommendation is still printed.

Only print the recommendation when bake is disabled.

Signed-off-by: Simon Ser <contact@emersion.fr>
2025-02-22 11:14:36 +01:00
Nicolas De Loof
da2eff4ba7 add support for gw_priority, enable_ipv4 (requires docker v28.0)
This adds support for the GwPriority API field in API v1.48 (docker v28.0).
It can be set on both docker container run and docker network connect.

This option is used by the Engine to determine which network provides
the default gateway for a container.

It also adds support for enable_ipv4, which allows enabling (default)
or disabling IPv4 address assignment for a network.

Co-authored-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-21 15:54:41 +01:00
Sebastiaan van Stijn
20f780e95a make the mocks generator happy
Seems like it resolves the alias, and uses that instead, instead of
the actual type.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-21 15:23:25 +01:00
Sebastiaan van Stijn
cf2fc2005c go.mod: docker/docker, docker/cli v28.0.0, buildx v0.21.1
full diff:

- https://github.com/docker/docker/compare/v27.5.1...v28.0.0
- https://github.com/docker/cli/compare/v27.5.1...v28.0.0
- https://github.com/docker/buildx/compare/v0.20.1...v0.21.1

Co-authored-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-21 15:23:25 +01:00
Sebastiaan van Stijn
d0398a4681 go.mod: github.com/moby/buildkit v0.20.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-21 15:23:25 +01:00
Sebastiaan van Stijn
f25fea5e6d pkg/compose: stopDependentContainers: rename var that shadowed
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-21 15:23:25 +01:00
Guillaume Lours
d956ff13da don't display bake suggestion when using --progress with quiet or json option
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-02-18 18:45:52 +01:00
Nicolas De Loof
5f7c9a2b4b report error using non-file secret|config with read-only service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-18 11:33:13 +01:00
Nicolas De Loof
7aa64ae9cb run watch standalone if menu fails to start
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-18 10:41:23 +01:00
Nicolas De Loof
33172d5e4d let user know bake is now supported
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-12 08:18:20 +01:00
Sebastiaan van Stijn
6f1f76c0e6 pkg/e2e: fix contains: use assert.Contains (testifylint)
pkg/e2e/ps_test.go:50:5: contains: use assert.Contains (testifylint)
                    assert.True(t, strings.Contains(line, "127.0.0.1:8001->8000/tcp"))
                    ^
    pkg/e2e/ps_test.go:54:5: contains: use assert.Contains (testifylint)
                    assert.True(t, strings.Contains(line, "80/tcp, 443/tcp, 8080/tcp"))
                    ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-10 17:03:36 +01:00
Nicolas De Loof
ed72c21871 use BlockUntilContext
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-10 15:24:46 +01:00
Sebastiaan van Stijn
c23a7e7281 golangci-lint: enable copyloopvar linter
capturing loop variables is no longer needed in go1.22 and higher;
https://go.dev/blog/loopvar-preview

This path enables the copyloopvar linter, which finds places where capturing
is no longer needed, and removes locations where they could be removed.

Also made some minor changes, and renamed some vars in places where
we could use a shorter name that's less likely to conflict with imports.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-10 13:46:41 +01:00
Nicolas De Loof
5e2abb6c26 support additional_context reference to another service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-02-03 17:23:35 +01:00
Nicolas De Loof
4db5fcd569 fix bake uses selected builder
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-31 17:05:11 +01:00
Nicolas De Loof
f14c15fa57 capture error message reported by bake and forward to compose
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-31 17:05:11 +01:00
Nicolas De Loof
8d68ef587f fix exporter to only load image for default platform
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-31 17:05:11 +01:00
Nicolas De Loof
cde9ae5952 pass --allow for filesystem read access
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-31 17:05:11 +01:00
Guillaume Lours
806ac91cf6 add warning when trying to publish env variables with OCI artifact
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-01-30 17:37:07 +01:00
Guillaume Lours
840288895e add --with-env flag to publish command
this flag allow publishing env variables in the Compose OCI artifact

Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-01-29 15:45:00 +01:00
Nicolas De Loof
4b70ff0ccd fix support for ssh key from CLI flags
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-29 11:28:41 +01:00
Nicolas De Loof
23351ece81 remove exit code per error type used by legacy metrics system
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-28 10:26:41 +01:00
Nicolas De Loof
25cfa66a91 bump buildx v0.20.1 and docker v27.5.0
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-23 09:13:37 +01:00
Nicolas De Loof
d04b3f48e4 e2e test covering multi-service rebuild with common resources
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-22 12:05:58 +01:00
Nicolas De Loof
ed10804e0f manage watch applied to mulitple services
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-22 12:05:58 +01:00
Rafael Buchbinder
52578c0998 Properly handle "builtin" seccomp profile
Like in CLI [1] the "builtin" seccomp profile should be handled the same
as "unconfined".

[1] f4a68da195/cli/command/container/opts.go (L929)

Signed-off-by: Rafael Buchbinder <rafi@rbk.io>
2025-01-20 15:06:09 +01:00
Nicolas De Loof
489fe9cf02 add support for BUILDKIT_PROGRESS
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-16 12:06:09 +01:00
Nicolas De Loof
e81de103db simplification
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-10 12:21:13 +01:00
Nicolas De Loof
fa39503469 image can be set to a local ID, that isn't a valid docker ref
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-09 09:55:30 +01:00
Nicolas De Loof
a351585024 can't render progress concurrently with buildkit
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-08 16:12:54 +01:00
Nicolas De Loof
b6db1380ec exclude one-off container running convergence
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-08 10:57:46 +01:00
Florian Apolloner
2ebb475433 Only override service mac if set on the main network.
Signed-off-by: Florian Apolloner <florian@apolloner.eu>
2025-01-07 16:16:33 +01:00
Nicolas De Loof
2b21c5df93 fix relative path in compose file
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-07 14:59:47 +01:00
Nicolas De Loof
be09b2e8ce checkExpectedVolumes must ignore anonymous volumes
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2025-01-06 09:40:02 +01:00