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