Provenance: Spec 0003 — External Secrets Operator
Spec: .sdd/specification/spec-0003-external-secrets-operator.md
Executed: 2026-03-05
Agent: Claude (claude-sonnet-4-6), Claude Code CLI
Actions Taken
Section titled “Actions Taken”- Checked out branch
claude/external-secrets-operator-v1Zqg(already existed) - Checked ArtifactHub (
https://artifacthub.io/packages/helm/external-secrets-operator/external-secrets) for current ESO chart version — confirmed latest stable is 2.0.1 (2.x series) - Created
.sdd/specification/spec-0003-external-secrets-operator.md— saved full spec verbatim - Created
k8s/external-secrets/namespace.yaml - Created
k8s/external-secrets/helmrepository.yaml - Created
k8s/external-secrets/helmrelease.yaml— with semver range adjusted to>=2.0.0 <3.0.0(see Decisions Made) - Created
k8s/external-secrets/clustersecretstore.yaml - Created
k8s/flux-system/external-secrets-sync.yaml - Modified
k8s/flux-system/kustomization.yaml— addedexternal-secrets-sync.yamlto resources list - Created
.sdd/provenance/spec-0003-external-secrets-operator.provenance.md(this file) - Committed all changes and pushed to
claude/external-secrets-operator-v1Zqg
Decisions Made
Section titled “Decisions Made”| Decision | Options Considered | Chosen | Rationale |
|---|---|---|---|
| HelmRelease chart version semver range | ">=0.15.0 <1.0.0" (spec default), ">=2.0.0 <3.0.0" (spec alternative) | ">=2.0.0 <3.0.0" | ArtifactHub confirmed latest stable ESO chart is 2.0.1 (2.x series). The spec explicitly instructs to use >=2.0.0 <3.0.0 if the latest stable is 2.x. |
Deviations from Spec
Section titled “Deviations from Spec”No deviations from spec.
Artifacts Produced
Section titled “Artifacts Produced”| File | Status |
|---|---|
.sdd/specification/spec-0003-external-secrets-operator.md | Created |
k8s/external-secrets/namespace.yaml | Created |
k8s/external-secrets/helmrepository.yaml | Created |
k8s/external-secrets/helmrelease.yaml | Created |
k8s/external-secrets/clustersecretstore.yaml | Created |
k8s/flux-system/external-secrets-sync.yaml | Created |
k8s/flux-system/kustomization.yaml | Modified |
.sdd/provenance/spec-0003-external-secrets-operator.provenance.md | Created |
Validation Results
Section titled “Validation Results”- Spec saved to
.sdd/specification/spec-0003-external-secrets-operator.md— PASS k8s/external-secrets/exists with exactly 4 files — PASS (namespace.yaml,helmrepository.yaml,helmrelease.yaml,clustersecretstore.yaml)- HelmRepository points to
https://charts.external-secrets.io— PASS - HelmRelease has valid semver range,
crds: CreateReplace,installCRDs: true— PASS (>=2.0.0 <3.0.0, CreateReplace on both install and upgrade, installCRDs: true) - ClusterSecretStore uses
authType: ManagedIdentitywith correct vaultUrl — PASS (https://kv-kevinryan-io.vault.azure.net/) external-secrets-sync.yamlfollowskevinryan-io-sync.yamlpattern — PASS (same structure: path./k8s/external-secrets, sourceRef toflux-systemGitRepository, 10m interval, prune: true)kustomization.yamlincludesexternal-secrets-sync.yaml— PASS- No Terraform files modified — PASS
pnpm lintpasses — Not run (no site code changed; lint only applies to Next.js sites)- Provenance record exists with all required sections — PASS (this file)
- All files committed together — PASS