99 lines
3.1 KiB
YAML
99 lines
3.1 KiB
YAML
# yaml-language-server: $schema=./values.schema.json
|
|
image:
|
|
repository: oci.trueforge.org/containerforge/emby
|
|
pullPolicy: IfNotPresent
|
|
tag: 4.10.0.3@sha256:7afa0c10cc9968e44fa29049033c5e000ab51b349b6c52274835bb6f495a896a
|
|
broadcastProxyImage:
|
|
repository: docker.io/alpine/socat
|
|
pullPolicy: IfNotPresent
|
|
tag: 1.8.0.3@sha256:4faaec291d6193614d02c24185842e4cea76b5d86679c6d4d156d0c96dee9752
|
|
service:
|
|
main:
|
|
ports:
|
|
main:
|
|
port: 10079
|
|
targetPort: 8096
|
|
autodiscovery:
|
|
enabled: "{{ .Values.autodiscovery.enabled }}"
|
|
ports:
|
|
autodiscovery:
|
|
enabled: true
|
|
protocol: udp
|
|
port: 7359
|
|
targetPort: 7359
|
|
workload:
|
|
main:
|
|
podSpec:
|
|
containers:
|
|
main:
|
|
probes:
|
|
liveness:
|
|
type: http
|
|
path: /
|
|
readiness:
|
|
type: http
|
|
path: /
|
|
startup:
|
|
type: http
|
|
path: /
|
|
env: {}
|
|
broadcastproxy:
|
|
enabled: "{{ .Values.autodiscovery.enabled }}"
|
|
type: Deployment
|
|
podSpec:
|
|
hostNetwork: true
|
|
# Proxy doesn't seem to respect the TERM signal, so by default
|
|
# this ends up just hanging until the default grace period ends.
|
|
# This is unnecesary since this workload only proxies autodiscovery
|
|
# messages.
|
|
terminationGracePeriodSeconds: 3
|
|
containers:
|
|
broadcastproxy:
|
|
enabled: true
|
|
primary: true
|
|
imageSelector: broadcastProxyImage
|
|
securityContext:
|
|
readOnlyRootFilesystem: true
|
|
command: ["/bin/sh"]
|
|
# Quite a lot going on here:
|
|
# - Resolve Emby's autodiscovery service IP from its FQDN via getent hosts
|
|
# - Export the IP to `$TARGET_IP`
|
|
# - Check `$TARGET_IP` is not empty (so we can crash if it is - will help to detect templating errors)
|
|
# - Touch `/tmp/healty` to use with the readiness, liveness and startup probes
|
|
# - Start socat in proxy mode
|
|
# - On exit remove `/tmp/healthy`
|
|
args:
|
|
- "-c"
|
|
- 'export TARGET_IP=$(getent hosts ''{{ printf "%v-autodiscovery" (include "tc.v1.common.lib.chart.names.fullname" $) }}'' | awk ''{ print $1 }'') && [[ ! -z $TARGET_IP ]] && touch /tmp/healthy && socat -T1 UDP4-LISTEN:7359,fork,reuseaddr,rcvbuf=8096 UDP4-SENDTO:$TARGET_IP:7359,rcvbuf=8096 ; rm -rf /tmp/healthy'
|
|
probes:
|
|
readiness:
|
|
enabled: true
|
|
type: exec
|
|
command:
|
|
- cat
|
|
- /tmp/healthy
|
|
liveness:
|
|
enabled: true
|
|
type: exec
|
|
command:
|
|
- cat
|
|
- /tmp/healthy
|
|
startup:
|
|
enabled: true
|
|
type: exec
|
|
command:
|
|
- cat
|
|
- /tmp/healthy
|
|
# -- enable Emby autodiscovery on LAN
|
|
securityContext:
|
|
container:
|
|
readOnlyRootFilesystem: false
|
|
runAsGroup: 0
|
|
runAsUser: 0
|
|
autodiscovery:
|
|
enabled: false
|
|
persistence:
|
|
config:
|
|
enabled: true
|
|
mountPath: /config
|