Commit Graph

55443 Commits

Author SHA1 Message Date
Paweł Gronowski
fdb7b56814 Merge pull request #51769 from thaJeztah/bump_protobuf
vendor: google.golang.org/protobuf v1.36.11
2025-12-19 13:41:48 +00:00
Paweł Gronowski
7ddc5f609a hack: add nri_no_wasm build tag to static builds
Add the nri_no_wasm build tag to the BUILDFLAGS for static builds to
disable WASM plugins support in the NRI (Node Resource Interface)
component.

See: 1078130fa0/README.md (webassembly-support)

The NRI support is still minimal and disabling WASM plugins shaves off a
couple of MiB of the binary size.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-19 14:36:15 +01:00
Austin Vazquez
4a72e05714 Merge pull request #51770 from vvoland/update-gha
gha: Bump actions/download-artifact to v7
2025-12-19 07:31:16 -06:00
Paweł Gronowski
1175dd348e daemon/volume/mounts: Fix tests on Windows
The test was failing on Windows because it used Unix-style paths and
relied on platform-specific filesystem behavior.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-19 12:42:43 +01:00
Paweł Gronowski
6cbabb04b9 gha: Bump actions/download-artifact to v7
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-19 12:11:07 +01:00
Sebastiaan van Stijn
fae334b4c0 vendor: google.golang.org/protobuf v1.36.11
full diff: https://github.com/protocolbuffers/protobuf-go/compare/v1.36.10...v1.36.11

User-visible changes:
CL/726780: encoding/prototext: Support URL chars in type URLs in text-format.

Bug fixes:
CL/728680: internal/impl: check recursion limit in lazy decoding validation
CL/711015: reflect/protodesc: fix handling of import options in dynamic builds

Maintenance:
CL/728681: reflect/protodesc: add support for edition unstable
CL/727960: all: add EDITION_UNSTABLE support
CL/727940: types: regenerate using latest protobuf v33.2 release
CL/727140: internal/testprotos/lazy: convert .proto files to editions
CL/723440: cmd/protoc-gen-go: add missing annotations for few generated protobuf symbols.
CL/720980: internal/filedesc: remove duplicative Message.unmarshalOptions
CL/716360: internal/encoding/tag: use proto3 defaults if proto3
CL/716520: proto: un-flake TestHasExtensionNoAlloc
CL/713342: compiler/protogen: properly filter option dependencies in go-protobuf plugin.
CL/711200: proto: add test for oneofs containing messages with required fields
CL/710855: proto: add explicit test for a non-nil but empty byte slice

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-19 10:11:42 +01:00
Shane St Savage
beeacde4b2 Remove restriction on anonymous read-only volumes
Restriction on anonymouse read-only volumes is currently preventing
the use of pre-populated volumes that should be accessed in a read-only manner in a container
(e.g. an NFS volume containing data to be processed or served).

According to @neersighted the restriction may have originally been put
in place with the assumption that pre-populated volumes would be
exposed as a named volume by the volume driver.

In practice, NFS volumes are mounted using the docker `local` driver
by supplying driver opts. Example that fails when `readonly` is specified but works without:

```
docker run --rm -it \
 --mount 'readonly,type=volume,dst=/data/dest,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/export/some-share,"volume-opt=o=nfsvers=4,addr=some.server"' \
  debian
```

Fixes #45297

Signed-off-by: Shane St Savage <shane@axds.co>
2025-12-18 16:08:31 -08:00
Paweł Gronowski
ebf1c0d405 Merge pull request #51765 from vvoland/update-containerd-nowindows
Dockerfile: update containerd binary to v2.2.1 (static binaries and CI, on Linux)
2025-12-18 21:17:35 +00:00
Paweł Gronowski
91da4a7e8a Merge pull request #51763 from thaJeztah/client_linting
client: fix linting issues
2025-12-18 20:45:58 +00:00
Sebastiaan van Stijn
168e8418b7 Merge pull request #51599 from thaJeztah/bump_cgroups
vendor: github.com/containerd/containerd/v2 v2.2.1, github.com/opencontainers/runtime-spec v1.3.0
2025-12-18 21:10:51 +01:00
Paweł Gronowski
05bbf3768b Merge pull request #51750 from vvoland/fix-validate-module-replace2
validate/module-replace: Also allow changing ref of the api module
2025-12-18 20:08:14 +00:00
Paweł Gronowski
1145b1def1 Merge pull request #51747 from vvoland/hack-dropreplace-ref
hack/vendor/dropreplace: Make more reliable
2025-12-18 20:07:59 +00:00
Paweł Gronowski
8452b64f32 Dockerfile: update containerd binary to v2.2.1 (static binaries and CI only)
Update the containerd binary that's used in CI and static binaries

