From 7cdfa7ab8cb7638a26cd1be68817441841b0e24a Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 18 Mar 2026 21:23:19 +0100 Subject: [PATCH] add n8n w/ encrypted secret --- clusters/homelab/apps/n8n.yaml | 16 +++++++++++ clusters/homelab/apps/n8n/helmrelease.yaml | 28 +++++++++++++++++++ clusters/homelab/apps/n8n/helmrepository.yaml | 8 ++++++ clusters/homelab/apps/n8n/kustomization.yaml | 7 +++++ clusters/homelab/apps/n8n/namespace.yaml | 4 +++ clusters/homelab/apps/n8n/secret.sops.yaml | 27 ++++++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 clusters/homelab/apps/n8n.yaml create mode 100644 clusters/homelab/apps/n8n/helmrelease.yaml create mode 100644 clusters/homelab/apps/n8n/helmrepository.yaml create mode 100644 clusters/homelab/apps/n8n/kustomization.yaml create mode 100644 clusters/homelab/apps/n8n/namespace.yaml create mode 100644 clusters/homelab/apps/n8n/secret.sops.yaml diff --git a/clusters/homelab/apps/n8n.yaml b/clusters/homelab/apps/n8n.yaml new file mode 100644 index 0000000..2cf4448 --- /dev/null +++ b/clusters/homelab/apps/n8n.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: n8n + namespace: flux-system +spec: + interval: 10m + path: ./clusters/homelab/apps/n8n + prune: true + sourceRef: + kind: GitRepository + name: flux-system + decryption: + provider: sops + secretRef: + name: sops-age diff --git a/clusters/homelab/apps/n8n/helmrelease.yaml b/clusters/homelab/apps/n8n/helmrelease.yaml new file mode 100644 index 0000000..b55a686 --- /dev/null +++ b/clusters/homelab/apps/n8n/helmrelease.yaml @@ -0,0 +1,28 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: n8n + namespace: n8n +spec: + interval: 1h + chart: + spec: + chart: n8n + version: ">=0.1.0" + sourceRef: + kind: HelmRepository + name: n8n + namespace: n8n + values: + main: + config: + generic: + timezone: "Europe/Berlin" + existingSecret: + name: n8n-secret + keys: + encryptionKey: N8N_ENCRYPTION_KEY + persistence: + enabled: true + storageClass: longhorn + size: 2Gi diff --git a/clusters/homelab/apps/n8n/helmrepository.yaml b/clusters/homelab/apps/n8n/helmrepository.yaml new file mode 100644 index 0000000..14d941d --- /dev/null +++ b/clusters/homelab/apps/n8n/helmrepository.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: n8n + namespace: n8n +spec: + interval: 1h + url: https://8gears.container-registry.com/chartrepo/library diff --git a/clusters/homelab/apps/n8n/kustomization.yaml b/clusters/homelab/apps/n8n/kustomization.yaml new file mode 100644 index 0000000..d39f759 --- /dev/null +++ b/clusters/homelab/apps/n8n/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - secret.sops.yaml + - helmrepository.yaml + - helmrelease.yaml diff --git a/clusters/homelab/apps/n8n/namespace.yaml b/clusters/homelab/apps/n8n/namespace.yaml new file mode 100644 index 0000000..8389695 --- /dev/null +++ b/clusters/homelab/apps/n8n/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: n8n diff --git a/clusters/homelab/apps/n8n/secret.sops.yaml b/clusters/homelab/apps/n8n/secret.sops.yaml new file mode 100644 index 0000000..9f4abbf --- /dev/null +++ b/clusters/homelab/apps/n8n/secret.sops.yaml @@ -0,0 +1,27 @@ +apiVersion: ENC[AES256_GCM,data:TXM=,iv:kMnjXA6mjoW7Nt2S/KpIBaTTd58P/f/yt2YPUB88eX8=,tag:DgL5kDdHMEsIF/2PyfF8jA==,type:str] +kind: ENC[AES256_GCM,data:mcE3qreT,iv:FR0cbdgUk9zYTbQWmk5hCz4veNu76k7zAK9GUQ41mWw=,tag:t1LByyoWyEI5CiQdYpRwZw==,type:str] +metadata: + name: ENC[AES256_GCM,data:1G0DBhxrGBgVQg==,iv:bRQm1Ln/OSb+MxcxxothTfG9jFiF4VCgW1F9laNxoq0=,tag:HbH10nM8rw/74AeqpTKAwQ==,type:str] + namespace: ENC[AES256_GCM,data:ch1x,iv:KZ1QuNnJbCdDs408HV83bMN+S1c74lw/1iY3+c65Yhw=,tag:kiHmZelv2tBAC/spKbDD8w==,type:str] +stringData: + N8N_ENCRYPTION_KEY: ENC[AES256_GCM,data:qT66evyBp0g=,iv:zyK2jHmJJCzCy+9HMDBqBAnWYPtH+3KJ+5+QhnMRTAo=,tag:37hvY/kYIH4DtUVtnFIQ1A==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4aW00Z05ZbktsS2o1SXhm + TTRYQ0tnaFRJb2ozQ3VzTFhBMU83ZlV6aHprCmFWRWlZYXE4RlFlZTkyb2g0OXQ2 + K3JGWWtVKzNVZ3NxMHFLakI4c3BlWGcKLS0tIDZFeW9JNGloRjcvRWdhV1FBaDF5 + S2wwSDBmU0pBTHZVUkNwc0dJVmVEYW8K7H5tNBCb8oVLSnHmBL6u05Z306t5682a + sl91GuzQOIsWp+5gxYLmPidyeV2RBa+lvBk6WSOspAwweoy/sj8Fyw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-18T20:21:37Z" + mac: ENC[AES256_GCM,data:JwRPM+EUoOd5mCwlJQY+FUbcSl3phAKKAgfa4xvaKnX2PCfEXwRnZY7yHy5/3nTwa00FoRlmm1BAj/RPtcFx2KedDbkuMG366WRPfuSeh+9pt2wlHICy+Sq8N4xSZ8SjXm2PFHtAE7MegBOCxngCebYKUvl+2JGjjvdK9UtLlTE=,iv:TzlDv5QRQotKCOEIh1mu5dKe/gFVOdWdvBXcbTIktEo=,tag:dK5whDYwLvwNjUBw/jKXFg==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.9.4