Skip to content

feat(secrets): create user-declared k8s Secrets from spec env/file sources#754

Merged
prathamesh0 merged 2 commits into
mainfrom
user-secrets-from-spec-sources
May 22, 2026
Merged

feat(secrets): create user-declared k8s Secrets from spec env/file sources#754
prathamesh0 merged 2 commits into
mainfrom
user-secrets-from-spec-sources

Conversation

@prathamesh0

Copy link
Copy Markdown
Collaborator
  • Extends spec.secrets to accept a keyed-dict form where each entry declares an env or file source; SO resolves and creates one Opaque k8s Secret per entry at deploy start
  • Legacy list form (operator-managed, reference-only) is preserved unchanged
  • Unit tests cover env/file happy paths, missing-source errors, legacy list skip, and 409 idempotency

prathamesh0 and others added 2 commits May 21, 2026 10:33
…ources

Six stdlib unittest cases that verify the upcoming _create_user_secrets
method on K8sDeployer. Covers: env-source happy path, file-source happy
path, missing env error message, missing file error message, legacy
list-form skipped (no creation), 409 -> replace idempotency.

Tests fail with AttributeError until Task 2 lands the method.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Extends the spec.secrets block to accept a keyed-dict form where each
key declares an env-var or file source. SO resolves the values at
deploy_start (inside up(), after _setup_cluster, before pod/job
creation) and creates one Opaque k8s Secret per spec entry in the
stack's own namespace.

The legacy list form is preserved unchanged: reference-only,
optional=True, operator-managed.

Source design: docs/superpowers/specs/2026-05-21-laconic-so-user-secrets-design.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@prathamesh0 prathamesh0 merged commit ccbfde0 into main May 22, 2026
7 checks passed
@prathamesh0 prathamesh0 deleted the user-secrets-from-spec-sources branch May 22, 2026 08:56
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