17099 Commits

Author SHA1 Message Date
Maksym Pavlenko
35f120ed0a Merge pull request #13886 from containerd/dependabot/github_actions/docker-actions-dee7dd5463
build(deps): bump docker/login-action from 4.4.0 to 4.6.0 in the docker-actions group across 1 directory
2026-08-08 19:59:46 +00:00
Maksym Pavlenko
c8bc0dd7c1 Merge pull request #13922 from containerd/dependabot/github_actions/codeql-actions-432e0d4de6
build(deps): bump the codeql-actions group with 3 updates
2026-08-08 19:59:19 +00:00
Maksym Pavlenko
306c511423 Merge pull request #13923 from containerd/dependabot/github_actions/actions/stale-11.0.0
build(deps): bump actions/stale from 10.4.0 to 11.0.0
2026-08-08 19:59:03 +00:00
dependabot[bot]
c013c7df4d build(deps): bump actions/stale from 10.4.0 to 11.0.0
Bumps [actions/stale](https://github.com/actions/stale) from 10.4.0 to 11.0.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](1e223db275...4391f3da66)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-07 23:26:53 +00:00
dependabot[bot]
cd9113b9d5 build(deps): bump the codeql-actions group with 3 updates
Bumps the codeql-actions group with 3 updates: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e4fba868fa...f205ea1c33)

Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e4fba868fa...f205ea1c33)

Updates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e4fba868fa...f205ea1c33)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-07 23:26:33 +00:00
dependabot[bot]
3dd83f6774 build(deps): bump docker/login-action
Bumps the docker-actions group with 1 update in the / directory: [docker/login-action](https://github.com/docker/login-action).


Updates `docker/login-action` from 4.4.0 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](af1e73f918...dbcb813823)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: docker-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-07 23:23:11 +00:00
Samuel Karp
76bcc3f9a8 Merge pull request #13916 from klihub/devel/record-nri-deprecations
nri,deprecation: record and emit warnings for NRI deprecations.
2026-08-07 19:57:24 +00:00
Maksym Pavlenko
dff4280c54 Merge pull request #13912 from dmcgowan/fix-shim-delete-error
Add more context to the shim delete error
2026-08-07 17:33:18 +00:00
Krisztian Litkey
bf0111a9cc nri,deprecation: emit warnings for old NRI plugins.
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
2026-08-07 10:39:30 -05:00
Fu Wei
e125e77970 Merge pull request #13519 from tianon-sso/runtime-tools
Remove dependency on `github.com/opencontainers/runtime-tools`
2026-08-07 11:30:22 +00:00
Samuel Karp
dd67b6b189 Merge pull request #13162 from HirazawaUi/implement-UserNamespacesHostNetwork
Set the default of runtimeFeatures.UserNamespacesHostNetwork to true
2026-08-07 07:19:56 +00:00
Derek McGowan
29058e6501 Add more context to the shim delete error
When a shim delete hits a timeout, currently the error message does not
indicate that the delete was killed rather than failed to complete.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2026-08-06 17:19:05 -07:00
HirazawaUi
a909c305c4 Set the default of runtimeFeatures.UserNamespacesHostNetwork to true
Signed-off-by: HirazawaUi <695097494plus@gmail.com>
2026-08-06 15:18:39 -05:00
Fu Wei
54a25ed633 Merge pull request #13907 from mxpv/erofs-docs
docs: update erofs docs
2026-08-06 14:03:16 +00:00
Maksym Pavlenko
0d21db6bf5 docs: reflow the erofs tar index mode section
Wrap the four long paragraphs at 80 columns to match the rest of the file.
No text changes.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-08-05 20:25:51 -07:00
Maksym Pavlenko
a23e4a127a docs: document the erofs layer content cache
Describe layer_content_caches: what it replaces (a mkfs.erofs run per layer
on every node), how a hit is served, how multiple directories are searched,
and how to build a cache with ctr images build-erofs-cache. Call out that the
cached blob is symlinked rather than copied, so entries have to outlive the
snapshots referencing them, and that fsverity and IMMUTABLE_FL can't be used
alongside a cache.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-08-05 20:25:51 -07:00
Tianon Gravi
e01c004cc6 Remove dependency on github.com/opencontainers/runtime-tools
The direct use was two lines in `internal/cri/nri/nri_api_linux.go` -- constructing a `generate.Generator{Config: spec}` solely to satisfy the `nrigen.UnderlyingGenerator` interface defined in `containerd/nri`. Since that interface already exists, we just need an implementation. Add `spec_generator.go` in the same package, implementing `UnderlyingGenerator` directly on `*rspec.Spec` with no external dependencies beyond `runtime-spec`.

