Files
talos-cluster/kubernetes/apps/media/plex/app/helm-release.yaml

112 lines
3.2 KiB
YAML

---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s-labs/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app plex
spec:
interval: 1h
chartRef:
kind: OCIRepository
name: app-template
driftDetection:
ignore:
- paths: [/spec/replicas]
values:
controllers:
*app :
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/home-operations/plex
tag: 1.43.0.10467@sha256:fa62165df48d04e9a418805951e903f831dec0e0601f4dc4245f9948d7fd719b
env:
PLEX_ADVERTISE_URL: https://plex.laurivan.com:443,http://plex.servers.internal:32400,http://plex.media.svc.cluster.local:32400
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /identity
port: &port 32400
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 10
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
capabilities: { drop: [ALL] }
resources:
requests:
cpu: 1
memory: 2Gi
limits:
memory: 16Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
service:
app:
type: LoadBalancer
ipFamilies: [IPv4]
ipFamilyPolicy: SingleStack
externalTrafficPolicy: Local
annotations:
lbipam.cilium.io/ips: 10.0.0.155
ports:
http:
port: *port
route:
app:
# annotations:
# gatus.home-operations.com/endpoint: |-
# conditions: ["[STATUS] == 401"]
hostnames:
- "{{ .Release.Name }}.laurivan.com"
parentRefs:
- name: envoy-internal
namespace: network
rules:
- backendRefs: [{}]
filters:
- type: RequestHeaderModifier
requestHeaderModifier:
remove: [Range]
matches:
- path:
type: PathPrefix
value: /library/streams
- backendRefs: [{}]
persistence:
config:
existingClaim: "{{ .Release.Name }}"
config-cache:
existingClaim: "{{ .Release.Name }}-cache"
globalMounts:
- path: /cache
tmpfs:
type: emptyDir
globalMounts:
- path: /tmp
media:
type: nfs
server: 10.0.0.14
path: /mnt/Main/shares/video
globalMounts:
- path: /video
readOnly: true