diff --git a/cluster/apps/media/kustomization.yaml b/cluster/apps/media/kustomization.yaml index 7611d7078..c4ed55c42 100644 --- a/cluster/apps/media/kustomization.yaml +++ b/cluster/apps/media/kustomization.yaml @@ -14,6 +14,7 @@ resources: - pyload - qbittorrent - radarr + - sabnzbd - sonarr - tdarr - travelstories diff --git a/cluster/apps/media/sabnzbd/helm-release.yaml b/cluster/apps/media/sabnzbd/helm-release.yaml new file mode 100644 index 000000000..0ee17dbb7 --- /dev/null +++ b/cluster/apps/media/sabnzbd/helm-release.yaml @@ -0,0 +1,79 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: sabnzbd + namespace: media +spec: + interval: 5m + chart: + spec: + # renovate: registryUrl=https://k8s-at-home.com/charts/ + chart: sabnzbd + version: 7.0.1 + sourceRef: + kind: HelmRepository + name: k8s-at-home-charts + namespace: flux-system + interval: 5m + values: + image: + repository: ghcr.io/k8s-at-home/sabnzbd + tag: v3.2.1 + env: + TZ: "Europe/Paris" + ingress: + enabled: true + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/auth-url: "http://authelia.networking.svc.cluster.local/api/verify" + nginx.ingress.kubernetes.io/auth-signin: "https://login.${SECRET_CLUSTER_DOMAIN}/" + nginx.ingress.kubernetes.io/configuration-snippet: | + proxy_set_header Accept-Encoding ""; + sub_filter '' ''; + sub_filter_once on; + forecastle.stakater.com/expose: "true" + forecastle.stakater.com/appName: "SABnzbd" + forecastle.stakater.com/icon: "https://avatars.githubusercontent.com/u/16778130?v=4" + forecastle.stakater.com/network-restricted: "true" + hosts: + - host: "sabnzbd.${SECRET_CLUSTER_DOMAIN}" + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - "sabnzbd.${SECRET_CLUSTER_DOMAIN}" + additionalIngresses: + - enabled: true + nameSuffix: "api" + annotations: + kubernetes.io/ingress.class: "nginx" + hosts: + - host: "sabnzbd.${SECRET_CLUSTER_DOMAIN}" + paths: + - path: /api + pathType: Prefix + tls: + - hosts: + - "sabnzbd.${SECRET_CLUSTER_DOMAIN}" + persistence: + config: + enabled: true + existingClaim: sabnzbd-config + podSecurityContext: + supplementalGroups: + - 100 + additionalVolumeMounts: + - name: nfs-video-media + mountPath: /mnt/storage/video + additionalVolumes: + - name: nfs-video-media + persistentVolumeClaim: + claimName: nfs-video-media + resources: + requests: + memory: 250Mi + cpu: 500m + limits: + memory: 7500Mi diff --git a/cluster/apps/media/sabnzbd/kustomization.yaml b/cluster/apps/media/sabnzbd/kustomization.yaml new file mode 100644 index 000000000..21f1d9e05 --- /dev/null +++ b/cluster/apps/media/sabnzbd/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - helm-release.yaml + - volume.yaml diff --git a/cluster/apps/media/sabnzbd/volume.yaml b/cluster/apps/media/sabnzbd/volume.yaml new file mode 100644 index 000000000..9002385ae --- /dev/null +++ b/cluster/apps/media/sabnzbd/volume.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: sabnzbd-config + namespace: media + labels: + kasten-io-snapshots: "enable" +spec: + accessModes: + - ReadWriteOnce + storageClassName: rook-ceph-block + resources: + requests: + storage: 1Gi