0eddf060c2
Split the arrstack media pipeline into an adult and a kids tier so kids content lives in its own libraries, databases, and downloader while reusing the shared prowlarr, CNPG cluster, Valkey, media PVCs, and S3 buckets. Backend workloads only — no routing/ingress or arrproxy changes in this PR; the adult instances are untouched. - sonarr-kids/radarr-kids: mirror the adult -unkin fork Deployments (same images/tags, 3 active-active replicas), pointed at their own Postgres DBs (sonarr-kids-main/radarr-kids-main), UrlBase /3df803/sonarr and /3df803/radarr, and kids MediaCover/Backup S3 prefixes; media mounts use the tvshows/kids and movies/kids subPaths of the shared media-tv/media-movies PVCs. - nzbget-kids: second downloader on its own RWO config PVC, writing completed downloads into the kids media subtrees for same-filesystem hardlink imports. - postgres: two managed roles + Database CRDs (sonarr-kids/radarr-kids) and their VSO-synced <app>-kids-db credential secrets. - per-app VMPodScrape for each kids exportarr sidecar; register the three new apps in the base kustomization.
95 lines
2.3 KiB
YAML
95 lines
2.3 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: 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
|
|
---
|
|
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
|