apiVersion: apps/v1 kind: Deployment metadata: name: arf-api namespace: arf-system labels: app: arf-api version: v4.3.2 spec: replicas: 3 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 selector: matchLabels: app: arf-api template: metadata: labels: app: arf-api version: v4.3.2 spec: serviceAccountName: arf-api securityContext: runAsNonRoot: true runAsUser: 1000 fsGroup: 1000 containers: - name: arf-api image: arf-api:latest # Replace with specific tag in production imagePullPolicy: Always ports: - containerPort: 8000 protocol: TCP envFrom: - configMapRef: name: arf-api-config - secretRef: name: arf-api-secrets resources: requests: cpu: 500m memory: 512Mi limits: cpu: 2000m memory: 2Gi livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 2 terminationGracePeriodSeconds: 30