Files
infrastructure/clusters/cl01tl/manifests/kyoo/Deployment-kyoo-transcoder.yaml

149 lines
5.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: kyoo-transcoder
namespace: kyoo
labels:
helm.sh/chart: kyoo-5.0.0
app.kubernetes.io/name: kyoo-transcoder
app.kubernetes.io/instance: kyoo
app.kubernetes.io/component: transcoder
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: kyoo
app.kubernetes.io/version: "5.0.0"
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kyoo-transcoder
app.kubernetes.io/instance: kyoo
template:
metadata:
labels:
helm.sh/chart: kyoo-5.0.0
app.kubernetes.io/name: kyoo-transcoder
app.kubernetes.io/instance: kyoo
app.kubernetes.io/component: transcoder
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: kyoo
app.kubernetes.io/version: "5.0.0"
spec:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
serviceAccountName: kyoo-transcoder
containers:
- name: main
image: ghcr.io/zoriya/kyoo_transcoder:5.0.0@sha256:59974794f8a638175408fa20f023ba9598108b54ad8ed9a22ec87a1a211dfc43
imagePullPolicy: IfNotPresent
args:
env:
- name: JWKS_URL
value: "http://kyoo-auth:4568/.well-known/jwks.json"
- name: GOCODER_HWACCEL
value: "qsv"
- name: GOCODER_PRESET
value: "fast"
- name: GOCODER_CACHE_ROOT
value: "/cache"
- name: GOCODER_METADATA_ROOT
value: "/metadata"
- name: GOCODER_VAAPI_RENDERER
value: "/dev/dri/renderD128"
- name: GOCODER_QSV_RENDERER
value: "/dev/dri/renderD128"
- name: GOCODER_SAFE_PATH
value: "/media"
- name: PGUSER
valueFrom:
secretKeyRef:
key: user
name: kyoo-postgresql-18-cluster-app
- name: PGPASSWORD
valueFrom:
secretKeyRef:
key: password
name: kyoo-postgresql-18-cluster-app
- name: PGDATABASE
value: "kyoo_transcoder"
- name: PGHOST
value: "kyoo-postgresql-18-cluster-rw"
- name: PGPORT
value: "5432"
- name: PGSSLMODE
value: "disable"
ports:
- name: main
containerPort: 7666
protocol: TCP
livenessProbe:
httpGet:
path: /video/health
port: main
readinessProbe:
httpGet:
path: /video/ready
port: main
resources:
limits:
gpu.intel.com/i915: 1
requests:
cpu: 1
gpu.intel.com/i915: 1
memory: 1Gi
volumeMounts:
- mountPath: /media/anime
name: kyoo-media-anime-nfs-storage
readOnly: true
- mountPath: /media/anime-movies
name: kyoo-media-anime-movies-nfs-storage
readOnly: true
- mountPath: /media/movies
name: kyoo-media-movies-nfs-storage
readOnly: true
- mountPath: /media/movies-4k
name: kyoo-media-movies-4k-nfs-storage
readOnly: true
- mountPath: /media/standup
name: kyoo-media-standup-nfs-storage
readOnly: true
- mountPath: /media/tvshows
name: kyoo-media-tvshows-nfs-storage
readOnly: true
- mountPath: /media/tvshows-4k
name: kyoo-media-tvshows-4k-nfs-storage
readOnly: true
- name: transcodermetadata
mountPath: /metadata
- mountPath: /cache
name: cache
volumes:
- name: kyoo-media-anime-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-anime-nfs-storage
- name: kyoo-media-anime-movies-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-anime-movies-nfs-storage
- name: kyoo-media-movies-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-movies-nfs-storage
- name: kyoo-media-movies-4k-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-movies-4k-nfs-storage
- name: kyoo-media-standup-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-standup-nfs-storage
- name: kyoo-media-tvshows-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-tvshows-nfs-storage
- name: kyoo-media-tvshows-4k-nfs-storage
persistentVolumeClaim:
claimName: kyoo-media-tvshows-4k-nfs-storage
- name: transcodermetadata
persistentVolumeClaim:
claimName: kyoo-transcodermetadata
- emptyDir: {}
name: cache