--- # Per-app Postgres role credentials. Each is seeded out-of-band at # kv/kubernetes/namespace/arrstack/default/-db (keys: username, password); # the default k8s role's templated policy already grants read on # kv/data/kubernetes/namespace/{{sa_namespace}}/{{sa_name}}/* for the # arrstack/default ServiceAccount, so no terraform-vault change is needed. VSO # syncs each into the -db Secret, which is both the CNPG managed role's # passwordSecret (cnpg_cluster.yaml) and the source of the app Deployment's # __Postgres__User/__Password env. Wave 0: must exist before the Cluster # (wave 1) reconciles the roles. apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: sonarr-db namespace: arrstack spec: destination: create: true name: sonarr-db overwrite: true hmacSecretData: true mount: kv path: kubernetes/namespace/arrstack/default/sonarr-db refreshAfter: 5m type: kv-v2 vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: radarr-db namespace: arrstack spec: destination: create: true name: radarr-db overwrite: true hmacSecretData: true mount: kv path: kubernetes/namespace/arrstack/default/radarr-db refreshAfter: 5m type: kv-v2 vaultAuthRef: default --- apiVersion: secrets.hashicorp.com/v1beta1 kind: VaultStaticSecret metadata: name: prowlarr-db namespace: arrstack spec: destination: create: true name: prowlarr-db overwrite: true hmacSecretData: true mount: kv path: kubernetes/namespace/arrstack/default/prowlarr-db refreshAfter: 5m type: kv-v2 vaultAuthRef: default