- full diff: https://github.com/containerd/containerd/compare/v2.2.0...v2.2.1
- release notes: https://github.com/containerd/containerd/releases/tag/v2.2.1

```markdown changelog
Update containerd (static binaries only) to [v2.2.1](https://github.com/containerd/containerd/releases/tag/v2.2.1)
```

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-18 21:04:49 +01:00
Austin Vazquez
0f0d197d78 Merge pull request #51760 from thaJeztah/fix_godoc
api/types/jsonstream: Message: fix godoc
2025-12-18 13:07:27 -06:00
Sebastiaan van Stijn
b293e73bdb vendor: github.com/containerd/containerd/v2 v2.2.1
adds compatibility with runtime-spec v1.3.0

full diff: https://github.com/containerd/containerd/compare/v2.2.0...v2.2.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:59:07 +01:00
Sebastiaan van Stijn
01440122f2 vendor: github.com/containerd/nri v0.11.0
- adds compatibility with runtime-spec v1.3.0
- adds `nri_no_wasm` build-tag to compile without wasm support
- adds `ErrWasmDisabled` error

full diff: https://github.com/containerd/nri/compare/v0.10.0...v0.11.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:55:59 +01:00
Sebastiaan van Stijn
32d4f64a65 vendor: github.com/opencontainers/runtime-tools v0.9.1-0.20251114084447-edf4cb3d2116
adds compatibility with runtime-spec v1.3.0

full diff: e5b4542027...edf4cb3d21

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:55:59 +01:00
Sebastiaan van Stijn
6766ce7be2 vendor: tags.cncf.io/container-device-interface v1.1.0
adds compatibility with runtime-spec v1.3.0

full diff: https://github.com/cncf-tags/container-device-interface/compare/v1.0.1...v1.1.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:55:59 +01:00
Sebastiaan van Stijn
2c533f9327 vendor: github.com/containerd/cgroup/v3 v3.1.2
- hugetlb: correctly parse hugetlb.<size>.events files
- go.mod: github.com/opencontainers/runtime-spec v1.3.0

full diff: https://github.com/containerd/cgroups/compare/v3.1.0...v3.1.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:55:58 +01:00
Sebastiaan van Stijn
4b4223a8d4 vendor: github.com/opencontainers/runtime-spec v1.3.0
This includes a breaking change in pids.Limit changing to a pointer.

