convert to app template

This commit is contained in:
2024-06-22 21:15:12 -05:00
parent a94b1f4c63
commit 600e1f8b45
4 changed files with 94 additions and 72 deletions

View File

@@ -13,12 +13,13 @@ home: ""
sources: sources:
- https://www.plex.tv/ - https://www.plex.tv/
- https://github.com/onedr0p/containers/pkgs/container/plex - 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: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: plex - name: app-template
version: 7.1.4 alias: plex
repository: https://k8s-home-lab.github.io/helm-charts/ repository: https://bjw-s.github.io/helm-charts/
version: 3.2.1
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png
appVersion: 1.40.2.8395-c67dce28e appVersion: 1.40.2.8395-c67dce28e

View File

@@ -1,10 +1,31 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim 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: metadata:
name: plex-nfs-storage name: plex-nfs-storage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: plex-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage app.kubernetes.io/component: storage
@@ -17,24 +38,3 @@ spec:
resources: resources:
requests: requests:
storage: 1Gi 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 }}

View File

@@ -4,7 +4,7 @@ metadata:
name: plex-nfs-storage name: plex-nfs-storage
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: plex-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage app.kubernetes.io/component: storage
@@ -17,8 +17,8 @@ spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
nfs: nfs:
path: {{ .Values.storage.media.nfs.path }} path: /volume2/Storage
server: {{ .Values.storage.media.nfs.server }} server: synologybond.alexlebens.net
mountOptions: mountOptions:
- vers=4 - vers=4
- minorversion=1 - minorversion=1

View File

@@ -1,13 +1,48 @@
plex: navidrome:
image: controllers:
repository: ghcr.io/onedr0p/plex main:
tag: 1.40.3.8555-fef15d30c type: deployment
env: replicas: 1
ADVERTISE_IP: "https://plex.alexlebens.net:443/" strategy: Recreate
ALLOWED_NETWORKS: "10.0.0.0/8,192.168.1.0/24" 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: service:
main: main:
primary: true controller: main
type: LoadBalancer type: LoadBalancer
annotations: annotations:
metallb.universe.tf/allow-shared-ip: "external" metallb.universe.tf/allow-shared-ip: "external"
@@ -18,10 +53,12 @@ plex:
ports: ports:
http: http:
port: 32400 port: 32400
targetPort: 32400
protocol: HTTP
ingress: ingress:
main: main:
enabled: true enabled: true
ingressClassName: traefik className: traefik
annotations: annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.tls: "true"
@@ -31,48 +68,32 @@ plex:
paths: paths:
- path: / - path: /
pathType: Prefix pathType: Prefix
service:
name: plex
port: 32400
tls: tls:
- secretName: plex-secret-tls - secretName: plex-secret-tls
hosts: hosts:
- plex.alexlebens.net - plex.alexlebens.net
hostNetwork: false
persistence: persistence:
config: config:
enabled: true
existingClaim: plex-config existingClaim: plex-config
advancedMounts:
main:
main:
- path: /config
readOnly: false
transcode: transcode:
enabled: true
type: emptyDir type: emptyDir
advancedMounts:
transcoder:
main:
- path: /transcode
readOnly: false
media: media:
enabled: true
mountPath: /mnt/store
type: pvc
existingClaim: plex-nfs-storage existingClaim: plex-nfs-storage
podSecurityContext: advancedMounts:
runAsUser: 568 main:
runAsGroup: 568 main:
fsGroup: 568 - path: /mnt/store
fsGroupChangePolicy: "OnRootMismatch" readOnly: false
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