Deploy n8n on Kubernetes — a workflow automation platform with a visual editor,
200+ integrations, and code nodes. Supports SQLite (zero-configuration default), PostgreSQL, and MySQL,
with Redis-backed queue mode for horizontal scaling of workflow executions.
encryptionKey protects all stored credentials — losing it invalidates every workflow connection
n8n.encryptionKey encrypts OAuth tokens, API keys, and passwords stored in workflow credentials. If the key changes
(including during reinstall with a new auto-generated key), all saved credentials in all workflows become
permanently unreadable. Always persist it via encryptionKey.existingSecret and never rotate it in production.
Key Features
Three database backends — SQLite (default), PostgreSQL, MySQL
Queue mode — Redis-backed horizontal scaling with separate worker Deployments
Encryption key protection — all workflow credentials encrypted at rest
Webhook URL required — must match the external-facing URL for triggers to work
Database-aware backup — tar for SQLite, pg_dump for PostgreSQL, mysqldump for MySQL
Enable PVC for /home/node/.n8n (SQLite DB + custom nodes).
persistence.size
string
5Gi
PVC size.
persistence.storageClass
string
""
StorageClass for the PVC.
persistence.existingClaim
string
""
Use an existing PVC.
Backup
Backup mode is automatically selected based on the active database vendor.
Parameter
Type
Default
Description
backup.enabled
boolean
false
Enable scheduled S3 backup CronJob.
backup.schedule
string
"0 3 * * *"
Cron schedule.
backup.archivePrefix
string
n8n
Prefix for backup archive filenames.
backup.s3.endpoint
string
""
S3-compatible endpoint URL.
backup.s3.bucket
string
""
Target bucket name.
backup.s3.existingSecret
string
""
Existing secret with S3 credentials.
backup.database.postgresDumpArgs
string
""
Extra arguments for pg_dump.
backup.database.mysqlDumpArgs
string
--single-transaction ...
Extra arguments for mysqldump.
Service, Ingress, Probes
Parameter
Type
Default
Description
service.type
string
ClusterIP
Service type.
ingress.enabled
boolean
false
Enable an Ingress resource.
ingress.ingressClassName
string
""
Ingress class name.
startupProbe.enabled
boolean
true
Startup probe on /healthz.
livenessProbe.enabled
boolean
true
Liveness probe on /healthz.
readinessProbe.enabled
boolean
true
Readiness probe on /healthz.
resources
object
{}
CPU and memory requests/limits.
extraManifests
array
[]
Extra Kubernetes manifests.
Upgrade Notes
n8n 2.35.3 includes core, scaling-mode, queue, and task-runner maintenance
updates. Review the
upstream 2.35.3 release notes,
back up the database, and preserve the encryption key before upgrading.
When using helm upgrade --reuse-values, explicitly set
image.tag=2.35.3; Helm otherwise retains the previous image override. Also
update taskRunners.image.tag when it was pinned separately.