Files
n8n/values.yaml
T
claude 2af1ed39a7
Helm Chart Release / release-chart (push) Successful in 4s
fix(workflow): use GitHub Releases + Docker Hub hybrid for version detection
Root cause: Docker Hub sorts tags by last_updated (non-monotonic).
Some versions (e.g. 2.24.x) had older last_updated than 2.23.4, so they
fell off page 1 and were never detected. Workflow stuck at 2.22.2.

Fix:
- Primary source: GitHub Releases API (stable releases, per_page=30)
- Secondary source: Docker Hub page 1 (catches releases before GitHub promotes them)
- Take the maximum of both candidates
- Sanity check: LATEST must be >= CURRENT to prevent false downgrades
- Added --retry 3 and .draft==false filter to GitHub source

Also bump chart and image to 2.26.3 (manual catch-up from 2.22.2).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 17:42:39 +09:00

210 lines
4.1 KiB
YAML

# Default values for n8n
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
registry: docker.io
repository: n8nio/n8n
tag: "2.26.3"
pullPolicy: IfNotPresent
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
create: true
annotations: {}
name: ""
podAnnotations: {}
podSecurityContext:
fsGroup: 1000
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
runAsNonRoot: true
runAsUser: 1000
service:
type: LoadBalancer
# type: ClusterIP
port: 5678
targetPort: 5678
annotations: {}
ingress:
enabled: false
className: "nginx"
annotations: {}
# {
# acme.cert-manager.io/http01-ingress-class: "nginx",
# cert-manager.io/cluster-issuer: "letsencrypt-issuer",
# nginx.ingress.kubernetes.io/from-to-www-redirect: "true",
# nginx.ingress.kubernetes.io/proxy-body-size: "100m"
# }
hosts:
- host: n8n.local
paths:
- path: /
pathType: Prefix
tls: []
# - secretName: n8n-tls
# hosts:
# - n8n.local
# Resource limits suitable for Raspberry Pi
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 80
targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- n8n
topologyKey: kubernetes.io/hostname
# n8n specific configuration
n8n:
# Encryption key for stored credentials (auto-generated if not provided)
encryptionKey: ""
existingSecret: ""
# Host and protocol settings (used for webhook URLs)
host: "n8n.local"
protocol: "http"
# webhookUrl: "https://n8n.example.com/"
# Timezone
timezone: "Asia/Tokyo"
# Log level: error, warn, info, verbose, debug
logLevel: "info"
# Basic authentication
basicAuth:
enabled: false
user: "admin"
password: ""
existingSecret: ""
passwordKey: "basic-auth-password"
# Execution data pruning
executions:
pruneData: true
pruneDataMaxAge: 336 # hours (14 days)
pruneDataMaxCount: 10000
# Database configuration
database:
# type: sqlite (default) or postgresdb
type: "sqlite"
# PostgreSQL settings (used when type=postgresdb)
postgresdb:
host: "postgres.default.svc.cluster.local"
port: 5432
database: "n8n"
user: ""
password: ""
existingSecret: ""
passwordKey: "postgres-password"
# Extra environment variables
extraEnv: {}
# extraEnv:
# N8N_METRICS: "true"
# N8N_DIAGNOSTICS_ENABLED: "false"
# Persistent storage for n8n data (workflows, credentials, sqlite DB)
persistence:
enabled: true
storageClass: ""
accessMode: ReadWriteOnce
size: 5Gi
annotations: {}
# existingClaim: ""
# Liveness and readiness probes
livenessProbe:
enabled: true
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 6
successThreshold: 1
readinessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
# Network Policy
networkPolicy:
enabled: false
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
name: ingress-nginx
ports:
- protocol: TCP
port: 5678
egress:
- to:
- namespaceSelector: {}
ports:
- protocol: TCP
port: 443
- protocol: TCP
port: 80
- to:
- namespaceSelector:
matchLabels:
name: kube-system
ports:
- protocol: UDP
port: 53
# Pod Disruption Budget
podDisruptionBudget:
enabled: true
minAvailable: 1