T11: dedicated KV v2 mount for app secrets (mount separation) #26
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/iac#26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #2
Goal
Give app secrets their own KV v2 mount instead of sharing the legacy
secret/mount with everything else. This is an architecture/isolation improvement — it is not required to unblock thevault-configapply (that was fixed by dropping thevault_kv_secret_v2.class_pathpre-create, which panicked the provider).Why a separate mount
generated/<app>,manual/<app>) — the classes become top-level paths on the app mount.Current coupling to
secret/(must all move in lockstep)vault/kv-schema.tf:vault_mount.secret(kv v2 atsecret/).vault/modules/app_secrets/policies/app-class.hcl.tftpl: hardcodessecret/data/...,secret/metadata/...,secret/delete/...,secret/destroy/...prefixes.vault-backend(flux-clusters, flux-system ns):spec.provider.vault.path: secret— 21 ExternalSecrets across 15 namespaces read through it (argo, media, frigate, paperless-ngx, monitoring, etc.).secret/data/...remotes.Open questions
app-secret/vsapps/vs keeping the class split (generated/,manual/as mounts)?secret/app classes — or keep both mounts during a transition window?vault-runner, wildcard) need tightening once mounts are isolated?Out of scope
vault_kv_secret_v2.class_pathfromvault/modules/app_secrets/main.tf— KV paths are created lazily on first write.