Assisted-By: "claude my eyes right out"
Signed-off-by: Tianon Gravi <tianon.gravi@docker.com>
2026-08-05 16:58:50 -07:00
Derek McGowan
05c6d4a86b Merge pull request #13902 from mxpv/unpack-join-toperr
unpack: don't drop topHalf errors in parallel mode
2026-08-05 23:07:34 +00:00
Maksym Pavlenko
95f42a8f54 Merge pull request #13897 from dgrisonnet/worktree-fix-start-time-nanos
cri: fix container_start_time_seconds unit conversion
2026-08-05 19:21:11 +00:00
Maksym Pavlenko
468924e8cb Merge pull request #12698 from vvoland/pull-headers
remotes/docker: Propagate registry warnings to the resolver
2026-08-05 18:13:16 +00:00
Maksym Pavlenko
49854964b2 Merge pull request #13395 from kolyshkin/selinux-1.15.0
bump selinux to v1.15.1, use SetProcessKind
2026-08-05 18:09:56 +00:00
Maksym Pavlenko
a35da471f3 unpack: don't drop topHalf errors in parallel mode
When a layer fails to prepare during parallel unpack we break out of the
launch loop but never return the error, so unpack() can report success and
label the image with a chainID that was never created. Keep the error and
return it once the already queued layers have been drained, so those still
commit as they would in sequential mode. Also end the layer's tracing span,
which leaked on this path.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-08-05 09:43:56 -07:00
Maksym Pavlenko
c9caf7e8cf Merge pull request #13900 from mxpv/multi-cache
erofs: allow multiple cache directories
2026-08-05 16:37:26 +00:00
Derek McGowan
d6bdba3d1b Merge pull request #13906 from dmcgowan/update-api-v1.12-beta
Update api version to v1.12.0-beta.0
2026-08-05 16:06:32 +00:00
Maksym Pavlenko
e28f455903 Merge pull request #13885 from containerd/dependabot/github_actions/codeql-actions-6947902d1c
build(deps): bump the codeql-actions group with 3 updates
2026-08-05 02:47:00 +00:00
Derek McGowan
a272df5685 Update api version to v1.12.0-beta.0
Signed-off-by: Derek McGowan <derek@mcg.dev>
2026-08-04 19:43:54 -07:00
Derek McGowan
b10852853c Merge pull request #13899 from dmcgowan/prepare-api-1.12-beta
Prepare release notes for api/v1.12.0-beta.0
api/v1.12.0-beta.0
2026-08-05 01:30:29 +00:00
Damien Grisonnet
71bc89b288 cri: fix container_start_time_seconds unit conversion
The container_start_time_seconds metric was reporting nanoseconds
instead of Unix seconds. The CRI container status stores StartedAt
as nanoseconds (per the CRI API spec), but the metric name and help
text indicate seconds. Convert by dividing by time.Second.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2026-08-04 09:29:55 -05:00
Maksym Pavlenko
7df6bb0a67 erofs: allow multiple layer content cache directories
The layer content cache was a single directory, so every source of
pre-converted blobs had to be merged into one tree. A shared read-only fleet
cache, a host-local cache, and a per-image warm cache could not coexist.

Replace layer_content_cache with layer_content_caches, a list. Each directory
is checked in order and the first hit is staged into the snapshot; a layer
found in none of them falls back to the normal download-and-convert path.

Cache directories are no longer required to exist at startup. A missing one is
indistinguishable from an empty one at lookup time (both are simply a miss),
and it may well be mounted after the daemon starts, so the only check left is
that each path is absolute -- a relative one would be symlinked into the
snapshot dir and dangle.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-08-03 13:14:44 -07:00
Maksym Pavlenko
1a34bf320a Merge pull request #13826 from mxpv/cache-parallel
erofs: enable parallel unpack with content cache
2026-08-03 19:28:09 +00:00
Derek McGowan
0ff04dc3f7 Prepare release notes for api/v1.12.0-beta.0
Signed-off-by: Derek McGowan <derek@mcg.dev>
2026-08-03 11:52:08 -07:00
Mike Brown
8c8b4a8489 Merge pull request #13896 from dgrisonnet/fix-sandbox-metrics-return-nil
cri: skip failed container instead of dropping entire sandbox metrics
2026-08-03 16:28:01 +00:00
Damien Grisonnet
34524e8a68 cri: skip failed container instead of dropping entire sandbox metrics
When collectContainerMetrics fails for a single container, the
goroutine was returning nil which exited the loop entirely. The
sandbox metrics, including pod-level network metrics and any
successfully collected container metrics, were never appended to
the response.

Replace return nil with continue so that individual container
failures only skip that container.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2026-08-03 09:13:35 +02:00
Fu Wei
d46562dbc9 Merge pull request #13891 from cayoub-oai/ctr-erofs-fsview
ctr: register EROFS fsview
2026-08-02 12:21:21 +00:00
Chris Ayoub
0d37ad2683 ctr: register EROFS fsview
ctr resolves named users and groups for run and task exec in the
client process. Since EROFS fsview support moved behind registration,
the ctr application does not link the handler and falls back to a
temporary host mount.

Register the handler with the ctr application so EROFS snapshots can
be inspected directly. Non-EROFS mounts continue through the existing
handlers unchanged.

Signed-off-by: Chris Ayoub <cayoub@openai.com>
2026-08-01 22:01:17 +00:00
dependabot[bot]
406c8dc44a build(deps): bump the codeql-actions group with 3 updates
Bumps the codeql-actions group with 3 updates: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e0647621c2...e4fba868fa)

Updates `github/codeql-action/analyze` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e0647621c2...e4fba868fa)

Updates `github/codeql-action/upload-sarif` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e0647621c2...e4fba868fa)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-31 23:26:40 +00:00
Derek McGowan
4dd56e55b8 Merge pull request #13865 from dmcgowan/prepare-2.4-beta
Prepare release notes for v2.4.0-beta.0
2026-07-31 21:26:39 +00:00
Maksym Pavlenko
257a5900b0 core/unpack: detect staged layers via read-only mounts
Replace the snapshots.ErrAlreadyStaged sentinel error with a
read-only-mounts signal: a snapshotter (e.g. erofs serving a layer
content cache hit) now returns Prepare mounts normally, with no
error, when the layer content is already staged into the active
snapshot. The unpacker's isStaged helper checks the last mount's
ReadOnly() to decide whether to skip fetch+apply and just commit.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-07-31 09:18:16 -07:00
Maksym Pavlenko
1e001e6dfe erofs: make the layer content cache work with parallel unpack
The cache used to serve a hit by committing the layer during Prepare and
returning ErrAlreadyExists, which is incompatible with parallel unpacking:
the "rebase" capability defers the parent to Commit time, so a
commit-at-Prepare layer ends up parentless. The erofs snapshotter therefore
had to disable rebase whenever the cache was enabled, making every cache
*miss* fall back to a fully sequential (slower-than-cold) pull.

Introduce snapshots.ErrAlreadyStaged, returned from Prepare to mean "the
active snapshot's content is staged; skip the layer download and apply, but
still Commit it" (where the parent is applied). Unlike ErrAlreadyExists it
does not end the layer's lifecycle. The unpacker handles it by emitting a
status whose bottom half runs the normal serialized commit (rebasing the
parent in), and the metadata snapshotter threads it through Prepare like a
normal active snapshot. The erofs cache hit now stages the blob and returns
ErrAlreadyStaged instead of committing, so it can advertise "rebase"
unconditionally: hits skip download+conversion and misses stay parallel.

Also promote the "rebase" capability string to snapshots.RebaseCap (shared by
the unpacker, erofs, and overlay).

Follow up:  fetch is range-based, so only a fully cached contiguous
prefix skips downloads; a miss in a lower layer still pulls everything above
it. Per-layer fetch-skip is left as a follow-up.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2026-07-31 09:18:15 -07:00
Samuel Karp
56bc534e7e Merge pull request #13871 from samuelkarp/remove_deprecated_checkpoint_restore
cri: remove restore in CreateContainer
2026-07-31 15:50:29 +00:00
Fu Wei
2600710ddb Merge pull request #13735 from AkihiroSuda/whiteout-test
integration: build the whiteout-test image locally
2026-07-31 15:15:31 +00:00
Samuel Karp
e3692f42d2 Merge pull request #13873 from samuelkarp/vuln-reporting-guidelines
docs/security: update security report triage criteria
2026-07-30 23:56:21 +00:00
Fu Wei
9013f8cbae Merge pull request #13860 from dmcgowan/fix-erofs-mixed-merged
snapshots/erofs: keep lowers stacked above a merged fsmeta
2026-07-30 17:06:25 +00:00
Samuel Karp
fdf814c21a docs/security: update security report triage criteria
Add proof-of-concept (PoC) execution requirements against a running
daemon to the triage guide and threat model.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-07-29 21:35:42 -07:00
Samuel Karp
91be73ba62 cri: remove restore in CreateContainer
Remove support for restoring checkpoint data during CreateContainer,
which was previously deprecated in v2.3.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-07-29 09:32:24 -07:00
Maksym Pavlenko
288104923b Merge pull request #13862 from containerd/dependabot/go_modules/github.com/containerd/imgcrypt/v2-2.0.3
build(deps): bump github.com/containerd/imgcrypt/v2 from 2.0.2 to 2.0.3
2026-07-29 00:27:03 +00:00
Kir Kolyshkin
ba3a464b8d bump oc/selinux to v1.15.1, use SetProcessKind
Drop internal/cri/seutil/seutil.go in favor of direct call to newly
introduced selinux.SetProcessKind.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-07-28 16:23:54 -07:00
Kir Kolyshkin
4167499888 deps: bump oc/selinux to v1.14.1
Switch away from deprecated functionality.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-07-28 16:23:54 -07:00
Samuel Karp
3845698976 Merge pull request #13869 from samuelkarp/update_stale_workflow_labels
workflows/stale: exempt priority and status labels
2026-07-28 20:28:59 +00:00
Samuel Karp
565606decf workflows/stale: exempt priority and status labels
Exclude priority/*, status/accepted, status/needs-major-release, and
status/roadmapped labels from being marked as stale and closed.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-07-28 11:29:53 -07:00