From 6454ebda828c842a581fd1a1f821319da7b81bb8 Mon Sep 17 00:00:00 2001 From: alexlebens Date: Sat, 22 Jun 2024 20:13:39 -0500 Subject: [PATCH] convert to app template --- .../cl01tl/applications/jellyfin/Chart.yaml | 11 +- .../templates/persistent-volume-claim.yaml | 4 +- .../jellyfin/templates/persistent-volume.yaml | 12 +- .../cl01tl/applications/jellyfin/values.yaml | 109 +++++++++++++----- 4 files changed, 92 insertions(+), 44 deletions(-) diff --git a/clusters/cl01tl/applications/jellyfin/Chart.yaml b/clusters/cl01tl/applications/jellyfin/Chart.yaml index d792b0159..b30a308c8 100644 --- a/clusters/cl01tl/applications/jellyfin/Chart.yaml +++ b/clusters/cl01tl/applications/jellyfin/Chart.yaml @@ -12,13 +12,14 @@ keywords: home: "" sources: - https://github.com/jellyfin/jellyfin - - https://hub.docker.com/r/loeken/jellyfin - - https://github.com/loeken/helm-charts/tree/main/charts/jellyfin + - https://hub.docker.com/r/jellyfin/jellyfin + - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template maintainers: - name: alexlebens dependencies: - - name: jellyfin - version: 10.9.6 - repository: https://loeken.github.io/helm-charts + - name: app-template + alias: jellyfin + repository: https://bjw-s.github.io/helm-charts/ + version: 3.2.1 icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/jellyfin.png appVersion: 10.9.6 diff --git a/clusters/cl01tl/applications/jellyfin/templates/persistent-volume-claim.yaml b/clusters/cl01tl/applications/jellyfin/templates/persistent-volume-claim.yaml index 4ce8dcd64..fa5cd762f 100644 --- a/clusters/cl01tl/applications/jellyfin/templates/persistent-volume-claim.yaml +++ b/clusters/cl01tl/applications/jellyfin/templates/persistent-volume-claim.yaml @@ -4,7 +4,7 @@ metadata: name: jellyfin-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: jellyfin-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage @@ -25,7 +25,7 @@ metadata: name: jellyfin-youtube-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: jellyfin-youtube-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage diff --git a/clusters/cl01tl/applications/jellyfin/templates/persistent-volume.yaml b/clusters/cl01tl/applications/jellyfin/templates/persistent-volume.yaml index 84f11ec49..aa051e830 100644 --- a/clusters/cl01tl/applications/jellyfin/templates/persistent-volume.yaml +++ b/clusters/cl01tl/applications/jellyfin/templates/persistent-volume.yaml @@ -4,7 +4,7 @@ metadata: name: jellyfin-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: jellyfin-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage @@ -17,8 +17,8 @@ spec: accessModes: - ReadWriteMany nfs: - path: {{ .Values.storage.storage.nfs.path }} - server: {{ .Values.storage.storage.nfs.server }} + path: /volume2/Storage + server: synologybond.alexlebens.net mountOptions: - vers=4 - minorversion=1 @@ -31,7 +31,7 @@ metadata: name: jellyfin-youtube-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: jellyfin-youtube-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage @@ -44,8 +44,8 @@ spec: accessModes: - ReadOnlyMany nfs: - path: {{ .Values.storage.youtube.nfs.path }} - server: {{ .Values.storage.youtube.nfs.server }} + path: /volume2/Storage/YouTube + server: synologybond.alexlebens.net mountOptions: - vers=4 - minorversion=1 diff --git a/clusters/cl01tl/applications/jellyfin/values.yaml b/clusters/cl01tl/applications/jellyfin/values.yaml index 2c3389ec9..38470c78c 100644 --- a/clusters/cl01tl/applications/jellyfin/values.yaml +++ b/clusters/cl01tl/applications/jellyfin/values.yaml @@ -1,10 +1,58 @@ jellyfin: - env: - TZ: US/Central + controllers: + main: + type: deployment + replicas: 1 + strategy: Recreate + revisionHistoryLimit: 3 + containers: + main: + image: + repository: ghcr.io/jellyfin/jellyfin + tag: 10.9.6 + pullPolicy: IfNotPresent + env: + - name: TZ + value: US/Central + resources: + limits: + gpu.intel.com/i915: 1 + memory: 4Gi + cpu: 2 + requests: + gpu.intel.com/i915: 1 + cpu: 100m + memory: 1Gi + vue: + image: + repository: ghcr.io/jellyfin/jellyfin-vue + tag: unstable.2024-06-22.60160e2 + pullPolicy: IfNotPresent + env: + - name: TZ + value: US/Central + resources: + requests: + cpu: 100m + memory: 256Mi + serviceAccount: + create: true + service: + main: + controller: main + ports: + http: + port: 80 + targetPort: 80 + protocol: HTTP + vue: + port: 8080 + targetPort: 80 + protocol: HTTP ingress: main: enabled: true - ingressClassName: traefik + className: traefik annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: "true" @@ -14,46 +62,45 @@ jellyfin: paths: - path: / pathType: Prefix + service: + name: jellyfin + port: 80 tls: - secretName: jellyfin-secret-tls hosts: - jellyfin.alexlebens.net persistence: config: - enabled: true - mountPath: /config + storageClass: ceph-block accessMode: ReadWriteOnce size: 40Gi + retain: true + advancedMounts: + main: + main: + - path: /config + readOnly: false cache: - enabled: true - mountPath: /cache + storageClass: ceph-block accessMode: ReadWriteOnce size: 40Gi + retain: true + advancedMounts: + main: + main: + - path: /cache + readOnly: false media: - enabled: true - mountPath: /mnt/store - type: pvc existingClaim: jellyfin-nfs-storage + advancedMounts: + main: + main: + - path: /mnt/store + readOnly: false youtube: - enabled: true - mountPath: /youtube - type: pvc existingClaim: jellyfin-youtube-nfs-storage - resources: - limits: - gpu.intel.com/i915: 1 - memory: 4Gi - cpu: 2 - requests: - gpu.intel.com/i915: 1 - cpu: 100m - memory: 1Gi -storage: - storage: - nfs: - path: /volume2/Storage - server: synologybond.alexlebens.net - youtube: - nfs: - path: /volume2/Storage/YouTube - server: synologybond.alexlebens.net + advancedMounts: + main: + main: + - path: /youtube + readOnly: true