apiVersion: apps/v1 kind: Deployment metadata: name: '{{ .Release.Name }}' spec: strategy: type: Recreate replicas: 1 selector: matchLabels: app: '{{ .Release.Name }}' template: metadata: labels: app: '{{ .Release.Name }}' spec: containers: - name: '{{ .Release.Name }}' image: '{{ .Values.image.repository }}:{{ .Values.image.tag }}' imagePullPolicy: '{{ .Values.image.pullPolicy }}' ports: - name: http containerPort: 5678 protocol: TCP livenessProbe: tcpSocket: port: http readinessProbe: tcpSocket: port: http volumeMounts: - mountPath: /home/node/.n8n name: data env: - name: TZ value: '{{ .Values.globals.timezone }}' - name: GENERIC_TIMEZONE value: '{{ .Values.globals.timezone }}' - name: N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS value: 'true' - name: N8N_RUNNERS_ENABLED value: 'true' - name: DB_TYPE value: postgresdb - name: DB_POSTGRESDB_DATABASE valueFrom: secretKeyRef: name: '{{ .Release.Name }}-pg-connection' key: database - name: DB_POSTGRESDB_HOST valueFrom: secretKeyRef: name: '{{ .Release.Name }}-pg-connection' key: host - name: DB_POSTGRESDB_PORT valueFrom: secretKeyRef: name: '{{ .Release.Name }}-pg-connection' key: port - name: DB_POSTGRESDB_USER valueFrom: secretKeyRef: name: '{{ .Release.Name }}-pg-connection' key: user - name: DB_POSTGRESDB_PASSWORD valueFrom: secretKeyRef: name: '{{ .Release.Name }}-pg-connection' key: password volumes: - name: data persistentVolumeClaim: claimName: '{{ .Release.Name }}-data'