12 Commits

Author SHA1 Message Date
4e01f912ed fix worker-hpa labels
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 17:38:06 +03:00
bf6002c156 fix webhook-deployment labels 2022-11-16 17:37:56 +03:00
ad9a7b248f Remove redundant suffix
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 17:30:55 +03:00
b143ede98b Fix collisions with labels and selectors
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 17:28:54 +03:00
7155146e00 Fix service name for webhook ingress
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 16:42:09 +03:00
3639069556 Revert "Remove $fullName var from ingress templates"
This reverts commit 92f8d4442c.
2022-11-16 16:41:43 +03:00
92f8d4442c Remove $fullName var from ingress templates
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 16:37:50 +03:00
5500ec6642 Fix: checksum must be on pod template
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 16:32:16 +03:00
fba44456e6 Include default secrets if extraEnvVarsSecret not present
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 16:28:54 +03:00
8bdea5fba6 Add N8N_PROTOCOL
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 16:10:41 +03:00
cdbceb1396 add startupProbe to main process
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-11-16 14:39:18 +03:00
e7598dc380 add checksum/secret annotation 2022-11-16 14:37:07 +03:00
9 changed files with 90 additions and 24 deletions

View File

@ -5,6 +5,14 @@ Expand the name of the chart.
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }} {{- end }}
{{- define "n8n-webhook.name" -}}
{{ include "n8n.name" . }}-webhook
{{- end }}
{{- define "n8n-worker.name" -}}
{{ include "n8n.name" . }}-worker
{{- end }}
{{/* {{/*
Create a default fully qualified app name. Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
@ -23,6 +31,14 @@ If release name contains chart name it will be used as a full name.
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- define "n8n-webhook.fullname" -}}
{{ include "n8n.fullname" . }}-webhook
{{- end }}
{{- define "n8n-worker.fullname" -}}
{{ include "n8n.fullname" . }}-worker
{{- end }}
{{/* {{/*
Create chart name and version as used by the chart label. Create chart name and version as used by the chart label.
*/}} */}}
@ -33,15 +49,32 @@ Create chart name and version as used by the chart label.
{{/* {{/*
Common labels Common labels
*/}} */}}
{{- define "n8n.labels" -}} {{- define "common.labels" -}}
helm.sh/chart: {{ include "n8n.chart" . }} helm.sh/chart: {{ include "n8n.chart" . }}
{{ include "n8n.selectorLabels" . }}
{{- if .Chart.AppVersion }} {{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }} {{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }} {{- end }}
{{/*
n8n labels
*/}}
{{- define "n8n.labels" -}}
{{ include "common.labels" . }}
{{ include "n8n.selectorLabels" . }}
{{- end }}
{{- define "n8n-webhook.labels" -}}
{{ include "common.labels" . }}
{{ include "n8n-webhook.selectorLabels" . }}
{{- end }}
{{- define "n8n-worker.labels" -}}
{{ include "common.labels" . }}
{{ include "n8n-worker.selectorLabels" . }}
{{- end }}
{{/* {{/*
Selector labels Selector labels
*/}} */}}
@ -49,3 +82,13 @@ Selector labels
app.kubernetes.io/name: {{ include "n8n.name" . }} app.kubernetes.io/name: {{ include "n8n.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }} {{- end }}
{{- define "n8n-webhook.selectorLabels" -}}
app.kubernetes.io/name: {{ include "n8n-webhook.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{- define "n8n-worker.selectorLabels" -}}
app.kubernetes.io/name: {{ include "n8n-worker.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@ -8,6 +8,7 @@ metadata:
data: data:
N8N_HOST: {{ .Values.config.host | quote }} N8N_HOST: {{ .Values.config.host | quote }}
N8N_PORT: {{ .Values.config.port | quote }} N8N_PORT: {{ .Values.config.port | quote }}
N8N_PROTOCOL: {{ .Values.config.protocol | quote }}
WEBHOOK_URL: {{ .Values.config.webhook_url | quote }} WEBHOOK_URL: {{ .Values.config.webhook_url | quote }}
EXECUTIONS_MODE: "queue" EXECUTIONS_MODE: "queue"
EXECUTIONS_PROCESS: {{ .Values.config.executions.process | quote }} EXECUTIONS_PROCESS: {{ .Values.config.executions.process | quote }}

View File

@ -6,6 +6,7 @@ metadata:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n.labels" . | nindent 4 }}
annotations: annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@ -13,8 +14,10 @@ spec:
{{- include "n8n.selectorLabels" . | nindent 6 }} {{- include "n8n.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
{{- with .Values.n8n.podAnnotations }}
annotations: annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
{{- with .Values.n8n.podAnnotations }}
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
@ -38,6 +41,9 @@ spec:
{{- if .Values.n8n.extraEnvVarsSecret }} {{- if .Values.n8n.extraEnvVarsSecret }}
- secretRef: - secretRef:
name: {{ .Values.n8n.extraEnvVarsSecret }} name: {{ .Values.n8n.extraEnvVarsSecret }}
{{- else }}
- secretRef:
name: {{ include "n8n.fullname" . }}
{{- end }} {{- end }}
ports: ports:
- name: http - name: http
@ -51,6 +57,12 @@ spec:
httpGet: httpGet:
path: /healthz path: /healthz
port: http port: http
startupProbe:
httpGet:
path: /healthz
port: http
failureThreshold: 30
periodSeconds: 10
resources: resources:
{{- toYaml .Values.n8n.resources | nindent 12 }} {{- toYaml .Values.n8n.resources | nindent 12 }}
{{- with .Values.n8n.nodeSelector }} {{- with .Values.n8n.nodeSelector }}

View File

@ -1,26 +1,26 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ include "n8n.fullname" . }}-webhook name: {{ include "n8n-webhook.fullname" . }}
labels: labels:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n-webhook.labels" . | nindent 4 }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
spec: spec:
{{- if not .Values.webhook.autoscaling.enabled }} {{- if not .Values.webhook.autoscaling.enabled }}
replicas: {{ .Values.webhook.replicaCount }} replicas: {{ .Values.webhook.replicaCount }}
{{- end }} {{- end }}
selector: selector:
matchLabels: matchLabels:
{{- include "n8n.selectorLabels" . | nindent 6 }} {{- include "n8n-webhook.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
{{- with .Values.webhook.podAnnotations }}
annotations: annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
{{- with .Values.webhook.podAnnotations }}
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "n8n.selectorLabels" . | nindent 8 }} {{- include "n8n-webhook.selectorLabels" . | nindent 8 }}
spec: spec:
{{- with .Values.webhook.image.pullSecrets }} {{- with .Values.webhook.image.pullSecrets }}
imagePullSecrets: imagePullSecrets:
@ -43,6 +43,9 @@ spec:
{{- if .Values.webhook.extraEnvVarsSecret }} {{- if .Values.webhook.extraEnvVarsSecret }}
- secretRef: - secretRef:
name: {{ .Values.webhook.extraEnvVarsSecret }} name: {{ .Values.webhook.extraEnvVarsSecret }}
{{- else }}
- secretRef:
name: {{ include "n8n.fullname" . }}
{{- end }} {{- end }}
ports: ports:
- name: http - name: http

View File

@ -1,5 +1,5 @@
{{- if .Values.webhook.ingress.enabled -}} {{- if .Values.webhook.ingress.enabled -}}
{{- $fullName := include "n8n.fullname" . -}} {{- $fullName := include "n8n-webhook.fullname" . -}}
{{- $svcPort := .Values.webhook.service.port -}} {{- $svcPort := .Values.webhook.service.port -}}
{{- if and .Values.webhook.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} {{- if and .Values.webhook.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.webhook.ingress.annotations "kubernetes.io/ingress.class") }} {{- if not (hasKey .Values.webhook.ingress.annotations "kubernetes.io/ingress.class") }}
@ -15,9 +15,9 @@ apiVersion: extensions/v1beta1
{{- end }} {{- end }}
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ $fullName }}-webhook name: {{ $fullName }}
labels: labels:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n-webhook.labels" . | nindent 4 }}
{{- with .Values.webhook.ingress.annotations }} {{- with .Values.webhook.ingress.annotations }}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}

View File

@ -1,9 +1,9 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ include "n8n.fullname" . }}-webhook name: {{ include "n8n-webhook.fullname" . }}
labels: labels:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n-webhook.labels" . | nindent 4 }}
spec: spec:
type: {{ .Values.webhook.service.type }} type: {{ .Values.webhook.service.type }}
ports: ports:
@ -12,4 +12,4 @@ spec:
protocol: TCP protocol: TCP
name: http name: http
selector: selector:
{{- include "n8n.selectorLabels" . | nindent 4 }} {{- include "n8n-webhook.selectorLabels" . | nindent 4 }}

View File

@ -1,26 +1,29 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ include "n8n.fullname" . }}-worker name: {{ include "n8n-worker.fullname" . }}
labels: labels:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n-worker.labels" . | nindent 4 }}
annotations: annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
spec: spec:
{{- if not .Values.worker.autoscaling.enabled }} {{- if not .Values.worker.autoscaling.enabled }}
replicas: {{ .Values.worker.replicaCount }} replicas: {{ .Values.worker.replicaCount }}
{{- end }} {{- end }}
selector: selector:
matchLabels: matchLabels:
{{- include "n8n.selectorLabels" . | nindent 6 }} {{- include "n8n-worker.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
{{- with .Values.worker.podAnnotations }}
annotations: annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
{{- with .Values.worker.podAnnotations }}
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "n8n.selectorLabels" . | nindent 8 }} {{- include "n8n-worker.selectorLabels" . | nindent 8 }}
spec: spec:
{{- with .Values.worker.image.pullSecrets }} {{- with .Values.worker.image.pullSecrets }}
imagePullSecrets: imagePullSecrets:
@ -43,6 +46,9 @@ spec:
{{- if .Values.worker.extraEnvVarsSecret }} {{- if .Values.worker.extraEnvVarsSecret }}
- secretRef: - secretRef:
name: {{ .Values.worker.extraEnvVarsSecret }} name: {{ .Values.worker.extraEnvVarsSecret }}
{{- else }}
- secretRef:
name: {{ include "n8n.fullname" . }}
{{- end }} {{- end }}
resources: resources:
{{- toYaml .Values.worker.resources | nindent 12 }} {{- toYaml .Values.worker.resources | nindent 12 }}

View File

@ -2,14 +2,14 @@
apiVersion: autoscaling/v2beta1 apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler kind: HorizontalPodAutoscaler
metadata: metadata:
name: {{ include "n8n.fullname" . }}-worker name: {{ include "n8n-worker.fullname" . }}
labels: labels:
{{- include "n8n.labels" . | nindent 4 }} {{- include "n8n-worker.labels" . | nindent 4 }}
spec: spec:
scaleTargetRef: scaleTargetRef:
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
name: {{ include "n8n.fullname" . }} name: {{ include "n8n-worker.fullname" . }}
minReplicas: {{ .Values.worker.autoscaling.minReplicas }} minReplicas: {{ .Values.worker.autoscaling.minReplicas }}
maxReplicas: {{ .Values.worker.autoscaling.maxReplicas }} maxReplicas: {{ .Values.worker.autoscaling.maxReplicas }}
metrics: metrics:

View File

@ -1,6 +1,7 @@
config: config:
host: "" host: ""
port: "5678" port: "5678"
protocol: http
debug: false debug: false
db_type: postgresdb db_type: postgresdb
postgres: postgres: