Commit Graph
583 Commits
Author SHA1 Message Date
Tonis Tiigi e9804322f8 imagetools: fix concurrent map write from containerd issue
Workaround for containerd issue that can cause concurrent map
write when WithMediaTypeKeyPrefix is called in parallel
goroutines for context that originated from same base context.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-11-11 10:43:54 -08:00
Tonis Tiigi 79b6474639 imagetools: add sigstore bundle v3 to supported referrer formats
This was added after the initial version was written.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-11-05 14:00:05 -08:00
Tonis Tiigi e13cd5c9df imagetools: support for creating attestations/signatures
Persist attestation manifest and any manifest cosign-based
signatures when creating new images.

When creating index from single-arch manifests where attestation
manifest is not inlined, it can be loaded from referrers API.
Note that for this to work the attestation manifest needs to be
in artifact type when image was built.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit aab8171f824d13d703e869107e1720ad71d24bff)
2025-11-05 12:59:27 -08:00
Tõnis TiigiandGitHub 805c377292 Merge pull request #3454 from jsternberg/buildx-tag-help
docs: clarify cli help for the `--tag` option
2025-10-23 12:11:33 -07:00
CrazyMaxandGitHub f478741671 Merge pull request #3459 from crazy-max/history-input-context
history: input:context attribute support
2025-10-22 21:23:35 +02:00
Akihiro Suda 9e876421ee deprecate docker buildx install and docker buildx uninstall
Deprecate these commands in favor of using `docker buildx` directly,
without relying on the `docker builder` alias.

