diff --git a/src/data/playground-configs.ts b/src/data/playground-configs.ts index fcb8ee17..b2c86f78 100644 --- a/src/data/playground-configs.ts +++ b/src/data/playground-configs.ts @@ -3750,18 +3750,52 @@ export const chartConfigs: Record = { name: 'General', fields: [ { - label: 'Replica Count', - key: 'replicaCount', - type: 'number', - default: '1', - description: 'Number of replicas', + label: 'Webhook URL', + key: 'n8n.webhookUrl', + type: 'text', + default: '', + description: 'Full external URL for webhook triggers. Required for all webhook nodes.', + }, + { + label: 'Editor Base URL', + key: 'n8n.editorBaseUrl', + type: 'text', + default: '', + description: 'Editor base URL, auto-detected from ingress when empty', }, { label: 'Storage Size', key: 'persistence.size', type: 'text', default: '5Gi', - description: 'PVC storage size', + description: 'n8n data PVC size', + }, + ], + }, + { + name: 'Queue', + collapsible: true, + fields: [ + { + label: 'Enable Queue Mode', + key: 'queue.enabled', + type: 'toggle', + default: 'false', + description: 'Run n8n in Redis-backed queue mode', + }, + { + label: 'Workers', + key: 'queue.workers', + type: 'number', + default: '1', + description: 'Worker replicas when queue mode is enabled', + }, + { + label: 'Worker Concurrency', + key: 'queue.concurrency', + type: 'number', + default: '10', + description: 'Workflow executions per worker', }, ], }, @@ -4432,17 +4466,44 @@ export const chartConfigs: Record = { fields: [ { label: 'Replica Count', - key: 'replicaCount', + key: 'flowise.replicaCount', type: 'number', default: '1', - description: 'Number of replicas', + description: 'Main Flowise server replicas', + }, + { + label: 'Application URL', + key: 'flowise.appUrl', + type: 'text', + default: '', + description: 'Public Flowise URL, auto-detected from ingress when empty', }, { label: 'Storage Size', key: 'persistence.size', type: 'text', - default: '5Gi', - description: 'PVC storage size', + default: '10Gi', + description: 'Flowise data PVC size', + }, + ], + }, + { + name: 'Queue', + collapsible: true, + fields: [ + { + label: 'Worker Replicas', + key: 'queue.worker.replicaCount', + type: 'number', + default: '1', + description: 'Worker replicas when queue mode is enabled', + }, + { + label: 'Worker Concurrency', + key: 'queue.worker.concurrency', + type: 'number', + default: '100000', + description: 'Simultaneous BullMQ jobs per worker', }, ], }, @@ -4481,11 +4542,26 @@ export const chartConfigs: Record = { fields: [ { label: 'Hostname', - key: 'ingress.hostname', + key: 'ingress.hosts[0].host', type: 'text', default: 'flowise.example.com', description: 'Ingress hostname', }, + { + label: 'Path', + key: 'ingress.hosts[0].paths[0].path', + type: 'text', + default: '/', + description: 'Ingress path', + }, + { + label: 'Path Type', + key: 'ingress.hosts[0].paths[0].pathType', + type: 'select', + default: 'Prefix', + options: ['Prefix', 'Exact', 'ImplementationSpecific'], + description: 'Ingress path matching mode', + }, { label: 'Ingress Class', key: 'ingress.ingressClassName', @@ -4494,7 +4570,6 @@ export const chartConfigs: Record = { options: ['traefik', 'nginx'], description: 'Ingress controller class', }, - { label: 'TLS', key: 'ingress.tls', type: 'toggle', default: 'false', description: 'Enable TLS' }, ], }, ], diff --git a/src/pages/docs/charts/flowise.mdx b/src/pages/docs/charts/flowise.mdx index 91111e13..c64dfcca 100644 --- a/src/pages/docs/charts/flowise.mdx +++ b/src/pages/docs/charts/flowise.mdx @@ -151,13 +151,15 @@ architecture: mode: queue flowise: - replicaCount: 2 # main pods (UI + API + job submission) + replicaCount: 1 # start with one main pod for first-boot migrations + startupDelaySeconds: 3 appUrl: 'https://flowise.example.com' queue: name: flowise-queue worker: replicaCount: 3 # separate worker pods consuming BullMQ jobs + startupDelaySeconds: 30 # let the main pod own initial database migrations concurrency: 10 # simultaneous BullMQ jobs per worker auth: @@ -252,19 +254,20 @@ persistence: | Parameter | Type | Default | Description | | ------------------ | ------ | ----------------------------- | -------------- | | `image.repository` | string | `docker.io/flowiseai/flowise` | Flowise image. | -| `image.tag` | string | `"3.1.1"` | Image tag. | +| `image.tag` | string | `"3.1.3"` | Image tag. | ### Flowise Configuration -| Parameter | Type | Default | Description | -| -------------------------- | ------- | ------- | ------------------------------------------------------- | -| `flowise.replicaCount` | integer | `1` | Main pod replicas. Use `queue` mode for more than 1. | -| `flowise.appUrl` | string | `""` | Full public URL. Auto-detected from Ingress if empty. | -| `flowise.logLevel` | string | `info` | Log level: `error`, `warn`, `info`, `verbose`, `debug`. | -| `flowise.fileSizeLimit` | string | `50mb` | Maximum file upload size accepted by Flowise. | -| `flowise.corsOrigins` | string | `*` | Allowed CORS origins. | -| `flowise.disableTelemetry` | boolean | `true` | Disable telemetry reporting. | -| `flowise.extraEnv` | array | `[]` | Extra environment variables for the main container. | +| Parameter | Type | Default | Description | +| ----------------------------- | ------- | ------- | ------------------------------------------------------- | +| `flowise.replicaCount` | integer | `1` | Main pod replicas. Use `queue` mode for more than 1. | +| `flowise.startupDelaySeconds` | integer | `3` | Delay before starting the main Flowise server. | +| `flowise.appUrl` | string | `""` | Full public URL. Auto-detected from Ingress if empty. | +| `flowise.logLevel` | string | `info` | Log level: `error`, `warn`, `info`, `verbose`, `debug`. | +| `flowise.fileSizeLimit` | string | `50mb` | Maximum file upload size accepted by Flowise. | +| `flowise.corsOrigins` | string | `*` | Allowed CORS origins. | +| `flowise.disableTelemetry` | boolean | `true` | Disable telemetry reporting. | +| `flowise.extraEnv` | array | `[]` | Extra environment variables for the main container. | ### Auth Secrets @@ -290,7 +293,7 @@ persistence: | `database.external.ssl` | boolean | `false` | Enable SSL for external database connections. | - Flowise 3.1.1 migrations use `uuid_generate_v4()`, which requires `uuid-ossp`. The bundled + Flowise 3.1.3 migrations use `uuid_generate_v4()`, which requires `uuid-ossp`. The bundled PostgreSQL subchart injects this extension automatically via `initdb.scripts`. For external PostgreSQL, run manually before installing: @@ -313,18 +316,21 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; In queue mode, multiple main and worker pods share the same blob storage. Local PVC (`ReadWriteOnce`) cannot be shared - across pods. Set `persistence.enabled: false` and configure `storage.type: s3` with a shared S3-compatible bucket. + across pods. Set `persistence.enabled: false` and configure `storage.type: s3` with a shared S3-compatible bucket. On + first boot, keep `flowise.replicaCount: 1` and let `queue.worker.startupDelaySeconds` delay workers so the main server + owns database migrations before workers connect. Scale main pods after the database is initialized. -| Parameter | Type | Default | Description | -| ---------------------------- | ------- | --------------- | --------------------------------------------- | -| `queue.name` | string | `flowise-queue` | BullMQ queue name shared by main and workers. | -| `queue.worker.replicaCount` | integer | `1` | Number of worker Deployment replicas. | -| `queue.worker.concurrency` | integer | `100000` | Simultaneous BullMQ jobs per worker. | -| `queue.worker.removeOnAge` | integer | `86400` | Completed job retention in seconds. | -| `queue.worker.removeOnCount` | integer | `10000` | Maximum completed job count retained. | -| `queue.worker.extraEnv` | array | `[]` | Extra environment variables for worker pods. | -| `queue.worker.resources` | object | `{}` | CPU/memory requests and limits for workers. | +| Parameter | Type | Default | Description | +| ---------------------------------- | ------- | --------------- | --------------------------------------------- | +| `queue.name` | string | `flowise-queue` | BullMQ queue name shared by main and workers. | +| `queue.worker.replicaCount` | integer | `1` | Number of worker Deployment replicas. | +| `queue.worker.startupDelaySeconds` | integer | `30` | Delay before starting worker pods. | +| `queue.worker.concurrency` | integer | `100000` | Simultaneous BullMQ jobs per worker. | +| `queue.worker.removeOnAge` | integer | `86400` | Completed job retention in seconds. | +| `queue.worker.removeOnCount` | integer | `10000` | Maximum completed job count retained. | +| `queue.worker.extraEnv` | array | `[]` | Extra environment variables for worker pods. | +| `queue.worker.resources` | object | `{}` | CPU/memory requests and limits for workers. | ### Storage diff --git a/src/pages/playground.astro b/src/pages/playground.astro index ae5012d4..07a4cc88 100644 --- a/src/pages/playground.astro +++ b/src/pages/playground.astro @@ -45,6 +45,7 @@ const siteSyncPlaygroundConfigs: Record = { drupal: 'src/data/playground-configs.ts', 'envoy-gateway': 'src/data/playground-configs.ts', 'fastmcp-server': 'src/data/playground-configs.ts', + flowise: 'src/data/playground-configs.ts', medikeep: 'src/data/playground-configs.ts', memcached: 'src/data/playground-configs.ts', notediscovery: 'src/data/playground-configs.ts',