0cd5446d6b
Rebuild the adult media instance as 'fafflix' following the same HA pattern
as the kids instance (cheeztv): Postgres-backed jellyfin-ha fork, Valkey
transcode-lease store, shared-RWX transcode, CNPG + k8up/restic backups,
static CephFS media PVs.
- Add apps/base/fafflix (namespace/labels/secrets/buckets/Vault path fafflix-*)
- fafflix mounts the shared movies/tv subvolumes' adult subtree at
/media/{movies,tv} plus the kids subtree at /media/{movies,tv}-kids so it can
resume kids content started on cheeztv; new unique static PV volumeHandles
- Keep serving the legacy hostname jellyfin.k8s.syd1.au.unkin.net (fafflix-tls);
dedicated fafflix domain deferred, no new public host
- config PVC on cephfs-raid5-delete
- Remove apps/base/jellyfin + overlay; swap jellyfin->fafflix in the media
ApplicationSet glob and AppProject namespace destination
- No data currently on the adult instance, so the wipe/replace is sanctioned
25 lines
794 B
YAML
25 lines
794 B
YAML
---
|
|
# TV library, shared read-many across replicas. Statically bound to the
|
|
# fafflix-media-tv PV (shared CephFS subvolume also used by arrstack/sonarr).
|
|
# storageClassName "" + volumeName disables dynamic provisioning and binds the
|
|
# pre-created static PV.
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: fafflix-media-tv
|
|
namespace: fafflix
|
|
annotations:
|
|
# Exclude from the fafflix-config k8up Schedule (skipWithoutAnnotation is
|
|
# false cluster-wide, so unannotated PVCs are swept in). Only fafflix-config
|
|
# is backed up; the media library is not restic-backup material.
|
|
k8up.io/backup: "false"
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
resources:
|
|
requests:
|
|
storage: 1Ti
|
|
storageClassName: ""
|
|
volumeName: fafflix-media-tv
|
|
volumeMode: Filesystem
|