The commands have been hidden since the beginning.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2025-10-17 01:58:32 +09:00
CrazyMax c40f9d9802 history: input:context attribute support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-11 23:04:01 +02:00
Jonathan A. Sternberg ec01355b03 docs: clarify cli help for the --tag option
Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-10-06 12:46:59 -05:00
Tonis Tiigi ef2b4436cb imagetools: fix possible broken chain copy on create
When creating index from singe-arch manifests it
was possible for some of the internal manifests to not
be copies and cause error on pushing the index.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-10-02 10:36:48 -07:00
Tõnis TiigiandGitHub 40f318f9d8 Merge pull request #3431 from tonistiigi/progress-none
add progress=none option
2025-09-23 11:33:37 -07:00
Tonis Tiigi f448f3e22b imagetools: add platforms filter to imagetools create
Allows specifying platforms that should be included
in the new image, making it possible to reduce platforms
of existing multi-arch image. Previously the individual
image manifests needed to be used as sources, but that
dropped their related attestation manifests.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-09-23 08:10:11 -07:00
Tonis Tiigi 9c7b9628ef add progress=none option
Currently there is no way to completely suppress the progress output.
We have --progress=quiet but it has additional effect of printing
image ID as a progress for historical reasons. --progress=none
behaves like quiet but without this extra output printing depending
on build output.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-09-22 10:10:20 -07:00
CrazyMaxandGitHub e540b7af14 Merge pull request #3421 from aevesdocker/ENGDOCS-2992
docs: --load flag clarity
2025-09-11 17:03:37 +02:00
aevesdocker 05c6753bb7 docs: --load and --push flag clarity
Signed-off-by: aevesdocker <allie.sadler@docker.com>
2025-09-11 14:41:22 +01:00
CrazyMaxandGitHub 3293a2ef41 Merge pull request #3419 from aevesdocker/ENGDOCS-2986
docs: device entitlements
2025-09-11 13:55:17 +02:00
aevesdocker 9d8107ee3d docs: device entitlements
Signed-off-by: aevesdocker <allie.sadler@docker.com>
2025-09-11 10:25:49 +01:00
CrazyMax 0beb1b3f2b lint: gopls fixes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-09 22:07:37 +02:00
Tonis Tiigi 5e6951c571 git querystring frontend capability detection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-09-02 10:46:37 -07:00
Tõnis TiigiandGitHub d873cae872 Merge pull request #3392 from crazy-max/docs-du-filter
docs: list available filters for du and prune commands
2025-08-29 15:05:35 -07:00
Tonis Tiigi 1f39ad2001 vendor: update buildkit to v0.24.0-rc2
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-08-29 14:49:16 -07:00
Sebastiaan van Stijn 07b99ae7bf commands: verify that DisableFlagsInUseLine is set for all commands
This replaces the DisableFlagsInUseLine call from the CLI with a test
that verifies the option is set for all commands and subcommands, so
that it doesn't have to be modified at runtime.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-08-28 17:55:50 +02:00
CrazyMax ebe66a8e2e docs: list available filters for du and prune commands
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-28 15:32:10 +02:00
Tõnis TiigiandGitHub 31a3fbf107 Merge pull request #3387 from tonistiigi/update-buildkit-v0.24.0-rc1
vendor: update buildkit to v0.24.0-rc1
2025-08-27 15:01:12 -07:00
Tõnis TiigiandGitHub d94a6cf92a Merge pull request #3377 from crazy-max/du-json
cmd: multiple formats output support for du command
2025-08-27 13:45:23 -07:00
Tonis Tiigi ec3b99180b vendor: update buildkit to v0.24.0-rc1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-08-27 13:39:14 -07:00
CrazyMaxandCrazyMax b6baad406b cmd: multiple formats output support for du command
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-27 18:07:14 +02:00
CrazyMax a8f546eea5 build: fail early if trying to export index annotations with moby exporter
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-27 11:17:31 +02:00
Sebastiaan van Stijn 36b18a4c7a remove some intermediate vars
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-08-06 23:00:24 +02:00
CrazyMax 7e11d3601e history: use built-in build-arg to override the build name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-22 14:34:36 +02:00
Tõnis TiigiandGitHub a894a678f1 Merge pull request #3308 from jsternberg/dap-docs
docs: add docs related to dap
2025-07-15 09:18:29 -07:00
Jonathan A. Sternberg ac9050261e docs: add docs related to dap
Adds some entry-level and developer-friendly docs for the debug adapter.
The one in `docs/dap.md` is meant for someone trying to use the debugger
while the one in `docs/reference/buildx_dap_build.md` is more focused on
documenting the command to be integrated in a debugger extension.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-15 10:58:01 -05:00
Jonathan A. Sternberg 3453f3b00a dap: support evaluate request to invoke a container
Supports using the `evaluate` request in REPL mode to start a container
with the `exec` command. Presently doesn't support any arguments.

This improves the dap server so it is capable of sending reverse
requests and receiving the response. It also adds a hidden command
`dap attach` that attaches to the socket created by `evaluate`.

This requires the client to support `runInTerminal`.

Likely needs some additional work to make sure resources are cleaned up
cleanly especially when the build is unpaused or terminated, but it
should work as a decent base.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-15 10:45:25 -05:00
Jonathan A. Sternberg e7b8de2b0c dap: correctly set the target when provided by the launch config
Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-14 14:51:05 -05:00
Tõnis TiigiandGitHub 39ee904262 Merge pull request #3298 from crazy-max/cmd-fix-duplicated-usage
cmd: fix duplicated commands description
2025-07-09 17:44:46 -07:00
Tõnis TiigiandGitHub e3eb64e73d Merge pull request #3294 from jsternberg/dap-stop-on-entry
dap: support stopOnEntry to configure behavior when starting the debugger
2025-07-09 13:05:41 -07:00
CrazyMax af0090e434 history: bootstrap builder
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-08 11:11:37 +02:00
Jonathan A. Sternberg a291698eaf dap: support stopOnEntry to configure behavior when starting the debugger
This will configure the default behavior when beginning to evaluate a
build target. When `stopOnEntry` is used, it will default to `stepNext`.
Otherwise, `stepContinue` will be used.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-07 09:39:23 -05:00
CrazyMax b6cd86e068 cmd: fix duplicated commands description
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-07 11:58:45 +02:00
Tõnis TiigiandGitHub 758ea75f60 Merge pull request #3235 from jsternberg/dap-handler
dap: add debug adapter implementation
2025-07-02 12:58:07 -07:00
Tõnis TiigiandGitHub 9a5cbaca15 Merge pull request #3278 from crazy-max/fix-exit-after-defer
cmd: fix possible skipped defers for build and bake
2025-07-01 09:32:05 -07:00
CrazyMax a711b8ff88 cmd: fix possible skipped defers for build and bake
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-01 09:45:27 +02:00
Jonathan A. Sternberg 42599a7d49 dap: add debug adapter implementation
Adds a simple implementation of the debug adapter that supports the very
basics of a debug adapter.

