cluster-manifests/convertx/values.yaml

83 lines
2.1 KiB
YAML

controllers:
main:
type: deployment
strategy: Recreate
containers:
main:
image:
repository: ghcr.io/c4illin/convertx
tag: latest
pullPolicy: IfNotPresent
# RELAX RESOURCE LIMITS TO PREVENT THREAD STALLS
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: "6000m" # Allow full core utilization during deep video transcodes
memory: 4Gi # Slightly higher ceiling for large video processing blocks
env:
PUID: "1000"
PGID: "1000"
JWT_SECRET: "d173a64678b199b21c0bc52ef17da56cec31f3eedc3685e68b394b7bc119e38b"
HTTP_ALLOWED: "true"
ALLOW_UNAUTHENTICATED: "false"
# APPLICATION LEVEL CONCURRENCY LIMIT
MAX_CONVERT_PROCESS: "1" # Restricts the app to 1 conversion at a time to prevent CPU crowding
securityContext:
privileged: true
service:
main:
controller: main
type: NodePort
ports:
http:
port: 3050
targetPort: 3000
nodePort: 32050
persistence:
data:
enabled: true
type: persistentVolumeClaim
storageClass: "longhorn"
accessMode: ReadWriteOnce
size: 10Gi
globalMounts:
- path: /app/data
igpu:
enabled: true
type: hostPath
hostPath: /dev/dri
globalMounts:
- path: /dev/dri
# values.yaml
ingress:
main:
enabled: true
className: nginx
annotations:
# AUTOMATED TLS FIX: Triggers cert-manager to provision the certificate
cert-manager.io/cluster-issuer: "letsencrypt-production"
# THE 502 FIX: Bridges to the unencrypted pod port 3050 safely
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
hosts:
- host: convertx.needlestack.boo
paths:
- path: /
pathType: Prefix
service:
identifier: main
port: 3050
# AUTOMATED TLS FIX: Instructs NGINX where to store the secret
tls:
- secretName: convertx-tls-secret
hosts:
- convertx.needlestack.boo