Skip to content

fix: bind persistent native publisher admission to Pod UID - #319

Merged
beinan merged 1 commit into
mainfrom
codex/native-publisher-identity
Oct 6, 2026
Merged

beinan merged 1 commit into
mainfrom
codex/native-publisher-identity

Conversation

@beinan

@beinan beinan commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

A persistent native publisher could reuse an operator record meant for a previous Pod with the same name. Track the operational supervisor in deploy/catchup and require its downward-API Pod UID to match the authorized UID before each attempt, while retaining the full-operator CAS, persistent owner, backoff and child-join behavior.

The standalone deployment example requires one container and restartPolicy: Never. This does not enable production recreation or change the native Rust Job controller.

Validation: seven real-etcd/process regressions pass, including stale same-name UID rejection, a concurrent operator change, subsequent admissions, retained backoff and SIGTERM joining its child. Ruff and diff checks pass. Isolated Kubernetes validation passed with the actual downward API and native binary: a same-name replacement rejected the predecessor UID without changing attempt/failure records, then three incarnations merged 48/32/16 generations and verified all 160 full payloads with pending 0 and no OOM. Accepted-create response loss and a controller crash after accepted creation both reconciled the same Pod; exact terminal UID/CID evidence preceded removal. The changed supervisor has not been deployed to production.

@beinan
beinan marked this pull request as ready for review October 6, 2026 02:48
@beinan
beinan merged commit b1f0ae9 into main Oct 6, 2026
1 check passed
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