apiVersion: apps/v1 kind: Deployment metadata: name: { { include "affine-cloud.fullname" . } } labels: { { - include "affine-cloud.labels" . | nindent 4 } } spec: replicas: 1 selector: matchLabels: { { - include "affine-cloud.selectorLabels" . | nindent 6 } } strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 2 template: metadata: labels: { { - include "affine-cloud.selectorLabels" . | nindent 8 } } spec: restartPolicy: Always containers: - name: affine-cloud image: 'ghcr.io/toeverything/cloud-self-hosted:{{ .Values.affineCloud.tag | default .Chart.AppVersion }}' env: - name: PG_USER value: { { .Values.postgresql.auth.username } } - name: PG_PASS value: { { .Values.postgresql.auth.password } } - name: PG_DATABASE value: { { .Values.postgresql.auth.database } } - name: PG_HOST value: { { .Values.postgresql.fullnameOverride | default (printf "%s-postgresql" .Release.Name), }, } - name: DATABASE_URL value: { { .Values.affineCloud.databaseUrl | default "postgresql://$(PG_USER):$(PG_PASS)@$(PG_HOST)/$(PG_DATABASE)", }, } envFrom: - secretRef: name: affine-cloud-secret ports: - containerPort: 3000 livenessProbe: httpGet: path: /api/healthz port: 3000 failureThreshold: 1 initialDelaySeconds: 10 periodSeconds: 10 resources: limits: cpu: '{{ .Values.affineCloud.resources.cpu }}' memory: '{{ .Values.affineCloud.resources.memory }}'