n8n
n8n workflow automation — editor, Postgres persistence, Redis queue mode, webhook endpoints
@r8s/n8n
Components (1)
N8n
n8n — fair-code workflow automation.
import { Platform } from '@r8s/recipes'
import { N8n } from '@r8s/n8n'
export default (
<Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
<N8n name="n8n" host="n8n.example.com" queueMode workers={3} />
</Platform>
)
namestringOptional—Resource name (defaults to 'n8n')
namespacestringOptional—Kubernetes namespace (inherited from Platform context when omitted)
versionstringOptional—Container image tag (defaults to 'latest' — pin a version in production)
hoststringRequired—Public hostname for the editor and webhooks (required)
replicasnumberOptional—Number of editor replicas when not running in queue mode (defaults to 1)
queueModebooleanOptional—Redis-backed queue mode. Adds a Redis master/replica set and a worker Deployment so webhook ingestion and heavy executions scale independently.
workersnumberOptional—Queue worker replicas (defaults to 2, only used with queueMode)
storagestringOptional—Storage request for the CNPG Postgres cluster (defaults to '10Gi')
encryptionKeySecretNamestringOptional—Name of an existing Secret containing key encryptionKey. n8n encrypts all workflow credentials with this key — lose it and every stored credential is unreadable. Required unless a secrets backend (openbao/vault) is configured on the surrounding Platform — the backend then provisions the key automatically. Plaintext keys are not supported.
resources{ requests?: { cpu?: string, memory?: string }, limits?: { cpu?: string, memory?: string } }Optional—Requested editor resources
tls{ secretName: string, clusterIssuer: string }Optional—TLS configuration (defaults to letsencrypt-prod cluster issuer)