full diff: https://github.com/opencontainers/runtime-spec/compare/v1.2.1...v1.3.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 19:55:56 +01:00
Paweł Gronowski
587d96c934 Merge pull request #51762 from thaJeztah/json_tag
api/types/swarm: ResourceRequirements.MemorySwappiness: fix json tag
2025-12-18 18:46:26 +00:00
Sebastiaan van Stijn
9ae239e654 golangci-lint: iface: ignore identical interfaces in client module
These interfaces in the client module are identical by design to allow
future expansion.

    client/container_export.go:15:6: identical: interface 'ContainerExportResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerLogsResult, ImageImportResult, ImageLoadResult, ImageSaveResult, ServiceLogsResult, TaskLogsResult) (iface)
    type ContainerExportResult interface {
         ^
    client/container_logs.go:26:6: identical: interface 'ContainerLogsResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ImageImportResult, ImageLoadResult, ImageSaveResult, ServiceLogsResult, TaskLogsResult) (iface)
    type ContainerLogsResult interface {
         ^
    client/image_import.go:12:6: identical: interface 'ImageImportResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ContainerLogsResult, ImageLoadResult, ImageSaveResult, ServiceLogsResult, TaskLogsResult) (iface)
    type ImageImportResult interface {
         ^
    client/image_load.go:12:6: identical: interface 'ImageLoadResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ContainerLogsResult, ImageImportResult, ImageSaveResult, ServiceLogsResult, TaskLogsResult) (iface)
    type ImageLoadResult interface {
         ^
    client/image_pull.go:17:6: identical: interface 'ImagePullResponse' contains identical methods or type constraints with another interface, causing redundancy (see: ImagePushResponse) (iface)
    type ImagePullResponse interface {
         ^
    client/image_push.go:20:6: identical: interface 'ImagePushResponse' contains identical methods or type constraints with another interface, causing redundancy (see: ImagePullResponse) (iface)
    type ImagePushResponse interface {
         ^
    client/image_save.go:9:6: identical: interface 'ImageSaveResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ContainerLogsResult, ImageImportResult, ImageLoadResult, ServiceLogsResult, TaskLogsResult) (iface)
    type ImageSaveResult interface {
         ^
    client/service_logs.go:28:6: identical: interface 'ServiceLogsResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ContainerLogsResult, ImageImportResult, ImageLoadResult, ImageSaveResult, TaskLogsResult) (iface)
    type ServiceLogsResult interface {
         ^
    client/task_logs.go:26:6: identical: interface 'TaskLogsResult' contains identical methods or type constraints with another interface, causing redundancy (see: ContainerExportResult, ContainerLogsResult, ImageImportResult, ImageLoadResult, ImageSaveResult, ServiceLogsResult) (iface)
    type TaskLogsResult interface {
         ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 17:11:24 +01:00
Sebastiaan van Stijn
7b74376ff1 client: testRoundTripper: remove unused skipConfigureTransport method
This was added in a315437e1c, likely because
I tried to do some interface matching, but currently it doesn't look to
be implementing one, so we can remove it.

    client/client_options.go:136:25: func testRoundTripper.skipConfigureTransport is unused (unused)
    func (testRoundTripper) skipConfigureTransport() bool { return true }
                            ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 17:11:23 +01:00
Sebastiaan van Stijn
34ee29ceaa client: use errors.New (revive)
client/container_exec_test.go:152:19: use-errors-new: replace fmt.Errorf by errors.New (revive)
                            return nil, fmt.Errorf("should not have made API request")
                                        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 17:11:23 +01:00
Sebastiaan van Stijn
e254a9f0f1 client: containerDiskUsageFromLegacyAPI: make switch exhaustive
client/system_disk_usage.go:275:3: missing cases in switch of type container.ContainerState: container.StateCreated, container.StateRemoving, container.StateExited, container.StateDead (exhaustive)
            switch c.State {
            ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 17:11:23 +01:00
Sebastiaan van Stijn
f39912a30e client: fix some missing error checks in tests (ineffassign)
client/client_test.go:367:5: ineffectual assignment to err (ineffassign)
        _, err = client.Ping(t.Context(), PingOptions{
           ^
    client/client_test.go:381:5: ineffectual assignment to err (ineffassign)
        _, err = client.Ping(t.Context(), PingOptions{
           ^
    client/client_test.go:425:5: ineffectual assignment to err (ineffassign)
        _, err = client.Ping(t.Context(), PingOptions{
           ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 17:11:15 +01:00
Sebastiaan van Stijn
8f3bfa3f34 client: fix missing import aliases (importas)
client/container_exec.go:8:2: import "github.com/containerd/errdefs" imported without alias but must be with alias "cerrdefs" according to config (importas)
        "github.com/containerd/errdefs"
        ^
    client/container_exec_test.go:9:2: import "github.com/containerd/errdefs" imported without alias but must be with alias "cerrdefs" according to config (importas)
        "github.com/containerd/errdefs"
        ^
    client/container_rename.go:8:2: import "github.com/containerd/errdefs" imported without alias but must be with alias "cerrdefs" according to config (importas)
        "github.com/containerd/errdefs"
        ^
    client/pkg/security/security_opts_test.go:8:2: import "gotest.tools/v3/assert/cmp" imported without alias but must be with alias "is" according to config (importas)
        "gotest.tools/v3/assert/cmp"
        ^
    client/volume_prune.go:9:2: import "github.com/containerd/errdefs" imported without alias but must be with alias "cerrdefs" according to config (importas)
        "github.com/containerd/errdefs"
        ^
    client/volume_prune_test.go:8:2: import "github.com/containerd/errdefs" imported without alias but must be with alias "cerrdefs" according to config (importas)
        "github.com/containerd/errdefs"
        ^
    client/container_exec_test.go:10:2: ST1019(related information): other import of "github.com/containerd/errdefs" (staticcheck)
        cerrdefs "github.com/containerd/errdefs"
        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 15:27:34 +01:00
Sebastiaan van Stijn
0fd5cc134b api/types/jsonstream: Message: fix godoc
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 15:04:27 +01:00
Sebastiaan van Stijn
6c845ded18 api/types/swarm: ResourceRequirements.MemorySwappiness: fix json tag
types/swarm/task.go:151:2: structtag: struct field tag `json:MemorySwappiness,omitzero"` not compatible with reflect.StructTag.Get: bad syntax for struct tag value (govet)
        MemorySwappiness *int64 `json:MemorySwappiness,omitzero"`
        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 15:03:13 +01:00
Sebastiaan van Stijn
faf002f421 Merge pull request #51751 from vvoland/replace-vendor
Re-add replace rules
2025-12-18 15:02:49 +01:00
Sebastiaan van Stijn
c9ca5187d0 Merge pull request #51759 from thaJeztah/bump_otel_contrib
vendor: go.opentelemetry.io/contrib/* v0.63.0
2025-12-18 14:00:18 +01:00
Sebastiaan van Stijn
03cc482cf7 Merge pull request #51757 from AkihiroSuda/rootlesskit
Dockerfile: update RootlessKit to v2.3.6
2025-12-18 12:01:56 +01:00
Sebastiaan van Stijn
8c0e404f6f vendor: go.opentelemetry.io/contrib/* v0.63.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-18 11:27:21 +01:00
Akihiro Suda
c88c8a6547 Dockerfile: update RootlessKit to v2.3.6
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2025-12-18 11:03:52 +09:00
Akihiro Suda
307bcec726 vendor: github.com/rootless-containers/rootlesskit/v2 v2.3.6
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2025-12-18 11:03:18 +09:00
Sebastiaan van Stijn
5315260521 Merge pull request #51752 from thaJeztah/rm_unused_makevars
Makefile: remove unused or outdated make-vars
2025-12-17 21:36:58 +01:00
Sebastiaan van Stijn
c6d2d697eb docs: remove mention of DOCKER_CLIENTONLY
This variable is no longer used since 9e7651db4d

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-17 18:07:08 +01:00
Sebastiaan van Stijn
81c170a696 Makefile: remove DOCKER_BUILD_GOGC
This option was added in 9672afa339 in 2016,
at which time tweaking GOGC showed a significant difference when building
the binary (`1m14.221s` vs `0m49.929s`).

Testing this Today doesn't show a real difference;

With GOGC=1000:

    rm -rf bundles/
    time hack/make.sh binary
    real	0m15.303s
    user	0m26.285s
    sys	0m6.383s

    real	0m4.931s
    user	0m3.103s
    sys	0m1.670s

    real	0m5.693s
    user	0m3.827s
    sys	0m2.384s

Without GOGC set;

    real	0m5.012s
    user	0m3.689s
    sys	0m1.549s

    real	0m5.298s
    user	0m3.997s
    sys	0m1.695s

    real	0m4.899s
    user	0m3.579s
    sys	0m1.423s

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-17 18:02:37 +01:00
Sebastiaan van Stijn
d5c81b1c01 Makefile: remove unused DOCKER_BUILD_PKGS
This option was added in 0bff2515f7 to control
what packages were built for the deb and rpm packages.

This repository no longer builds the deb and rpm packages, and this variable
is no longer used, so we can remove it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-17 18:01:17 +01:00
Sebastiaan van Stijn
3a9a041092 Makefile: remove unused DOCKER_BUILD_OPTS
This option was added in e6d7df2e5d to allow
skipping copying the source code as part of `docker build` if a bind-mount
was used to improve the build performance.

This trick was replaced in 1c82d11908, which
now uses a separate target.

With the above, the `DOCKER_BUILD_OPTS` is no longer used, so we can remove it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-12-17 17:44:05 +01:00
Paweł Gronowski
9dd2936e04 validate/module-replace: Also allow changing ref of the api module
Remove the `replace` rule check as it's not needed because it will also
pass the second check.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:41:26 +01:00
Paweł Gronowski
05f9988fc8 hack/vendor/dropreplace: Make the auto-ref pick more reliable
dropreplace now accepts an optional argument that allows to manually
specify a git ref to use for the modules.

It's not required though and if not present it will default to a master
branch from the upstream (preferred) or origin remote.

This is much more reliable than "module@master" which for some reason
tends to not resolve to the actual latest commit on the master branch.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:40:38 +01:00
Paweł Gronowski
354abbcb92 hack/vendor: Allow to specify ref to dropreplace
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:40:38 +01:00
Paweł Gronowski
4b9e56156d Re-add replace rules
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:34:13 +01:00
Paweł Gronowski
97a43d8537 Merge pull request #51749 from vvoland/vendor-client
vendor: github.com/moby/moby/client v0.2.2-rc.1
docker-v29.2.0-rc.1
2025-12-17 15:31:15 +00:00
Sebastiaan van Stijn
32190e99a3 Merge pull request #51624 from AkihiroSuda/fix-51601
cdi: read XDG_CONFIG_HOME/cdi and XDG_RUNTIME_DIR/cdi for rootless
2025-12-17 16:27:13 +01:00
Paweł Gronowski
1acc9d3739 vendor: github.com/moby/moby/client v0.2.2-rc.1
full diff: https://github.com/moby/moby/client/compare/b59b571efe73...api/v0.2.2-rc.1

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:21:11 +01:00
Paweł Gronowski
14747f2eaa Merge pull request #51748 from vvoland/vendor-api
vendor: github.com/moby/moby/api v1.53.0-rc.1
client/v0.2.2-rc.1
2025-12-17 15:12:49 +00:00
Paweł Gronowski
3cee1aad22 vendor: github.com/moby/moby/api v1.53.0-rc.1
full diff: https://github.com/moby/moby/api/compare/8b3dd2d280d7...v1.53.0-rc.1

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-12-17 16:05:16 +01:00
Paweł Gronowski
091494cc43 Merge pull request #51738 from vvoland/drop-replace
Drop replace rules
api/v1.53.0-rc.1
2025-12-17 14:58:41 +00:00