apiVersion: apps/v1 kind: Deployment metadata: name: app namespace: buzz labels: app: buzz component: app spec: replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 selector: matchLabels: app: buzz component: app template: metadata: labels: app: buzz component: app spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchExpressions: - key: region operator: In values: - sg terminationGracePeriodSeconds: 5 containers: - name: app image: registry.neko-piranha.ts.net/astral/buzz:frontend ports: - containerPort: 3000 protocol: TCP envFrom: - secretRef: name: buzz-env resources: limits: cpu: "1" memory: 1Gi requests: cpu: 500m memory: 512Mi livenessProbe: httpGet: path: /api/health port: 3000 initialDelaySeconds: 10 periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 3 readinessProbe: httpGet: path: /api/health port: 3000 initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 15