It supports the launch request, the configuration done request, the
creation of threads, stopping, resuming, and disconnecting from server.

It does not support custom breakpoints, stack traces, or variable
inspection yet. These are planned to be added in the future.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-06-30 10:51:20 -05:00
CrazyMax f1db389f07 bake: fix BUILDX_BAKE_FILE env behavior
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-30 15:17:21 +02:00
Tõnis TiigiandGitHub 0bed0b5653 Merge pull request #3242 from rrjjvv/new-bakefile-env-var
Allow bake files to be specified via environment variable
2025-06-25 08:54:04 -07:00
CrazyMax 179aad79b5 history: fix required args for inspect attachment command
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-24 16:06:54 +02:00
Roberto VillarrealandCrazyMax d44ffb4bd4 Display source of bake definitions when read from environment
While it would make sense to add "from file" to complement "from env,"
 (in the common case of `--file` or using the default), it wouldn't
 provide any real value.

A simpler solution would have been looking for the existence of the
variable at the point where printing happens.  It felt wrong
duplicating the logic.  Executing the same logic (if it was extracted)
wouldn't be as bad, but still not ideal.

A 'correct' solution would be to explicitly track the source of each
definition, which would be clearer and more future-proof.  It didn't
seem like this feature warranted that amount of engineering (with no
known features that might make use of it).

This implementation seemed like a fair compromise; none of the functions
 are exported, and all have only one caller.

I also considered converting prefixing environment values with `env://`
so they could be thought of (and processed like) `cmd://` values.  I
didn't think it would be viewed as a good solution.

Co-authored-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
Signed-off-by: Roberto Villarreal <rrjjvv@yahoo.com>
2025-06-24 00:32:37 -06:00
CrazyMax 2588b66fd9 build: fix buildx.build.provenance metadata
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-19 18:47:27 +02:00
Tõnis TiigiandGitHub 99f1c4b15c Merge pull request #3245 from crazy-max/history-slsa-check
history: slsa v1 support
2025-06-16 10:53:26 -07:00
Jonathan A. Sternberg 7660acf9c7 progress: ensure bake waits for progress to finish printing on error conditions
Some minor fixes to the printer and how bake invokes it. Bake previously
had a race condition that could result in the display not updating on an
error condition, but it was much rarer because the channel communication
was much closer. The refactor added a proxy for the status channel so
there was more of an opportunity to surface the race condition.

When bake exits with an error when reading the bakefiles, it doesn't
wait for the printer to finish so it is possible for the printer to
update the display after an error is printed. This adds an extra `Wait`
in a defer to make sure the printer is finished.

`Wait` has also been fixed to allow it to be called multiple times and
have the same behavior. Previously, it only waited for the done channel
once so only the first wait would block.

The `onclose` method is now called every time the display is paused or
stopped. That was the previous behavior and it's been restored here.

The display only gets refreshed if we aren't exiting. There's no point
in initializing another display if we're about to exit.

The metric writer attached to the printer was erroneously removed. It is
now assigned properly.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-06-16 12:24:04 -05:00
CrazyMax 4a22b92775 history: slsa v1 support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-16 16:23:20 +02:00