Repository navigation
Secrets broker: encrypted secrets, admin policy, audit - #6
Merged
Merged
Conversation
- Secrets encrypted with AES-256-GCM under a key file only the controller reads; each ciphertext is bound to its secret's name - A request is granted only if the worker holds the job, the job token is the current attempt's, the job lists the secret, and the admin's policy allows the run: repositories, pools, refs, and pull requests (off by default) - Every request is recorded, granted or not; without an audit record the secret isn't handed out - controller secret set (value from stdin), list, delete, access - Tests: granted and masked end to end, each policy denial, and attempts around the checks (unlisted secret, wrong token, another worker's job); each check verified by removing it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
KristiforMilchev
added a commit
that referenced
this pull request
Nov 3, 2026
…tains #6) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
secrets:in pipelines now deliver values, under the admin's control. Part of milestone M1.How a job gets a secret. All four checks must pass; any failure is a denial with a reason:
secrets:, and the runner only asks for the secrets a step names.Storage
Audit: every request is recorded, granted or denied. If the record can't be written, the secret isn't handed out.
CLI
controller secret set NAME -repo 'acme/*' -pool trusted [-ref refs/heads/main] [-allow-pull-requests]reads the value from stdin, never from the command line.controller secret listshows policies, never values.controller secret deleteremoves a secret.controller secret access NAMEshows the audit trail.Tests
***in the stored log.secret set→ run → log showsdeploying with ***→secret accessshows one granted request, and the raw value is in none of the stored log files.🤖 Generated with Claude Code