apiVersion: apps/v1 kind: Deployment metadata: name: cas-deployment labels: app: cas-app spec: replicas: 2 selector: matchLabels: app: cas-app template: metadata: labels: app: cas-app spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app: cas-app topologyKey: "kubernetes.io/hostname" resources: requests: cpu: "200m" memory: "500Mi" limits: cpu: "500m" memory: "1Gi" containers: - name: cas image: ghcr.io/cas-4/backend:latest imagePullPolicy: Always env: - name: RUST_LOG valueFrom: configMapKeyRef: name: cas-config key: RUST_LOG - name: DATABASE_URL valueFrom: configMapKeyRef: name: cas-config key: DATABASE_URL - name: JWT_SECRET valueFrom: secretKeyRef: name: cas-secret key: JWT_SECRET - name: EXPO_ACCESS_TOKEN valueFrom: secretKeyRef: name: cas-secret key: EXPO_ACCESS_TOKEN - name: UNREALSPEECH_TOKEN valueFrom: secretKeyRef: name: cas-secret key: UNREALSPEECH_TOKEN - name: ALLOWED_HOST valueFrom: configMapKeyRef: name: cas-config key: ALLOWED_HOST - name: AUDIO_PATH valueFrom: configMapKeyRef: name: cas-config key: AUDIO_PATH ports: - containerPort: 8000 restartPolicy: Always