From 72950dae830b5deb02cdf13ede875e8e248eb23e Mon Sep 17 00:00:00 2001 From: "AB from home.homenet" Date: Tue, 3 Feb 2026 23:22:15 +0200 Subject: [PATCH] Added n8n --- k8s/apps/n8n/app.yaml | 21 ++++++++++++++ k8s/apps/n8n/external-secrets.yaml | 28 +++++++++++++++++++ k8s/apps/n8n/kustomization.yaml | 15 ++++++++++ k8s/apps/n8n/values.yaml | 44 ++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 k8s/apps/n8n/app.yaml create mode 100644 k8s/apps/n8n/external-secrets.yaml create mode 100644 k8s/apps/n8n/kustomization.yaml create mode 100644 k8s/apps/n8n/values.yaml diff --git a/k8s/apps/n8n/app.yaml b/k8s/apps/n8n/app.yaml new file mode 100644 index 0000000..0088ce2 --- /dev/null +++ b/k8s/apps/n8n/app.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: n8n + namespace: argocd +spec: + project: apps + destination: + namespace: n8n + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/apps/n8n + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true + diff --git a/k8s/apps/n8n/external-secrets.yaml b/k8s/apps/n8n/external-secrets.yaml new file mode 100644 index 0000000..f0c50d7 --- /dev/null +++ b/k8s/apps/n8n/external-secrets.yaml @@ -0,0 +1,28 @@ +--- +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: postgres-password +spec: + target: + name: postgres-password + deletionPolicy: Delete + template: + type: Opaque + data: + postgres-password: |- + {{ .n8n }} + data: + - secretKey: n8n + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + conversionStrategy: Default + decodingStrategy: None + metadataPolicy: None + key: 2a9deb39-ef22-433e-a1be-df1555625e22 + property: fields[13].value + + diff --git a/k8s/apps/n8n/kustomization.yaml b/k8s/apps/n8n/kustomization.yaml new file mode 100644 index 0000000..f640fdc --- /dev/null +++ b/k8s/apps/n8n/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - external-secrets.yaml + +helmCharts: + - name: n8n + repo: https://community-charts.github.io/helm-charts + version: 1.16.28 + releaseName: n8n + namespace: n8n + valuesFile: values.yaml + includeCRDs: true + diff --git a/k8s/apps/n8n/values.yaml b/k8s/apps/n8n/values.yaml new file mode 100644 index 0000000..3b4fa2e --- /dev/null +++ b/k8s/apps/n8n/values.yaml @@ -0,0 +1,44 @@ +db: + type: postgresdb + +worker: + mode: queue + +redis: + enabled: true + +externalPostgresql: + existingSecret: postgres-password + host: "psql.psql.svc" + username: "n8n" + database: "n8n" + +main: + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 512m + memory: 512Mi + +ingress: + enabled: true + className: traefik + annotations: + cert-manager.io/cluster-issuer: letsencrypt + traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd + + hosts: + - host: n8n.hexor.cy + paths: + - path: / + pathType: Prefix + tls: + - secretName: jellyfin-tls + hosts: + - '*.hexor.cy' + +nodeSelector: + kubernetes.io/hostname: master.tail2fe2d.ts.net +