Skip to content

fix(arc): give the node-cache init container the capabilities its mkdir needs - #93

Merged
Mearman merged 7 commits into
mainfrom
fix/arc-node-cache-init-capabilities
Oct 15, 2026
Merged

Mearman merged 7 commits into
mainfrom
fix/arc-node-cache-init-capabilities

Conversation

@Mearman

@Mearman Mearman commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

The node-cache init container hands the node directory to the runner user and then creates a subdirectory in it. Root with only CHOWN is an ordinary user of a directory it does not own, so mkdir was denied and the pod stopped in Init:Error, whether the directory was fresh or already the runner user's from an earlier pod or the pruner. The init container now adds DAC_OVERRIDE to CHOWN. The in-kind capabilities test runs a node-cache capability in real pods under a non-root pod securityContext, once on a directory already owned by the runner user with no subdirectory and once on a fresh one. Refs #90.

… a non-root pod context

The runner user writes to the node-cache directory the init container prepared, in a pod whose
securityContext is non-root, as a cluster may impose.
The command gives the node directory to the runner user and then creates a subdirectory in it.
Root with only CHOWN is an ordinary user of a directory it no longer owns, so mkdir was denied and
the pod stopped in Init:Error.
@Mearman
Mearman marked this pull request as ready for review October 15, 2026 06:35
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-15T06:41:43.362411Z c05d76c Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

… its capabilities

mkdir and chown need only CHOWN and DAC_OVERRIDE. The README and the docstring now give the
reason: the node directory is already the runner user's when an earlier pod or the pruner left it.
…single init container

The step ran without errexit in the seeded pod, so a wrong owner or an unwritable directory still
ended in the pod's success marker. Both steps now stop at the first failed assertion and print the
owners and modes they check.
@Mearman
Mearman merged commit 7f718fd into main Oct 15, 2026
34 checks passed
@Mearman
Mearman deleted the fix/arc-node-cache-init-capabilities branch October 15, 2026 08:37
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.31.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant