T5: Vault per-app identity groups + policies #19
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/iac!19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "t5-vault-app-identity"
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?
Closes #6 (T5)
What
The
app_secretsmodule now maps catalog capability groups to Vault identitygroups, aliases, and per-app policies per ADR-0007:
class:
generated-secret-manager→generated/<app>,manual-secret-manager→manual/<app>. Root (derived, ADR-0006) gets bothclasses via a
bothtemplate branch.(
oidc+oidc-cli), each carrying its policy. The per-mount duplication isrequired: a Vault external group holds a single alias, so the two mounts
cannot share one group (see the warning block in
vault/main.tf).(
group-<app>_<capability>@auth.animeteamspeak.moe), matching what thegroupsclaim emits.generated/<app>andmanual/<app>class paths under theshared
secret/mount (path creation only, no values — ADR-0002).Verification
task validate— all four roots (forgejo, k8s, kanidm, vault) pass.tofu planagainst live Vault (AppRole runner creds fromvault-config-varson mini, state seeded fromtfstate-default-vault-config): 34 to add, 0 to change, 0 to destroy —no drift on the existing 12 managed resources.
Plan shape: 6 policies, 12 identity groups, 12 aliases, 4 KV v2 paths
(2 apps × generated/manual; root produces no path — it is a derived group).
Not applied — tofu-controller picks it up from this repo on merge.