diff --git a/clusters/cl01tl/helm/blocky/values.yaml b/clusters/cl01tl/helm/blocky/values.yaml index 970ccaca9..d7a6f7ab1 100644 --- a/clusters/cl01tl/helm/blocky/values.yaml +++ b/clusters/cl01tl/helm/blocky/values.yaml @@ -135,7 +135,6 @@ blocky: lidatube IN CNAME traefik-cl01tl listenarr IN CNAME traefik-cl01tl mail IN CNAME traefik-cl01tl - n8n IN CNAME traefik-cl01tl navidrome IN CNAME traefik-cl01tl ntfy IN CNAME traefik-cl01tl objects IN CNAME traefik-cl01tl diff --git a/clusters/cl01tl/helm/gatus/values.yaml b/clusters/cl01tl/helm/gatus/values.yaml index 7b37608b1..f02a90e6c 100644 --- a/clusters/cl01tl/helm/gatus/values.yaml +++ b/clusters/cl01tl/helm/gatus/values.yaml @@ -185,9 +185,6 @@ gatus: - name: argo-workflows url: https://argo-workflows.alexlebens.net <<: *defaults - - name: n8n - url: https://n8n.alexlebens.net - <<: *defaults - name: omni-tools url: https://omni-tools.alexlebens.net <<: *defaults diff --git a/clusters/cl01tl/helm/homepage/values.yaml b/clusters/cl01tl/helm/homepage/values.yaml index 1a79d1967..fdc1a5a7b 100644 --- a/clusters/cl01tl/helm/homepage/values.yaml +++ b/clusters/cl01tl/helm/homepage/values.yaml @@ -331,12 +331,6 @@ homepage: href: https://argo-workflows.alexlebens.net siteMonitor: http://argo-workflows-server.argo-workflows:2746 statusStyle: dot - - API Workflows: - icon: sh-n8n.webp - description: n8n - href: https://n8n.alexlebens.net - siteMonitor: http://n8n-main.n8n:80 - statusStyle: dot - Uptime: icon: sh-gatus.webp description: Gatus diff --git a/clusters/cl01tl/helm/n8n/Chart.lock b/clusters/cl01tl/helm/n8n/Chart.lock deleted file mode 100644 index af52a7d70..000000000 --- a/clusters/cl01tl/helm/n8n/Chart.lock +++ /dev/null @@ -1,15 +0,0 @@ -dependencies: -- name: app-template - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.5.0 -- name: postgres-cluster - repository: oci://harbor.alexlebens.net/helm-charts - version: 7.4.3 -- name: redis-replication - repository: oci://harbor.alexlebens.net/helm-charts - version: 0.5.0 -- name: volsync-target - repository: oci://harbor.alexlebens.net/helm-charts - version: 0.6.0 -digest: sha256:044b0cda285583d8cb792725b75887041f82e5d6906566cd3677d2f67186d7f1 -generated: "2025-12-23T22:38:27.330827-06:00" diff --git a/clusters/cl01tl/helm/n8n/Chart.yaml b/clusters/cl01tl/helm/n8n/Chart.yaml deleted file mode 100644 index b5fb1c93f..000000000 --- a/clusters/cl01tl/helm/n8n/Chart.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: v2 -name: n8n -version: 1.0.0 -description: n8n -keywords: - - n8n - - automation -home: https://wiki.alexlebens.dev/s/e4544bd4-c66a-420c-8020-c54b2078181a -sources: - - https://github.com/n8n-io/n8n - - https://github.com/cloudnative-pg/cloudnative-pg - - https://github.com/n8n-io/n8n/pkgs/container/n8n - - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template - - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster -maintainers: - - name: alexlebens -dependencies: - - name: app-template - alias: n8n - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.5.0 - - name: postgres-cluster - alias: postgres-18-cluster - version: 7.4.4 - repository: oci://harbor.alexlebens.net/helm-charts - - name: redis-replication - version: 0.5.0 - repository: oci://harbor.alexlebens.net/helm-charts - - name: volsync-target - alias: volsync-target-data - version: 0.6.0 - repository: oci://harbor.alexlebens.net/helm-charts -icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/n8n.png -# renovate: github=n8n-io/n8n -appVersion: 2.0.1 diff --git a/clusters/cl01tl/helm/n8n/templates/external-secret.yaml b/clusters/cl01tl/helm/n8n/templates/external-secret.yaml deleted file mode 100644 index 6c662bcf6..000000000 --- a/clusters/cl01tl/helm/n8n/templates/external-secret.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: external-secrets.io/v1 -kind: ExternalSecret -metadata: - name: n8n-config-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: n8n-config-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: key - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/n8n/config - metadataPolicy: None - property: key diff --git a/clusters/cl01tl/helm/n8n/values.yaml b/clusters/cl01tl/helm/n8n/values.yaml deleted file mode 100644 index 775c04e1c..000000000 --- a/clusters/cl01tl/helm/n8n/values.yaml +++ /dev/null @@ -1,441 +0,0 @@ -n8n: - controllers: - main: - type: deployment - replicas: 1 - strategy: Recreate - revisionHistoryLimit: 3 - containers: - main: - image: - repository: ghcr.io/n8n-io/n8n - tag: 2.2.1 - pullPolicy: IfNotPresent - env: - - name: GENERIC_TIMEZONE - value: US/Central - - name: DB_TYPE - value: postgresdb - - name: DB_POSTGRESDB_DATABASE - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: dbname - - name: DB_POSTGRESDB_HOST - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: host - - name: DB_POSTGRESDB_PORT - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: port - - name: DB_POSTGRESDB_USER - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: user - - name: DB_POSTGRESDB_PASSWORD - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: password - - name: N8N_METRICS - value: true - - name: QUEUE_HEALTH_CHECK_ACTIVE - value: true - - name: EXECUTIONS_MODE - value: queue - - name: QUEUE_BULL_REDIS_HOST - value: redis-replication-n8n-master.n8n - - name: N8N_ENCRYPTION_KEY - valueFrom: - secretKeyRef: - name: n8n-config-secret - key: key - - name: WEBHOOK_URL - value: https://n8n.alexlebens.net/ - probes: - liveness: - enabled: true - custom: true - spec: - httpGet: - path: /healthz - port: 5678 - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - readiness: - enabled: true - custom: true - spec: - httpGet: - path: /healthz/readiness - port: 5678 - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - resources: - requests: - cpu: 10m - memory: 128Mi - worker: - type: daemonset - revisionHistoryLimit: 3 - pod: - nodeSelector: - kubernetes.io/arch: amd64 - containers: - main: - image: - repository: ghcr.io/n8n-io/n8n - tag: 2.2.1 - pullPolicy: IfNotPresent - command: - - n8n - args: - - worker - # - --concurrency=10 - env: - - name: GENERIC_TIMEZONE - value: US/Central - - name: DB_TYPE - value: postgresdb - - name: DB_POSTGRESDB_DATABASE - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: dbname - - name: DB_POSTGRESDB_HOST - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: host - - name: DB_POSTGRESDB_PORT - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: port - - name: DB_POSTGRESDB_USER - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: user - - name: DB_POSTGRESDB_PASSWORD - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: password - - name: N8N_METRICS - value: true - - name: N8N_RUNNERS_ENABLED - value: true - - name: N8N_BLOCK_ENV_ACCESS_IN_NODE - value: true - - name: N8N_GIT_NODE_DISABLE_BARE_REPOS - value: true - - name: QUEUE_HEALTH_CHECK_ACTIVE - value: true - - name: EXECUTIONS_MODE - value: queue - - name: QUEUE_BULL_REDIS_HOST - value: redis-replication-n8n-master.n8n - - name: N8N_ENCRYPTION_KEY - valueFrom: - secretKeyRef: - name: n8n-config-secret - key: key - - name: WEBHOOK_URL - value: https://n8n.alexlebens.net/ - probes: - liveness: - enabled: false - custom: true - spec: - httpGet: - path: /healthz - port: 5678 - initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - readiness: - enabled: false - custom: true - spec: - httpGet: - path: /healthz/readiness - port: 5678 - initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - resources: - requests: - cpu: 10m - memory: 128Mi - webhook: - type: daemonset - revisionHistoryLimit: 3 - pod: - nodeSelector: - kubernetes.io/arch: amd64 - containers: - main: - image: - repository: ghcr.io/n8n-io/n8n - tag: 2.2.1 - pullPolicy: IfNotPresent - command: - - n8n - args: - - webhook - env: - - name: GENERIC_TIMEZONE - value: US/Central - - name: DB_TYPE - value: postgresdb - - name: DB_POSTGRESDB_DATABASE - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: dbname - - name: DB_POSTGRESDB_HOST - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: host - - name: DB_POSTGRESDB_PORT - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: port - - name: DB_POSTGRESDB_USER - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: user - - name: DB_POSTGRESDB_PASSWORD - valueFrom: - secretKeyRef: - name: n8n-postgresql-18-cluster-app - key: password - - name: N8N_METRICS - value: true - - name: QUEUE_HEALTH_CHECK_ACTIVE - value: true - - name: EXECUTIONS_MODE - value: queue - - name: QUEUE_BULL_REDIS_HOST - value: redis-replication-n8n-master.n8n - - name: N8N_ENCRYPTION_KEY - valueFrom: - secretKeyRef: - name: n8n-config-secret - key: key - - name: WEBHOOK_URL - value: https://n8n.alexlebens.net/ - - name: N8N_DIAGNOSTICS_ENABLED - value: false - - name: N8N_VERSION_NOTIFICATIONS_ENABLED - value: false - probes: - liveness: - enabled: true - custom: true - spec: - httpGet: - path: /healthz - port: 5678 - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - readiness: - enabled: true - custom: true - spec: - httpGet: - path: /healthz/readiness - port: 5678 - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - failureThreshold: 3 - resources: - requests: - cpu: 10m - memory: 128Mi - service: - main: - controller: main - ports: - http: - port: 80 - targetPort: 5678 - protocol: HTTP - worker: - controller: worker - ports: - http: - port: 80 - targetPort: 5678 - protocol: HTTP - webhook: - controller: webhook - ports: - http: - port: 80 - targetPort: 5678 - protocol: HTTP - serviceMonitor: - main: - selector: - matchLabels: - app.kubernetes.io/name: n8n-main - app.kubernetes.io/instance: n8n-main - serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' - endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m - path: /metrics - worker: - selector: - matchLabels: - app.kubernetes.io/name: n8n-worker - app.kubernetes.io/instance: n8n-worker - serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' - endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m - path: /metrics - webhook: - selector: - matchLabels: - app.kubernetes.io/name: n8n-webhook - app.kubernetes.io/instance: n8n-webhook - serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}' - endpoints: - - port: http - interval: 3m - scrapeTimeout: 1m - path: /metrics - route: - main: - kind: HTTPRoute - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: traefik-gateway - namespace: traefik - hostnames: - - n8n.alexlebens.net - rules: - - backendRefs: - - group: '' - kind: Service - name: n8n-main - port: 80 - weight: 100 - matches: - - path: - type: PathPrefix - value: / - - path: - type: PathPrefix - value: /webhook-test/ - - backendRefs: - - group: '' - kind: Service - name: n8n-webhook - port: 80 - weight: 100 - matches: - - path: - type: PathPrefix - value: /webhook/ - - path: - type: PathPrefix - value: /webhook-waiting/ - - path: - type: PathPrefix - value: /form/ - persistence: - data: - storageClass: ceph-block - accessMode: ReadWriteOnce - size: 5Gi - advancedMounts: - main: - main: - - path: /data - readOnly: false - cache: - type: emptyDir - advancedMounts: - worker: - main: - - path: /home/node/.n8n - readOnly: false - webhook: - main: - - path: /home/node/.n8n - readOnly: false -postgres-18-cluster: - mode: recovery - recovery: - method: objectStore - objectStore: - index: 1 - backup: - objectStore: - - name: garage-local - index: 1 - destinationBucket: postgres-backups - externalSecretCredentialPath: /garage/home-infra/postgres-backups - isWALArchiver: true - # - name: garage-remote - # index: 1 - # destinationBucket: postgres-backups - # externalSecretCredentialPath: /garage/home-infra/postgres-backups - # retentionPolicy: "90d" - # data: - # compression: bzip2 - # - name: external - # index: 1 - # endpointURL: https://nyc3.digitaloceanspaces.com - # destinationBucket: postgres-backups-ce540ddf106d186bbddca68a - # externalSecretCredentialPath: /garage/home-infra/postgres-backups - # isWALArchiver: false - scheduledBackups: - - name: live-backup - suspend: false - immediate: true - schedule: "0 0 0 * * *" - backupName: garage-local - # - name: weekly-backup - # suspend: true - # immediate: true - # schedule: "0 0 4 * * SAT" - # backupName: garage-remote - # - name: daily-backup - # suspend: true - # immediate: true - # schedule: "0 0 0 * * *" - # backupName: external -redis-replication: - existingSecret: - enabled: false - redisReplication: - clusterSize: 1 - redisSentinel: - enabled: false - clusterSize: 3 -volsync-target-data: - pvcTarget: n8n diff --git a/hosts/ps08rp/blocky/config.yml b/hosts/ps08rp/blocky/config.yml index 1cef16f25..35e390588 100644 --- a/hosts/ps08rp/blocky/config.yml +++ b/hosts/ps08rp/blocky/config.yml @@ -111,7 +111,6 @@ customDNS: lidatube IN CNAME traefik-cl01tl listenarr IN CNAME traefik-cl01tl mail IN CNAME traefik-cl01tl - n8n IN CNAME traefik-cl01tl navidrome IN CNAME traefik-cl01tl ntfy IN CNAME traefik-cl01tl objects IN CNAME traefik-cl01tl diff --git a/hosts/ps09rp/blocky/config.yml b/hosts/ps09rp/blocky/config.yml index 1cef16f25..35e390588 100644 --- a/hosts/ps09rp/blocky/config.yml +++ b/hosts/ps09rp/blocky/config.yml @@ -111,7 +111,6 @@ customDNS: lidatube IN CNAME traefik-cl01tl listenarr IN CNAME traefik-cl01tl mail IN CNAME traefik-cl01tl - n8n IN CNAME traefik-cl01tl navidrome IN CNAME traefik-cl01tl ntfy IN CNAME traefik-cl01tl objects IN CNAME traefik-cl01tl diff --git a/renovate.json b/renovate.json index 1a9222ad0..c7c5ea964 100644 --- a/renovate.json +++ b/renovate.json @@ -99,7 +99,6 @@ "ghcr.io/linuxserver/prowlarr", "ghcr.io/linuxserver/radarr", "ghcr.io/linuxserver/sonarr", - "ghcr.io/n8n-io/n8n", "ghcr.io/prometheus-community/charts/kube-prometheus-stack", "vectorim/element-web" ],