# kubernetes/apps/n8n/values.yaml # n8n workflow automation platform # Using chart: https://riatlas.github.io/chart__n8n # --- n8n image --- image: repository: n8nio/n8n tag: "2.0.3" # --- n8n encryption key (loaded from secret) --- n8n: encryption_key: # Will be set via extraEnv from n8n-config-secret # --- n8n configuration --- config: database: type: postgresdb postgresdb: host: pg-n8n-rw # CNPG read-write service port: 5432 database: n8n user: n8n schema: public generic: timezone: America/New_York path: / host: n8n.kube.huskypup.net port: 5678 protocol: https executions: mode: regular saveDataOnError: all saveDataOnSuccess: all saveDataManualExecutions: true pruneData: true pruneDataMaxAge: 3760 # 1 year in hours # --- Secret values (passwords, etc.) --- # Note: password is injected via extraEnvSecrets below secret: {} # --- Deployment replicas --- # Single replica required: RWO PVC can't be shared across pods on different nodes replicaCount: 1 # --- Service configuration --- service: type: ClusterIP port: 80 # --- Security context --- securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault # --- Ingress disabled - Istio VirtualService handles routing --- ingress: enabled: false # --- Persistence for workflows and data --- persistence: enabled: true type: existing existingClaim: n8n-main-persistence storageClass: rook-ceph-block accessModes: - ReadWriteOnce size: 10Gi # --- Resources --- resources: requests: cpu: 100m memory: 512Mi limits: cpu: "1" memory: 1Gi # --- Startup probe --- # Allows app to start without being killed by liveness probe startupProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 12 # 60 seconds total startup time # --- Readiness probe --- readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 2 # --- Liveness probe --- livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 # --- Extra environment variables (from secrets) --- # Secrets are loaded from Kubernetes secrets extraEnvSecrets: # Database password from CNPG-managed secret DB_POSTGRESDB_PASSWORD: name: pg-n8n-app key: password # n8n encryption key N8N_ENCRYPTION_KEY: name: n8n-config-secret key: encryption-key # --- Extra environment variables (plain values) --- extraEnv: # Webhook & Editor URLs WEBHOOK_URL: https://n8n.kube.huskypup.net/ N8N_EDITOR_BASE_URL: https://n8n.kube.huskypup.net # Logging N8N_LOG_LEVEL: error # --- Disable built-in PostgreSQL (we'll deploy it separately with Bitnami) --- postgresql: enabled: false # --- Disable Redis (not needed for single instance) --- redis: enabled: false # --- Scaling (disabled for single instance) --- scaling: enabled: false # --- Extra volumes --- extraVolumes: [] # --- Extra volume mounts --- extraVolumeMounts: [] # --- Node selector --- nodeSelector: {} # --- Tolerations --- tolerations: [] # --- Affinity --- affinity: {}