arrstack,fafflix,cheeztv: provision shared mediastore CephFS volume #428
Reference in New Issue
Block a user
Delete Branch "benvin/mediastore-provision"
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?
Why
The media estate is currently split across two 1Ti CephFS subvolumes (
media-tvand
media-movies), so a download that lands in one and imports to the other isa cross-filesystem copy, not a hardlink move. A single 10Ti
mediastoresubvolume (already created on
cephfs_csi_ssd_ec_4_1) collapses that: onefilesystem holding
/{fafflix,cheeztv}/{tvseries,movies}plus/nzbget/downloads/complete, so every arr import is an atomic same-fs hardlink.This PR only provisions the volume and seeds its tree. No existing PV, PVC or
workload is touched, and nothing mounts the new claims yet — the cutover of the
arrs and the two jellyfins is a separate change.
How
arrstack-mediastore,fafflix-mediastoreandcheeztv-mediastore, all pointing at the same rootPath(
/volumes/csi_ssd_ec_4_1/mediastore/a0152dac-…) with unique names andvolumeHandles pinned by
claimRef— the established pattern for the sharedmedia subvolumes.
mediastorein arrstack,fafflix-mediastore,cheeztv-mediastore), annotatedk8up.io/backup: "false"and statically bound viavolumeName+storageClassName: "".mediastore-bootstrap, a one-shot ArgoCD Sync-hook Job(
hook-delete-policy: BeforeHookCreation, no sync-wave needed) that mountsthe arrstack claim and
mkdir -ps the directory tree as uid/gid 1000 —the uid the arrstack media pods run as. Idempotent, so it self-heals on
every sync.
Validation
kustomize buildclean onapps/overlays/au-syd1/{arrstack,fafflix,cheeztv}kubeconformclean on all three overlays (91 / 29 / 32 resources valid)Adds the static PV/PVC trio for the new 10Ti "mediastore" CephFS subvolume plus a bootstrap Job that seeds its directory tree. Purely additive: the existing media-tv/media-movies volumes are untouched. - add static PVs arrstack-mediastore, fafflix-mediastore, cheeztv-mediastore all pinned to the same rootPath on cephfs_csi_ssd_ec_4_1 - add the matching RWX 10Ti PVCs, k8up-excluded, statically bound by volumeName + storageClassName "" - add mediastore-bootstrap, an ArgoCD Sync-hook Job that mkdir -p's /{fafflix,cheeztv}/{tvseries,movies} and /nzbget/downloads/complete as uid/gid 1000 - wire the new manifests into the arrstack, fafflix and cheeztv bases