Commit Graph

16959 Commits

Author SHA1 Message Date
Paco Xu
21efcf19a4 update runc to v1.5.1
release notes: https://github.com/opencontainers/runc/releases/tag/v1.5.1

Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2026-07-14 10:39:56 +08:00
Maksym Pavlenko
ba015360dd Merge pull request #13757 from chrishenzie/fix-go-fuzz-flake
ci: bound Go fuzzing by execution count
2026-07-12 21:16:21 +00:00
Maksym Pavlenko
71b2388e4c Merge pull request #13504 from a7i/fix-cri-introspect-non-runc-features
fix(cri): introspect OCI runtime features for non-runc runtimes
2026-07-12 21:16:00 +00:00
Maksym Pavlenko
54f83847cb Merge pull request #13768 from containerd/dependabot/go_modules/github.com/klauspost/compress-1.19.0
build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.19.0
2026-07-12 21:15:19 +00:00
Maksym Pavlenko
567f197994 Merge pull request #13766 from containerd/dependabot/go_modules/golang-x-c40dbcb055
build(deps): bump the golang-x group across 1 directory with 2 updates
2026-07-12 21:15:00 +00:00
Maksym Pavlenko
40d1168ab8 Merge pull request #13767 from containerd/dependabot/go_modules/google.golang.org/grpc-1.82.0
build(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.0
2026-07-12 21:14:24 +00:00
dependabot[bot]
d5657dbf64 build(deps): bump the golang-x group across 1 directory with 2 updates
Bumps the golang-x group with 2 updates in the / directory: [golang.org/x/sync](https://github.com/golang/sync) and [golang.org/x/sys](https://github.com/golang/sys).


Updates `golang.org/x/sync` from 0.21.0 to 0.22.0
- [Commits](https://github.com/golang/sync/compare/v0.21.0...v0.22.0)

Updates `golang.org/x/sys` from 0.46.0 to 0.47.0
- [Commits](https://github.com/golang/sys/compare/v0.46.0...v0.47.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-version: 0.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-x
- dependency-name: golang.org/x/sys
  dependency-version: 0.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-x
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-12 15:18:15 +00:00
dependabot[bot]
bfae6f3513 build(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.81.1 to 1.82.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.1...v1.82.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.82.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-12 15:18:05 +00:00
Fu Wei
757416ca74 Merge pull request #13740 from liggitt/main
build(deps): bump github.com/containerd/ttrpc to v1.2.9
2026-07-12 14:43:10 +00:00
dependabot[bot]
61a70e7ef2 build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.19.0
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.18.6 to 1.19.0.
- [Release notes](https://github.com/klauspost/compress/releases)
- [Commits](https://github.com/klauspost/compress/compare/v1.18.6...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 23:23:43 +00:00
Chris Henzie
c1b9b78f47 ci: bound Go fuzzing by execution count
Go can report context deadline exceeded when a duration-based fuzz limit
expires (https://go.dev/issue/75804).

Use a 50,000-execution limit based on the roughly 47,000 executions
FuzzImageStore completed in 30 seconds in CI. This keeps work stable
across runners and avoids the duration issue.

Assisted-by: Codex
Signed-off-by: Chris Henzie <chrishenzie@gmail.com>
2026-07-09 16:45:11 -07:00
Maksym Pavlenko
af34190eb2 Merge pull request #13728 from AkihiroSuda/lima
CI: migrate Vagrant to Lima
2026-07-09 02:54:48 +00:00
Maksym Pavlenko
20f86be5d8 Merge pull request #13739 from fuweid/update-release-md
RELEASES.md: mark 2.1 EOL and update latest 1.7/2.0/2.1/2.2/2.3 tags
2026-07-09 01:42:42 +00:00
Jordan Liggitt
658a1c78b5 build(deps): bump github.com/containerd/ttrpc to v1.2.9
Signed-off-by: Jordan Liggitt <liggitt@google.com>
2026-07-08 16:01:04 -04:00
Wei Fu
617944babe RELEASES.md: mark 2.1 EOL and update latest 1.7/2.0/2.1/2.2/2.3 tags
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2026-07-08 15:11:18 -04:00
Fu Wei
52f81245d3 Merge pull request #13547 from cshung/resolve-403-error-body
remotes: surface OCI error body in registry 4xx responses
2026-07-08 16:04:24 +00:00
Akihiro Suda
a42b09aaa6 CI: migrate Vagrant to Lima
Vagrant is no longer well maintained: e.g., its apt repository does not
provide packages for Ubuntu 26.04 (hashicorp/vagrant#13811), and recent
Fedora boxes are no longer published to HashiCorp's registry, so the CI
had to download the box file manually from Fedora mirrors.

The test scripts in the Vagrantfile were split out to script/vm/*.sh .
The scripts depend on neither Vagrant nor Lima, and can be used with
other VM environments too.

Assisted-by: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2026-07-08 21:09:27 +09:00
Samuel Karp
cb66686cbb Merge pull request #13664 from samuelkarp/criu-check-fail-fast
Disable checkpoint restore codepath when CRIU is not installed
2026-07-08 06:10:01 +00:00
Samuel Karp
7cf8e7f6a1 Merge pull request #13725 from chrishenzie/go1.26.5
Update go to 1.26.5
2026-07-07 23:45:58 +00:00
Chris Henzie
2b017f12b5 Update go to 1.26.5
Includes security fixes to the crypto/tls and os packages.

Assisted-by: Antigravity
Signed-off-by: Chris Henzie <chrishenzie@gmail.com>
2026-07-07 14:34:38 -07:00
cshung
5c66703ee3 remotes: surface OCI error body on HEAD 403 via GET fallback
When a registry returns 403 Forbidden on a HEAD request (e.g., manifest
resolve or push existence check), the diagnostic error body is lost
because HEAD responses carry no body per HTTP spec. This leaves users
with an opaque "403 Forbidden" message and no actionable guidance.

Add a follow-up GET on HEAD 403 to retrieve the registry's OCI error
body. The existing unexpectedResponseErr machinery already parses the
body into structured errors — it just needs the body to be present. The
fallback lives in a shared withGETErrorBody helper used by both the
pusher and resolver: it only enriches when the GET also returns 403, and
preserves the original HEAD request's method and status while borrowing
just the body, so the resulting error's status and body stay consistent.

Scoped to 403 only because it is rare (CMK key disabled, IP firewall,
RBAC misconfiguration) and its body is highly diagnostic, while other
status codes either already use GET or have bodies that add no value.

Fixes #8969

Signed-off-by: Andrew Au <cshung@gmail.com>
2026-07-07 21:19:39 +00:00
Fu Wei
bed403afcc Merge pull request #13642 from xuxiaowei-com-cn/feat/add-loong64-support
feat: add loong64 (LoongArch) build support
2026-07-07 15:15:50 +00:00
徐晓伟
48c841fe2d feat: add loong64 (LoongArch) build support
Add loong64 (LoongArch) architecture support to the build system and CI:

- Makefile.linux: add loong64 to architectures that don't use -buildmode=pie
  (consistent with other non-amd64 architectures like mips, ppc64)
- ci.yml: add linux/loong64 to crossbuild matrix with CGO_ENABLED=0
- RELEASES.md: add linux/loong64 as Tier 3 (Build-verified) platform

The linux/loong64 release build and nightly build entries are intentionally
excluded — the cross-compilation toolchain is not yet available in Ubuntu 22.04
apt repositories (no crossbuild-essential-loong64 package). The crossbuild CI
check uses CGO_ENABLED=0. Nightly and release builds will be re-enabled once
the upstream tonistiigi/xx base image provides the loong64 cross-compilation
toolchain.

Go has supported GOARCH=loong64 as a first-class port since Go 1.21.
The seccomp default profile already includes loong64 support (contrib/seccomp).

Tracked by: https://github.com/containerd/containerd/issues/13641

Signed-off-by: 徐晓伟 <xuxiaowei@xuxiaowei.com.cn>
2026-07-07 01:43:14 +08:00
Samuel Karp
5708e836c1 Merge pull request #13704 from henry118/whiteout-img
Add dockerfile for the whiteout-test test image
2026-07-06 17:26:41 +00:00
Phil Estes
072dbf625f Merge pull request #13687 from containerd/dependabot/github_actions/actions/cache-6.1.0
build(deps): bump actions/cache from 5.0.5 to 6.1.0
2026-07-06 14:47:39 +00:00
Maksym Pavlenko
2cb1afbe18 Merge pull request #13721 from fuweid/disable-bbolt-stat-api
*: disable bbolt stat usage
2026-07-05 19:33:46 +00:00
Fu Wei
75b4d06ff9 Merge pull request #13672 from containerd/dependabot/go_modules/github.com/pelletier/go-toml/v2-2.4.2
build(deps): bump github.com/pelletier/go-toml/v2 from 2.4.1 to 2.4.2
2026-07-04 20:44:29 +00:00
Wei Fu
0b7466980e *: disable bbolt stat usage
Disable stat usage since we never consume the data.
This can reduce unnecessary contention during transactions.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2026-07-04 12:08:50 -04:00
Fu Wei
9912b963bc Merge pull request #13701 from thaJeztah/kernel_ver_cleans
pkg/kernelversion: fix linting and sync with upstream
2026-07-03 21:25:37 +00:00
Akihiro Suda
d3b025b7e7 Merge pull request #13716 from mxpv/stale
Update stale PR policy
2026-07-03 20:40:44 +00:00
Maksym Pavlenko
4f9bae6776 Update stale PR policy
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-07-02 15:44:54 -07:00
dependabot[bot]
ee7e56cac7 build(deps): bump actions/cache from 5.0.5 to 6.1.0
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](27d5ce7f10...55cc834586)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 13:27:21 -04:00
Henry Wang
cb3c0f0665 Add dockerfile for the whiteout-test test image
Signed-off-by: Henry Wang <henry118@gmail.com>
2026-07-02 17:20:54 +00:00
Sebastiaan van Stijn
296f917d5d pkg/kernelversion: update links to upstream source
The package was moved to a separate module; update the links to
make it easier to discover the current version of upstream.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-07-02 17:11:44 +02:00
Sebastiaan van Stijn
c45f911980 pkg/kernelversion: simplify code with sync.OnceValues
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-07-02 17:11:44 +02:00
Sebastiaan van Stijn
5e3e05aec7 pkg/kernelversion: fix minor linting issues
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-07-02 17:11:44 +02:00
Sebastiaan van Stijn
762b89ceeb pkg/kernelversion: use unix.ByteSliceToString for utsname fields
similar to [moby@8a5c131]

[moby@8a5c131]: 8a5c13155e

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-07-02 17:11:42 +02:00
Akihiro Suda
90eeccdecf Merge pull request #13707 from samuelkarp/fix-vagrant-dependency-conflict
ci: pin fog-json to resolve gem conflict
2026-07-02 14:25:20 +00:00
Samuel Karp
84112c78c1 ci: pin fog-json to resolve gem conflict
Vagrant 2.4.x bundles an embedded Ruby 3.3.0 runtime that loads the
default specification json-2.7.2 during initialization. When installing
vagrant-libvirt, RubyGems resolves the newly released fog-json 1.4.0,
which requires json (~> 2.19). Because json-2.7.2 is already active in
memory when Vagrant starts up, RubyGems raises a Gem::ConflictError.

To avoid this conflict, pin fog-json to version 1.2.0 before installing
vagrant-libvirt. Since CI caches /root/.vagrant.d across runs, also
uninstall fog-json first to remove any conflicting version left in cache
by a previous job.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-07-01 23:19:06 -07:00
Maksym Pavlenko
f45f82d834 Merge pull request #13513 from ningmingxiao/fix_image_name
cri: auto-add prefix for pause image
2026-07-01 21:49:01 +00:00
Samuel Karp
2294496cdc Merge pull request #13597 from thaJeztah/harden_actions
gha: pin remaining actions and apply hardening from zizmor
2026-07-01 18:18:59 +00:00
Maksym Pavlenko
988f3af07e Merge pull request #13699 from ktock/parentpath
shim: allow specifying runc's --parent-path during checkpointing
2026-07-01 05:46:39 +00:00
Kohei Tokunaga
ea0ed51e21 shim: allow specifying runc's --parent-path during checkpointing
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2026-07-01 00:13:02 +00:00
Samuel Karp
81350a5d9a github/workflows: install criu in node-e2e
The Kubernetes E2E CI workflow was failing on tests requiring container
checkpointing because criu was not installed on the GitHub Actions
runner.

Add a step to install criu via ppa:criu/ppa before building and
installing containerd, matching the existing setup in ci.yml.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-06-30 12:47:52 -07:00
Samuel Karp
06495733b2 cri: add enable_criu configuration option
Add a new `enable_criu` configuration option under CRI plugin runtime
settings. When set to false, any checkpoint or restore request will fail
fast with an error indicating that CRIU support is disabled by
configuration. `enable_criu` currently defaults to true.

Add an integration test script to verify that setting `enable_criu` to
false in containerd configuration successfully disables checkpoint and
restore operations and fails fast.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-06-30 12:47:48 -07:00
Samuel Karp
186397511b cri: validate CRIU availability and version early
Perform an early validation check on both container checkpoint and
restore paths to fail-fast if the CRIU binary is missing or is older
than the minimum required version (3.16.0).

To support runtime-configured environments, the validation respects the
custom PATH from the shim manager environment if configured, skipping
any relative paths to avoid incorrect daemon-relative resolution. If not
configured, it falls back to a standard system PATH lookup. The check
result is cached using sync.Once to prevent redundant process spawning.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-06-30 12:35:16 -07:00
Samuel Karp
0c226d2adb Merge pull request #13683 from chrishenzie/fix-nri-nil-sandbox
Fix nil pointer dereference in NRI GetIPs
2026-06-30 19:09:58 +00:00
Samuel Karp
288f0d99d6 Merge pull request #13667 from anmaxvl/windows-systemtemp-from-toml
Set SystemTemp env var to config temp on Windows
2026-06-30 19:00:41 +00:00
Chris Henzie
c2dae310af Fix nil pointer dereference in NRI GetIPs
Adds a nil guard to GetIPs on criPodSandbox before accessing promoted
struct fields on the embedded Sandbox pointer.

During pod sandbox teardown or race conditions during container exit
events, nriPodSandbox can return a criPodSandbox instance where the
embedded Sandbox pointer is nil.

Assisted-by: Antigravity
Signed-off-by: Chris Henzie <chrishenzie@gmail.com>
2026-06-30 11:13:17 -07:00
Maksym Pavlenko
837e6ca036 Merge pull request #13691 from thaJeztah/bump_runhcs
update runhcs to v0.15.0-rc.3
2026-06-30 17:05:47 +00:00