added n8n
Some checks failed
Helmfile Update Workflow / update-helm-deployment (push) Failing after 2m49s

This commit is contained in:
2024-12-10 22:00:58 +01:00
parent 198eee08aa
commit 913866b6b4
4 changed files with 345 additions and 7 deletions

View File

@@ -1,6 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
app.kubernetes.io/managed-by: Kustomize
resources:
- ./metallb/pool.yaml

View File

@@ -0,0 +1,337 @@
# Default helm values for n8n.
# Default values within the n8n application can be found under https://github.com/n8n-io/n8n/blob/master/packages/cli/src/config/index.ts
n8n:
# if not specified n8n on first launch creates a random encryption key for encrypting saved credentials and saves it in the ~/.n8n folder
encryption_key:
defaults:
config:
executions:
# prune executions by default
pruneData: "true"
# Per default, we store 1 year of history
pruneDataMaxAge: 3760
timezone: Europe/Berlin
# existingSecret and secret are exclusive, with existingSecret taking priority.
# existingSecret: "" # Use an existing Kubernetes secret, e.g created by hand or Vault operator.
# Dict with all n8n json config options, unlike config the values here will end up in a secret.
secret: {}
# Typical Example of a config in combination with a secret.
# config:
# database:
# type: postgresdb
# postgresdb:
# host: 192.168.0.52
# secret:
# database:
# postgresdb:
# password: 'big secret'
## ALL possible n8n Values
# database:
# type: # Type of database to use - Other possible types ['sqlite', 'mariadb', 'mysqldb', 'postgresdb'] - default: sqlite
# tablePrefix: # Prefix for table names - default: ''
# postgresdb:
# database: # PostgresDB Database - default: n8n
# host: # PostgresDB Host - default: localhost
# password: # PostgresDB Password - default: ''
# port: # PostgresDB Port - default: 5432
# user: # PostgresDB User - default: root
# schema: # PostgresDB Schema - default: public
# ssl:
# ca: # SSL certificate authority - default: ''
# cert: # SSL certificate - default: ''
# key: # SSL key - default: ''
# rejectUnauthorized: # If unauthorized SSL connections should be rejected - default: true
# mysqldb:
# database: # MySQL Database - default: n8n
# host: # MySQL Host - default: localhost
# password: # MySQL Password - default: ''
# port: # MySQL Port - default: 3306
# user: # MySQL User - default: root
# credentials:
# overwrite:
# data: # Overwrites for credentials - default: "{}"
# endpoint: # Fetch credentials from API - default: ''
#
# executions:
# process: # In what process workflows should be executed - possible values [main, own] - default: own
# timeout: # Max run time (seconds) before stopping the workflow execution - default: -1
# maxTimeout: # Max execution time (seconds) that can be set for a workflow individually - default: 3600
# saveDataOnError: # What workflow execution data to save on error - possible values [all , none] - default: all
# saveDataOnSuccess: # What workflow execution data to save on success - possible values [all , none] - default: all
# saveDataManualExecutions: # Save data of executions when started manually via editor - default: false
# pruneData: # Delete data of past executions on a rolling basis - default: false
# pruneDataMaxAge: # How old (hours) the execution data has to be to get deleted - default: 336
# pruneDataTimeout: # Timeout (seconds) after execution data has been pruned - default: 3600
# generic:
# timezone: Europe/Berlin # The timezone to use - default: America/New_York
# path: # Path n8n is deployed to - default: "/"
# host: # Host name n8n can be reached - default: localhost
# port: # HTTP port n8n can be reached - default: 5678
# listen_address: # IP address n8n should listen on - default: 0.0.0.0
# protocol: # HTTP Protocol via which n8n can be reached - possible values [http , https] - default: http
# ssl_key: # SSL Key for HTTPS Protocol - default: ''
# ssl_cert: # SSL Cert for HTTPS Protocol - default: ''
# security:
# excludeEndpoints: # Additional endpoints to exclude auth checks. Multiple endpoints can be separated by colon - default: ''
# basicAuth:
# active: # If basic auth should be activated for editor and REST-API - default: false
# user: # The name of the basic auth user - default: ''
# password: # The password of the basic auth user - default: ''
# hash: # If password for basic auth is hashed - default: false
# jwtAuth:
# active: # If JWT auth should be activated for editor and REST-API - default: false
# jwtHeader: # The request header containing a signed JWT - default: ''
# jwtHeaderValuePrefix: # The request header value prefix to strip (optional) default: ''
# jwksUri: # The URI to fetch JWK Set for JWT authentication - default: ''
# jwtIssuer: # JWT issuer to expect (optional) - default: ''
# jwtNamespace: # JWT namespace to expect (optional) - default: ''
# jwtAllowedTenantKey: # JWT tenant key name to inspect within JWT namespace (optional) - default: ''
# jwtAllowedTenant: # JWT tenant to allow (optional) - default: ''
# endpoints:
# rest: # Path for rest endpoint default: rest
# webhook: # Path for webhook endpoint default: webhook
# webhookTest: # Path for test-webhook endpoint default: webhook-test
# webhookWaiting: # Path for waiting-webhook endpoint default: webhook-waiting
# externalHookFiles: # Files containing external hooks. Multiple files can be separated by colon - default: ''
# nodes:
# exclude: # Nodes not to load - default: "[]"
# errorTriggerType: # Node Type to use as Error Trigger - default: n8n-nodes-base.errorTrigger
# Set additional environment variables on the Deployment
extraEnv: {}
# Set this if running behind a reverse proxy and the external port is different from the port n8n runs on
# WEBHOOK_URL: "https://n8n.myhost.com/
# Set additional environment from existing secrets
extraEnvSecrets: {}
# for example, to reuse existing postgres authentication secrets:
# DB_POSTGRESDB_USER:
# name: postgres-user-auth
# key: username
# DB_POSTGRESDB_PASSWORD:
# name: postgres-user-auth
# key: password
## Common Kubernetes Config Settings
persistence:
## If true, use a Persistent Volume Claim, If false, use emptyDir
##
enabled: true
# what type volume, possible options are [existing, emptyDir, dynamic] dynamic for Dynamic Volume Provisioning, existing for using an existing Claim
type: emptyDir
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: "local-path"
## PVC annotations
#
# If you need this annotation include it under values.yml file and pvc.yml template will add it.
# This is not maintained at Helm v3 anymore.
# https://github.com/8gears/n8n-helm-chart/issues/8
#
# annotations:
# helm.sh/resource-policy: keep
## Persistent Volume Access Mode
##
accessModes:
- ReadWriteOnce
## Persistent Volume size
##
size: 10Gi
## Use an existing PVC
##
# existingClaim:
replicaCount: 1
# here you can specify the deployment strategy as Recreate or RollingUpdate with optional maxSurge and maxUnavailable
# If theses options are not set, default values are 25%
# deploymentStrategy:
# type: RollingUpdate
# maxSurge: "50%"
# maxUnavailable: "50%"
deploymentStrategy:
type: "Recreate"
image:
repository: n8nio/n8n
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: ""
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podLabels: {}
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# here you can specify lifecycle hooks - it can be used e.g to easily add packages to the container without building
# your own docker image
# see https://github.com/8gears/n8n-helm-chart/pull/30
lifecycle:
{}
# here's the sample configuration to add mysql-client to the container
# lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "apk add mysql-client"]
# here you can override a command for main container
# it may be used to override starting script (e.g. to resolve issues like https://github.com/n8n-io/n8n/issues/6412) or
# run additional preparation steps (e.g. installing additional software)
command: []
# sample configuration that overrides starting script and solves above issue (also it runs n8n as root, so be careful):
# command:
# - tini
# - --
# - /bin/sh
# - -c
# - chmod o+rx /root; chown -R node /root/.n8n || true; chown -R node /root/.n8n; ln -s /root/.n8n /home/node; chown -R node /home/node || true; node /usr/local/bin/n8n
# here you can override the livenessProbe for the main container
# it may be used to increase the timeout for the livenessProbe (e.g. to resolve issues like
livenessProbe:
httpGet:
path: /healthz
port: http
# initialDelaySeconds: 30
# periodSeconds: 10
# timeoutSeconds: 5
# failureThreshold: 6
# successThreshold: 1
# here you can override the readinessProbe for the main container
# it may be used to increase the timeout for the readinessProbe (e.g. to resolve issues like
readinessProbe:
httpGet:
path: /healthz
port: http
# initialDelaySeconds: 30
# periodSeconds: 10
# timeoutSeconds: 5
# failureThreshold: 6
# successThreshold: 1
# here you can add init containers to the various deployments
initContainers: []
service:
type: ClusterIP
port: 80
annotations: {}
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: traefik
kubernetes.io/tls-acme: "true"
hosts:
- host: n8n.homelab.unkrig.dev
paths: []
tls:
- secretName: n8n-tls
hosts:
- n8n.homelab.unkrig.dev
# define a custom incressClassName, like "traefik" or "nginx"
className: "traefik"
workerResources:
{}
webhookResources:
{}
resources:
{}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}
scaling:
enabled: false
worker:
count: 2
concurrency: 2
# With .Values.scaling.webhook.enabled=true you disable Webhooks from the main process but you enable the processing on a different Webhook instance.
# See https://github.com/8gears/n8n-helm-chart/issues/39#issuecomment-1579991754 for the full explanation.
webhook:
enabled: false
count: 1
redis:
host:
password:
## Bitnami Redis configuration
## https://github.com/bitnami/charts/tree/master/bitnami/redis
redis:
enabled: true
architecture: standalone
master:
persistence:
enabled: true
existingClaim: ""
size: 2Gi

View File

@@ -88,6 +88,13 @@ releases:
values:
- ./applications/openbao/values.yaml
- name: n8n
namespace: n8n
chart: n8n/n8n
version: 0.25.2
values:
- ./applications/n8n/values.yaml
# Automatic DNS for pihole
# - name: externaldns-pihole
# namespace: pihole-system