apiVersion: apps/v1 kind: Deployment metadata: name: seo-worker namespace: seo-image-renamer labels: app: seo-worker component: worker spec: replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 selector: matchLabels: app: seo-worker template: metadata: labels: app: seo-worker component: worker spec: containers: - name: worker image: seo-image-renamer/worker:latest env: - name: NODE_ENV valueFrom: configMapKeyRef: name: seo-image-renamer-config key: NODE_ENV - name: DATABASE_URL valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: DATABASE_URL - name: REDIS_URL value: "redis://$(REDIS_PASSWORD)@redis-service:6379" - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: REDIS_PASSWORD - name: OPENAI_API_KEY valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: OPENAI_API_KEY - name: GOOGLE_VISION_API_KEY valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: GOOGLE_VISION_API_KEY - name: MINIO_ENDPOINT valueFrom: configMapKeyRef: name: seo-image-renamer-config key: MINIO_ENDPOINT - name: MINIO_ACCESS_KEY valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: MINIO_ACCESS_KEY - name: MINIO_SECRET_KEY valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: MINIO_SECRET_KEY - name: SENTRY_DSN valueFrom: secretKeyRef: name: seo-image-renamer-secrets key: SENTRY_DSN resources: requests: memory: "512Mi" cpu: "500m" limits: memory: "1Gi" cpu: "1000m" livenessProbe: exec: command: - node - -e - "process.exit(0)" initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 3 volumeMounts: - name: temp-storage mountPath: /tmp volumes: - name: temp-storage emptyDir: sizeLimit: 2Gi restartPolicy: Always