apiVersion: apps/v1 kind: Deployment metadata: name: hf-chat-ui namespace: hf-chat-ui labels: app.kubernetes.io/name: hf-chat-ui app.kubernetes.io/instance: hf-chat-ui spec: replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 selector: matchLabels: app.kubernetes.io/name: hf-chat-ui app.kubernetes.io/instance: hf-chat-ui template: metadata: labels: app.kubernetes.io/name: hf-chat-ui app.kubernetes.io/instance: hf-chat-ui quorate.dev/zitadel-relay: 'true' spec: imagePullSecrets: - name: quay-cluster-pull runtimeClassName: gvisor automountServiceAccountToken: false securityContext: runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 fsGroup: 65532 seccompProfile: type: RuntimeDefault containers: - name: hf-chat-ui image: registry.quorate.internal/quorate/hf-chat-ui@sha256:372c8b2c6d57c297acc2a5457d7ad85fb8a1176d3f63bd74cf46952c3901910c imagePullPolicy: IfNotPresent ports: - name: http containerPort: 3000 protocol: TCP envFrom: - configMapRef: name: hf-chat-ui - secretRef: name: hf-chat-ui-oidc - secretRef: name: hf-chat-ui-db startupProbe: httpGet: path: /healthcheck port: http failureThreshold: 60 periodSeconds: 5 timeoutSeconds: 3 readinessProbe: httpGet: path: /healthcheck port: http failureThreshold: 3 periodSeconds: 10 timeoutSeconds: 3 livenessProbe: httpGet: path: /healthcheck port: http failureThreshold: 3 periodSeconds: 30 timeoutSeconds: 3 resources: requests: cpu: 250m memory: 512Mi limits: memory: 2Gi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL volumeMounts: - name: tmp mountPath: /tmp - name: cas mountPath: /var/run/certs readOnly: true volumes: - name: tmp emptyDir: {} - name: cas projected: sources: - secret: name: ca-internal items: - key: ca.crt path: internal-ca.crt - secret: name: ca-postgres items: - key: ca.crt path: postgres-ca.crt serviceAccountName: hf-chat-ui