9db52c5e26
## Why Rebuild the ADULT arr tier on the same shared-Postgres, active-active pattern the kids tier now uses, replacing the legacy adult sonarr/radarr/nzbget. The old adult apps hold **no data**, so the wipe is sanctioned. **Stacked on** `benvin/arrstack-kids` (#412) — review/merge that first. ## How - **Add** `sonarr-adult` / `radarr-adult` / `nzbget-adult` (copies of the `*-kids` dirs, `s/kids/adult`): - own DBs `sonarr-adult-main` / `radarr-adult-main`, Vault paths `.../default/{sonarr,radarr}-adult(+-db)` - S3 prefixes `sonarr-adult` / `radarr-adult`; UrlBase + probe + exportarr URLs `/3aa168/{sonarr,radarr}` (adult hash) - media subPaths `tvshows/adult` + `movies/adult`; nzbget config PVC on `cephrbd-fast-delete` - **postgres**: add managed roles `sonarr-adult`/`radarr-adult`, Database CRDs `{sonarr,radarr}-adult-main`, VaultStaticSecrets `{sonarr,radarr}-adult-db` - **Remove** legacy `sonarr`/`radarr`/`nzbget` dirs (incl. their gateway/httproute), managed roles `sonarr`/`radarr`, databases `{sonarr,radarr}-main`, VSS `{sonarr,radarr}-db`, and all kustomization entries - Third-party images stay canonical upstream; in-house images stay explicit `docker-internal` `prowlarr`, `arrproxy`, and everything else untouched. arrproxy path re-wiring is a later PR. Verified: `kustomize build` + `kubeconform` (87/87 valid), no dangling refs to removed apps, no `3df803` in adult files. Reviewed-on: #414 Co-authored-by: unkin-agent <unkin-agent@unkin.net> Co-committed-by: unkin-agent <unkin-agent@unkin.net>
95 lines
2.4 KiB
YAML
95 lines
2.4 KiB
YAML
---
|
|
# Per-app Postgres role credentials. Each is seeded out-of-band at
|
|
# kv/kubernetes/namespace/arrstack/default/<app>-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 <app>-db Secret, which is both the CNPG managed role's
|
|
# passwordSecret (cnpg_cluster.yaml) and the source of the app Deployment's
|
|
# <App>__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: 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
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: sonarr-kids-db
|
|
namespace: arrstack
|
|
spec:
|
|
destination:
|
|
create: true
|
|
name: sonarr-kids-db
|
|
overwrite: true
|
|
hmacSecretData: true
|
|
mount: kv
|
|
path: kubernetes/namespace/arrstack/default/sonarr-kids-db
|
|
refreshAfter: 5m
|
|
type: kv-v2
|
|
vaultAuthRef: default
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: radarr-kids-db
|
|
namespace: arrstack
|
|
spec:
|
|
destination:
|
|
create: true
|
|
name: radarr-kids-db
|
|
overwrite: true
|
|
hmacSecretData: true
|
|
mount: kv
|
|
path: kubernetes/namespace/arrstack/default/radarr-kids-db
|
|
refreshAfter: 5m
|
|
type: kv-v2
|
|
vaultAuthRef: default
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: sonarr-adult-db
|
|
namespace: arrstack
|
|
spec:
|
|
destination:
|
|
create: true
|
|
name: sonarr-adult-db
|
|
overwrite: true
|
|
hmacSecretData: true
|
|
mount: kv
|
|
path: kubernetes/namespace/arrstack/default/sonarr-adult-db
|
|
refreshAfter: 5m
|
|
type: kv-v2
|
|
vaultAuthRef: default
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: radarr-adult-db
|
|
namespace: arrstack
|
|
spec:
|
|
destination:
|
|
create: true
|
|
name: radarr-adult-db
|
|
overwrite: true
|
|
hmacSecretData: true
|
|
mount: kv
|
|
path: kubernetes/namespace/arrstack/default/radarr-adult-db
|
|
refreshAfter: 5m
|
|
type: kv-v2
|
|
vaultAuthRef: default
|