Skip to content

feat: support core process/identity service keys (entrypoint, user, working_dir, group_add, labels)#23

Merged
lesnik512 merged 8 commits into
mainfrom
feat/core-process-identity-service-keys
Jul 9, 2026
Merged

feat: support core process/identity service keys (entrypoint, user, working_dir, group_add, labels)#23
lesnik512 merged 8 commits into
mainfrom
feat/core-process-identity-service-keys

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Adds five Bucket A per-container service keys to the supported subset, each emitted as a podman run flag with no change to the single-pod model.

  • entrypoint — list=exec, string=shell (/bin/sh -c, mirroring command); emitted as --entrypoint <first-token> with the remaining tokens prepended to the command position (no JSON). A string entrypoint follows Docker in ignoring the service command (with a validate() warning); the --command override still applies.
  • user / working_dir--user / --workdir
  • group_add → repeated --group-add
  • labels → repeated --label (list or map; null value = empty label, distinct from environment's host-passthrough)

Emission uses a declarative flag table (_SCALAR_FLAGS/_LIST_FLAGS) plus a shared _key_value_pairs helper reused by environment and labels; run_flags was refactored into focused helpers to stay under ruff's complexity gate. ${VAR} interpolation and the stderr referenced-variables note cover the new fields automatically.

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

  • Change/design: planning/changes/2026-07-09.03-core-process-identity-service-keys.md
  • Spec-coverage audit (Bucket A/B/C): planning/audits/2026-07-09-compose-spec-coverage.md
  • Reject/defer decision for network/namespace keys: planning/decisions/2026-07-09-reject-namespace-network-keys.md

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

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

🤖 Generated with Claude Code

lesnik512 added 8 commits July 9, 2026 09:17
run_flags exceeded ruff's complexity (C901) and branch-count (PLR0912)
thresholds after recent feature commits added per-service flag loops.
Extract the env, volume/tmpfs, and declarative-table (scalar/list/label)
emission into their own mutate-in-place helpers, mirroring the existing
_add_health_flags pattern. Emitted output and flag order are unchanged.
@lesnik512 lesnik512 merged commit 27ee492 into main Jul 9, 2026
6 checks passed
@lesnik512 lesnik512 deleted the feat/core-process-identity-service-keys branch July 9, 2026 09:22
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