convert to app template
This commit is contained in:
		@@ -13,12 +13,13 @@ home: ""
 | 
			
		||||
sources:
 | 
			
		||||
  - https://www.plex.tv/
 | 
			
		||||
  - https://github.com/onedr0p/containers/pkgs/container/plex
 | 
			
		||||
  - https://github.com/k8s-home-lab/helm-charts/tree/master/charts/stable/plex
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: plex
 | 
			
		||||
    version: 7.1.4
 | 
			
		||||
    repository: https://k8s-home-lab.github.io/helm-charts/
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: plex
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.2.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png
 | 
			
		||||
appVersion: 1.40.2.8395-c67dce28e
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,31 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: plex-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: plex-config
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: storage
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 80Gi
 | 
			
		||||
  storageClassName: ceph-block
 | 
			
		||||
  volumeMode: Filesystem
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: plex-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/name: plex-nfs-storage
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: storage
 | 
			
		||||
@@ -17,24 +38,3 @@ spec:
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: plex-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: storage
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: {{ .Values.storage.config.storageSize }}
 | 
			
		||||
  storageClassName: {{ .Values.storage.config.storageClassName }}
 | 
			
		||||
  volumeMode: {{ .Values.storage.config.volumeMode }}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ metadata:
 | 
			
		||||
  name: plex-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/name: plex-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.media.nfs.path }}
 | 
			
		||||
    server: {{ .Values.storage.media.nfs.server }}
 | 
			
		||||
    path: /volume2/Storage
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,48 @@
 | 
			
		||||
plex:
 | 
			
		||||
  image:
 | 
			
		||||
    repository: ghcr.io/onedr0p/plex
 | 
			
		||||
    tag: 1.40.3.8555-fef15d30c
 | 
			
		||||
  env:
 | 
			
		||||
    ADVERTISE_IP: "https://plex.alexlebens.net:443/"
 | 
			
		||||
    ALLOWED_NETWORKS: "10.0.0.0/8,192.168.1.0/24"
 | 
			
		||||
navidrome:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          runAsUser: 568
 | 
			
		||||
          runAsGroup: 568
 | 
			
		||||
          fsGroup: 568
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
          supplementalGroups:
 | 
			
		||||
            - 44
 | 
			
		||||
            - 100
 | 
			
		||||
            - 109
 | 
			
		||||
            - 65539        
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/onedr0p/plex
 | 
			
		||||
            tag: 1.40.3.8555-fef15d30c
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: ADVERTISE_IP
 | 
			
		||||
              value: https://plex.alexlebens.net:443/
 | 
			
		||||
            - name: ALLOWED_NETWORKS
 | 
			
		||||
              value: 10.0.0.0/8,192.168.1.0/24
 | 
			
		||||
          resources:
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 5000m
 | 
			
		||||
              memory: 4Gi
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 1Gi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      primary: true
 | 
			
		||||
      controller: main
 | 
			
		||||
      type: LoadBalancer
 | 
			
		||||
      annotations:
 | 
			
		||||
        metallb.universe.tf/allow-shared-ip: "external"
 | 
			
		||||
@@ -18,10 +53,12 @@ plex:
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 32400
 | 
			
		||||
          targetPort: 32400
 | 
			
		||||
          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"
 | 
			
		||||
@@ -31,48 +68,32 @@ plex:
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: plex
 | 
			
		||||
                port: 32400
 | 
			
		||||
      tls:
 | 
			
		||||
        - secretName: plex-secret-tls
 | 
			
		||||
          hosts:
 | 
			
		||||
            - plex.alexlebens.net
 | 
			
		||||
  hostNetwork: false
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingClaim: plex-config
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    transcode:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        transcoder:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /transcode
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    media:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      mountPath: /mnt/store
 | 
			
		||||
      type: pvc
 | 
			
		||||
      existingClaim: plex-nfs-storage
 | 
			
		||||
  podSecurityContext:
 | 
			
		||||
    runAsUser: 568
 | 
			
		||||
    runAsGroup: 568
 | 
			
		||||
    fsGroup: 568
 | 
			
		||||
    fsGroupChangePolicy: "OnRootMismatch"
 | 
			
		||||
    supplementalGroups:
 | 
			
		||||
      - 44
 | 
			
		||||
      - 100
 | 
			
		||||
      - 109
 | 
			
		||||
      - 65539
 | 
			
		||||
  resources:
 | 
			
		||||
    limits:
 | 
			
		||||
      gpu.intel.com/i915: 1
 | 
			
		||||
      cpu: 5000m
 | 
			
		||||
      memory: 4Gi  
 | 
			
		||||
    requests:
 | 
			
		||||
      gpu.intel.com/i915: 1
 | 
			
		||||
      cpu: 100m
 | 
			
		||||
      memory: 1Gi
 | 
			
		||||
storage:
 | 
			
		||||
  config:
 | 
			
		||||
    storageClassName: ceph-block
 | 
			
		||||
    storageSize: 80Gi
 | 
			
		||||
    volumeMode: Filesystem
 | 
			
		||||
  media:
 | 
			
		||||
    nfs:
 | 
			
		||||
      path: /volume2/Storage
 | 
			
		||||
      server: synologybond.alexlebens.net
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user