Skip to content

feat: support container-confinement service keys (read_only, init, privileged, cap_add, cap_drop, security_opt)#24

Merged
lesnik512 merged 5 commits into
mainfrom
feat/container-confinement-service-keys
Jul 9, 2026
Merged

feat: support container-confinement service keys (read_only, init, privileged, cap_add, cap_drop, security_opt)#24
lesnik512 merged 5 commits into
mainfrom
feat/container-confinement-service-keys

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Second Bucket A bundle. Adds six per-container container-confinement keys, each an invariant-preserving podman run flag with no change to the single-pod model.

  • read_only / init / privileged — booleans, emitted as the bare --read-only / --init / --privileged flag only when true (new _BOOL_FLAGS table).
  • cap_add / cap_drop / security_opt — lists, emitted as repeated --cap-add / --cap-drop / --security-opt (reuse the existing _LIST_FLAGS table; item contents pass through verbatim, ${VAR}-interpolated like group_add).

Also in this branch:

  • stop_signal / stop_grace_period reclassified out of Bucket A and wired into IGNORED_SERVICE_KEYS (accepted with a warning, not rejected) — they are inert because the generated script force-removes the pod (podman pod rm -f) and never gracefully stops a container.
  • test_unsupported_service_key_raises (and a sibling CLI test) retargeted from privileged (now supported) to network_mode (a permanent-reject key).

Design and rationale (single home, not restated here):

  • Change/design: planning/changes/2026-07-09.04-container-confinement-service-keys.md
  • Stop-key change: planning/changes/2026-07-09.05-ignore-stop-lifecycle-keys.md
  • Reclassification decision: planning/decisions/2026-07-09-stop-lifecycle-keys-inert.md

Behavior promoted into architecture/supported-subset.md in the same PR.

Tests: 163 passing at 100% line coverage; just lint-ci clean.

🤖 Generated with Claude Code

@lesnik512 lesnik512 merged commit b0fba53 into main Jul 9, 2026
6 checks passed
@lesnik512 lesnik512 deleted the feat/container-confinement-service-keys branch July 9, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant