--- apiVersion: apps/v1 kind: Deployment metadata: name: airm-ui namespace: airm spec: replicas: 1 selector: matchLabels: app: airm-ui template: metadata: labels: app: airm-ui spec: containers: - env: - name: NEXTAUTH_URL value: https://airmui.not-a-domain - name: KEYCLOAK_ISSUER value: https://kc.not-a-domain/realms/airm - name: KEYCLOAK_ID value: 354a0fa1-35ac-4a6d-9c4d-d661129c2cd0 - name: KEYCLOAK_ISSUER_INTERNAL_URL value: http://keycloak.keycloak:8080/realms/airm/ - name: AIRM_API_SERVICE_URL value: http://airm-api.airm - name: NEXTAUTH_SECRET valueFrom: secretKeyRef: key: NEXTAUTH_SECRET name: airm-secrets-airm - name: KEYCLOAK_SECRET valueFrom: secretKeyRef: key: KEYCLOAK_SECRET name: airm-keycloak-ui-creds image: ghcr.io/silogen/airm-ui:v2025.09.001 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /api/health port: 8000 initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 2 name: airm-ui ports: - containerPort: 8000 readinessProbe: httpGet: path: /api/health port: 8000 initialDelaySeconds: 5 periodSeconds: 10 resources: limits: memory: 4Gi requests: cpu: 500m memory: 4Gi restartPolicy: Always serviceAccountName: airm-ui-sa