Use enrolled OpenBao for Anima PAT issuance and delivery #783

Merged
toasterson merged 2 commits from codex/openbao-anima-pat-20261006 into main 2026-10-06 21:51:54 +00:00
Owner

The Anima PAT helper previously depended on OS Keychain storage, which prevented enrolled operator sessions from restoring MCP access through the existing OpenBao identity. This replaces that path with supported Anima Login/IssuePat/Logout calls, CAS-protected OpenBao storage, encrypted recovery after ambiguous issuance, and a private consumer environment. The compatibility launcher always selects the dedicated enrolled writer; there is no Keychain or other-identity fallback.

This is a local operator CLI, not a cluster service. Installation and the live October4 issuance/read receipts are documented. No new token or privilege grant is needed for this change; old server PATs are explicitly not reported as revoked.

Validation:17 focused Python tests pass, including actual age encryption, concurrent-process lock exclusion, uncertain issuance, CAS conflict/readback, and credential-output boundaries. Shell syntax and git diff whitespace checks pass. The suite is added to the shared Solstice job. Fresh native review/CI remain required.

Anima local work:01a112b3-1abf-7152-9c94-7d76b6949e54.

The Anima PAT helper previously depended on OS Keychain storage, which prevented enrolled operator sessions from restoring MCP access through the existing OpenBao identity. This replaces that path with supported Anima Login/IssuePat/Logout calls, CAS-protected OpenBao storage, encrypted recovery after ambiguous issuance, and a private consumer environment. The compatibility launcher always selects the dedicated enrolled writer; there is no Keychain or other-identity fallback. This is a local operator CLI, not a cluster service. Installation and the live October4 issuance/read receipts are documented. No new token or privilege grant is needed for this change; old server PATs are explicitly not reported as revoked. Validation:17 focused Python tests pass, including actual age encryption, concurrent-process lock exclusion, uncertain issuance, CAS conflict/readback, and credential-output boundaries. Shell syntax and git diff whitespace checks pass. The suite is added to the shared Solstice job. Fresh native review/CI remain required. Anima local work:01a112b3-1abf-7152-9c94-7d76b6949e54.
Replace Anima PAT Keychain storage with enrolled OpenBao helper
Some checks failed
CI / test (push) Has been cancelled
CI / conflict-check (push) Has been cancelled
cd8bebecd1
fix(auth): require an expected owner and reject deleted Vault destinations
Some checks failed
Solstice / reviewed-head repository CI Repository CI passed on reviewed head; request ef884ce5-0675-45df-bdce-ccd1ce7832ac
CI / test (push) Successful in 1h31m0s
CI / conflict-check (push) Failing after 3h16m51s
4980013457
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/Anima!783
No description provided.