112 lines
3.2 KiB
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
|