apiVersion: apps/v1 kind: Deployment metadata: name: grainlab namespace: grainlab-production spec: replicas: 1 selector: matchLabels: app: grainlab template: metadata: labels: app: grainlab spec: imagePullSecrets: - name: ghcr-cred containers: - name: grainlab image: ghcr.io/daniel-luke/grainlab:1.0.6 imagePullPolicy: Always ports: - containerPort: 3000 env: - name: NODE_ENV value: "production" - name: PORT value: "3000" - name: HOST value: "0.0.0.0" envFrom: - secretRef: name: grainlab-app - secretRef: name: grainlab-database - secretRef: name: grainlab-s3 - secretRef: name: grainlab-smtp readinessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 10 periodSeconds: 5 failureThreshold: 6 livenessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 30 periodSeconds: 10 resources: requests: cpu: 100m memory: 256Mi limits: memory: 512Mi