apiVersion: apps/v1 kind: Deployment metadata: name: hearth-api labels: app: hearth-api spec: # One replica with Recreate: schema upgrades and scheduled syncs must run in one process at a time. # Do not scale or switch to RollingUpdate before the worker split (Obsidian: Topics/Architecture, Singleton work). replicas: 1 strategy: type: Recreate selector: matchLabels: app: hearth-api template: metadata: labels: app: hearth-api spec: containers: - name: api image: ghcr.io/greboh/hearth-api imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /health port: http livenessProbe: httpGet: path: /alive port: http resources: requests: cpu: 50m memory: 128Mi limits: memory: 256Mi