> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment guidelines v5.8.0

> Component versions, environment variables, and configuration changes for FlowX.AI 5.8.0 deployments.

<Info>
  After upgrading to a new platform version, always ensure that your installed component versions match the versions specified in the release notes. To verify this, navigate to **FlowX.AI Designer > Platform Status**.
</Info>

<Frame>
  ![Platform Status screen showing component versions](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/4.6/platform_status.png)
</Frame>

## Component versions

| Component                  | 5.8.0        | 5.7.0    | 5.6.0    | 5.5.0   | 5.4.0   | 5.3.0   |
| -------------------------- | ------------ | -------- | -------- | ------- | ------- | ------- |
| **process-engine**         | **10.106.0** | 10.96.0  | 10.77.0  | 10.60.0 | 10.38.0 | 10.29.0 |
| **admin**                  | **10.93.0**  | 10.83.0  | 10.66.0  | 10.53.0 | 10.38.0 | 10.26.1 |
| **designer**               | **10.181.0** | 10.164.0 | 10.127.3 | 10.91.0 | 10.59.1 | 10.32.4 |
| **cms-core**               | **10.67.0**  | 10.58.0  | 10.43.0  | 10.35.0 | 10.22.0 | 10.16.0 |
| **scheduler-core**         | **10.53.0**  | 10.45.0  | 10.31.0  | 10.25.0 | 10.15.0 | 10.11.1 |
| **events-gateway**         | **10.55.0**  | 10.47.0  | 10.33.1  | 10.27.0 | 10.17.0 | 10.12.1 |
| **notification-plugin**    | **10.64.0**  | 10.56.0  | 10.42.1  | 10.35.0 | 10.22.0 | 10.17.0 |
| **document-plugin**        | **10.75.0**  | 10.64.0  | 10.46.0  | 10.35.0 | 10.23.0 | 10.16.0 |
| **task-management-plugin** | **10.66.0**  | 10.57.0  | 10.41.1  | 10.35.0 | 10.25.0 | 10.18.0 |
| **data-search**            | **10.52.0**  | 10.44.0  | 10.30.1  | 10.25.0 | 10.14.0 | 10.10.1 |
| **audit-core**             | **10.63.0**  | 10.54.0  | 10.40.0  | 10.31.0 | 10.21.0 | 10.15.1 |
| **advancing-controller**   | **10.55.0**  | 10.45.0  | 10.33.1  | 10.27.0 | 10.16.0 | 10.11.0 |
| **integration-designer**   | **10.128.0** | 10.113.0 | 10.84.0  | 10.63.0 | 10.38.0 | 10.24.0 |
| **application-manager**    | **10.97.0**  | 10.88.0  | 10.69.1  | 10.53.0 | 10.37.0 | 10.24.0 |
| **runtime-manager**        | **10.97.0**  | 10.88.0  | 10.69.1  | 10.53.0 | 10.37.0 | 10.24.0 |
| **data-sync**              | **10.58.0**  | 10.50.0  | 10.38.0  | 10.31.1 | 10.20.1 | 10.14.1 |
| **authorization-system**   | **10.77.0**  | 10.68.0  | 10.51.0  | 10.42.1 | 10.28.0 | 10.18.1 |
| **nosql-db-runner**        | **10.56.0**  | 10.48.0  | 10.34.0  | 10.27.0 | 10.17.0 | 10.10.1 |
| **email-gateway**          | **10.56.0**  | 10.47.0  | 10.32.1  | 10.24.0 | 10.9.0  | -       |
| **organization-manager**   | **10.53.0**  | 10.44.0  | 10.26.1  | 10.19.2 | -       | -       |
| **webhook-gateway**        | **10.25.0**  | 10.15.0  | 10.1.1   | -       | -       | -       |
| **license**                | **10.46.0**  | 10.36.0  | -        | -       | -       | -       |

### Embedded components

* **SpiceDB**
* **DGraph**

### Renderers

| Component                     | 5.8.0        | 5.7.0    | 5.6.0    | 5.5.0   | 5.4.0   | 5.3.0   |
| ----------------------------- | ------------ | -------- | -------- | ------- | ------- | ------- |
| **@flowx/angular-sdk**        | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/angular-theme**      | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/angular-ui-toolkit** | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/react-sdk**          | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/react-theme**        | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/react-ui-toolkit**   | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/core-sdk**           | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **@flowx/core-theme**         | **10.181.0** | 10.164.0 | 10.127.3 | 10.68.0 | 10.59.1 | 10.32.4 |
| **iOS renderer**              | 10.3.0       | 10.3.0   | 10.3.0   | 10.3.0  | 10.2.0  | 10.1.0  |
| **Android renderer**          | 10.3.0       | 10.3.0   | 10.3.0   | 10.3.0  | 10.2.0  | 10.1.0  |

### Plugins

| Component            | 5.8.0  | 5.7.0  | 5.6.0  | 5.5.0  | 5.4.0  | 5.3.0  |
| -------------------- | ------ | ------ | ------ | ------ | ------ | ------ |
| **ocr-plugin**       | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 | 1.0.17 |
| **reporting-plugin** | 0.2.3  | 0.2.3  | 0.2.3  | 0.2.3  | 0.2.3  | 0.2.3  |

### AI Platform

| Component                       | 5.8.0      | 5.7.0  | 5.6.0  | 5.5.0  | 5.4.0  |
| ------------------------------- | ---------- | ------ | ------ | ------ | ------ |
| **ai-assistant**                | 10.2.3     | 10.2.3 | 10.2.3 | 10.1.2 | 10.1.2 |
| **ai-platform-ai-assistant**    | **10.7.0** | 10.6.2 | -      | -      | -      |
| **di-platform**                 | 10.3.0     | 10.3.0 | 10.3.0 | 10.2.6 | 10.2.5 |
| **ai-platform-ai-developer**    | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-connected-graph** | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-knowledge-graph** | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-agents**          | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-conversations**   | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-tenants**         | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-planner**         | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-ai-analyst**      | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-ai-designer**     | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-agent-builder**   | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **ai-platform-binaries**        | **10.7.0** | 10.6.2 | 10.6.0 | 10.4.0 | 10.1.3 |
| **embedder**                    | **10.7.0** | 10.6.2 | -      | -      | -      |
| **knowledgebase-rag**           | **10.7.0** | 10.6.2 | 10.6.0 | 10.2.0 | -      |
| **knowledgebase-indexer-v2**    | **10.7.0** | 10.6.2 | 10.6.0 | 10.2.0 | -      |
| **mcp**                         | **10.7.0** | 10.6.2 | 10.6.0 | 10.2.0 | -      |
| **doc-converter**               | 10.2.3     | 10.2.3 | 10.2.2 | -      | -      |
| **doc-parser**                  | **10.7.0** | 10.6.2 | 10.5.1 | -      | -      |
| **web-crawler**                 | **10.3.5** | 10.3.2 | -      | -      | -      |
| **data-privacy**                | **10.1.0** | 10.0.8 | -      | -      | -      |
| **speech-to-text**              | 10.3.3     | 10.3.3 | -      | -      | -      |
| **modpod**                      | 10.0.7     | 10.0.7 | -      | -      | -      |

***

## Third-party recommended component versions

| FlowX.AI Version | 3rd Party Dependency | Supported Versions |
| ---------------- | -------------------- | ------------------ |
| 5.8.0            | Keycloak             | 26+                |
| 5.8.0            | Kafka                | 3.8 - 3.9          |
| 5.8.0            | PostgreSQL           | 16 - 17            |
| 5.8.0            | Oracle Database      | 21c, 23ai          |
| 5.8.0            | MongoDB              | 7 - 8              |
| 5.8.0            | Redis                | 7.4 - 8.0          |
| 5.8.0            | Elasticsearch        | 8                  |
| 5.8.0            | Angular (Web SDK)    | 20                 |
| 5.8.0            | React (Web SDK)      | 18.x               |

***

## Self-hosted deployment changes

### Supported upgrade paths

| Source version | Path      | Notes                                                         |
| -------------- | --------- | ------------------------------------------------------------- |
| **5.7.0**      | Supported | Standard upgrade. {/* TODO: confirm any prerequisites */}     |
| **5.1.x LTS**  | Supported | Direct upgrade from 5.1.x to 5.8.0 is supported.              |
| **5.5 - 5.6**  | SaaS only | These were SaaS-only releases with no on-premises deployment. |

***

## Kafka integration changes

### New Kafka topics

| Topic                                                                                     | Producer                 | Producer env var                                                                   | Consumer                 | Consumer env var                                                         |
| ----------------------------------------------------------------------------------------- | ------------------------ | ---------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------ |
| `ai.flowx.license.events.v1`                                                              | organization-manager     | `KAFKA_TOPIC_LICENSE_EVENTS_OUT`                                                   | license                  | `KAFKA_TOPIC_LICENSE_IN_EVENTS`                                          |
| `ai.flowx.application-version.correction-after-app-operation.custom-component.request.v1` | application-manager      | `KAFKA_TOPIC_APPLICATION_RESOURCE_CORRECTIONAFTERAPPOPERATION_OUT_CUSTOMCOMPONENT` | admin                    | `KAFKA_TOPIC_APPLICATION_CORRECTIONAFTERAPPOPERATION_IN_CUSTOMCOMPONENT` |
| `ai.flowx.ai-platform.knowledgebase.internal.embedding-request.v1`                        | knowledgebase-indexer-v2 | n/a (Python constant)                                                              | embedder                 | n/a (Python constant)                                                    |
| `ai.flowx.ai-platform.knowledgebase.internal.embedding-response.v1`                       | embedder                 | n/a (Python constant)                                                              | knowledgebase-indexer-v2 | n/a (Python constant)                                                    |
| `ai.flowx.plugin.document.trigger.persist.document.session.bulk.v1`                       | process-engine           | (no env var; resolved from `kafka.topic.naming.*`)                                 | document-plugin          | `KAFKA_TOPIC_DOCUMENT_PERSIST_SESSION_BULK_IN`                           |

**License lifecycle events** are delivered from FlowX SaaS to the on-prem license service.

**Custom-component correction requests** complement the existing process / business-rule / reusable-template / ui-flow correction topics that the admin orchestrator already consumed.

**UI Flow multi-file upload** sends a single bulk command to document-plugin in place of the per-file pattern. The plugin persists each file in the session, emits one SSE frame (`UI_FLOW_FILE_UPLOAD_MULTIPLE`, namespace = `uploadBatchId`) at the end of the batch via events-gateway, and forwards per-file results to the existing `ai.flowx.core.trigger.ui-flow.update.v1` topic.

**KB embedding-request / embedding-response** replace the previous gRPC `EmbedderService` path (`BulkGenerateEmbeddings` / `GenerateEmbeddings`); the indexer now publishes one embedding job per chunk and the embedder writes points to Qdrant directly, emitting `KbStoreEntryStateChanged` once all chunks for an entry are persisted.

<Note>
  The two `core-services` topic names (`license.events`, `application-version.correction-after-app-operation.custom-component.request`) resolve from the standard `${kafka.topic.naming.prefix}` / `${kafka.topic.naming.suffix}` machinery: default prefix `ai.flowx.` (empty environment segment), default suffix `.v1`. Operators that want an environment-prefixed topic name (e.g., `ai.flowx.dev.license.events.v1`) set `kafka.topic.naming.environment` globally rather than overriding individual topics. The two AI Platform topics are hard-coded constants in the indexer and embedder and do not participate in the prefix machinery.
</Note>

***

## Environment variables

<Warning>
  **A configuration that blocks startup is a required configuration.** If a service fails to start and its logs report a missing or empty configuration value, treat that value as required and provide it, even when it is not flagged as required here. These guides document the most common variables; they are not an exhaustive list of every value your deployment topology requires.
</Warning>

<Info>
  Environment variable names follow Spring relaxed binding conventions. For example, the YAML property `security.oauth2.sa-realm` maps to the environment variable `SECURITY_OAUTH2_SAREALM` (dots become underscores, hyphens are removed, all uppercase).
</Info>

### New environment variables

| Environment Variable                                                               | Description                                                                                                                                                                                                                            | Default Value                                                                             | Component                |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------ |
| `FLOWX_LICENSE_ORGANIZATIONID`                                                     | Organization ID provided by FlowX. Initialized with the `notset` sentinel; replace it with the value FlowX provides before the license service starts. Type changed from UUID to String in 5.8.0.                                      | `notset`                                                                                  | license                  |
| `KAFKA_CONSUMER_GROUPID_LICENSE_EVENTS`                                            | Kafka consumer group used by the license service to receive license events.                                                                                                                                                            | `license-events`                                                                          | license                  |
| `KAFKA_CONSUMER_THREADS_LICENSE_EVENTS`                                            | Listener container concurrency for the license-events consumer.                                                                                                                                                                        | `1`                                                                                       | license                  |
| `KAFKA_TOPIC_LICENSE_IN_EVENTS`                                                    | License events topic consumed by the license service.                                                                                                                                                                                  | `ai.flowx.license.events.v1`                                                              | license                  |
| `KAFKA_TOPIC_LICENSE_EVENTS_OUT`                                                   | Same topic, producer-side binding on organization-manager.                                                                                                                                                                             | `ai.flowx.license.events.v1`                                                              | organization-manager     |
| `KAFKA_TOPIC_APPLICATION_RESOURCE_CORRECTIONAFTERAPPOPERATION_OUT_CUSTOMCOMPONENT` | Custom-component correction-request topic, producer-side.                                                                                                                                                                              | `ai.flowx.application-version.correction-after-app-operation.custom-component.request.v1` | application-manager      |
| `KAFKA_TOPIC_APPLICATION_CORRECTIONAFTERAPPOPERATION_IN_CUSTOMCOMPONENT`           | Same topic, consumer-side.                                                                                                                                                                                                             | `ai.flowx.application-version.correction-after-app-operation.custom-component.request.v1` | admin                    |
| `MANAGEMENT_HEALTH_REDIS_TIMEOUT`                                                  | Spring Boot Actuator timeout for the Redis health indicator (in ms).                                                                                                                                                                   | `5000`                                                                                    | all services using Redis |
| `SPRING_CACHE_REDIS_PERSISTENCEKEYPREFIX`                                          | Prefix applied to Redis keys for the advancing-controller cache.                                                                                                                                                                       | `flowx:core:cache:advancing-controller:`                                                  | advancing-controller     |
| `REDIS_COMMAND_TIMEOUT`                                                            | Redis command timeout in ms. Fail-fast during master failover. Bound via `${REDIS_COMMAND_TIMEOUT:5000}` placeholder on `spring.data.redis.timeout`.                                                                                   | `5000`                                                                                    | all services using Redis |
| `REDIS_CONNECT_TIMEOUT`                                                            | Redis connection establishment timeout in ms. Bound via `${REDIS_CONNECT_TIMEOUT:5000}`.                                                                                                                                               | `5000`                                                                                    | all services using Redis |
| `REDIS_POOL_MAX_ACTIVE`                                                            | Maximum number of active Redis connections in the pool.                                                                                                                                                                                | `10`                                                                                      | all services using Redis |
| `REDIS_POOL_MAX_IDLE`                                                              | Maximum number of idle Redis connections retained in the pool.                                                                                                                                                                         | `5`                                                                                       | all services using Redis |
| `REDIS_POOL_MIN_IDLE`                                                              | Minimum number of idle Redis connections kept warm in the pool.                                                                                                                                                                        | `1`                                                                                       | all services using Redis |
| `REDIS_POOL_MAX_WAIT`                                                              | Maximum time to wait for an available connection from the pool, in ms.                                                                                                                                                                 | `2000`                                                                                    | all services using Redis |
| `FLOWX_METRICS_STUCKCHECKINTERVALMS`                                               | Interval at which the stuck-events metric scheduler runs (ms). Bound from the inline `@Value("${flowx.metrics.stuck-check-interval-ms:60000}")` default; not in `application.yml`.                                                     | `60000`                                                                                   | advancing-controller     |
| `FLOWX_METRICS_STUCKTHRESHOLDMINUTES`                                              | Age threshold (in minutes) above which an advancing event is considered stuck. Bound from `@Value("${flowx.metrics.stuck-threshold-minutes:5}")`.                                                                                      | `5`                                                                                       | advancing-controller     |
| `FLOWX_DATAPRIVACY_BASEURL`                                                        | Base URL for the new Data Privacy service. Required when any AI workflow node enables the Personal Information Guard.                                                                                                                  | `http://data-privacy:80`                                                                  | integration-designer     |
| `FLOWX_DATAPRIVACY_TIMEOUTSECONDS`                                                 | Request timeout (seconds) for Data Privacy WebClient calls. Sized to accommodate cold-start of the Presidio model on the data-privacy worker.                                                                                          | `60`                                                                                      | integration-designer     |
| `KAFKA_TOPIC_DOCUMENT_PERSIST_SESSION_BULK_IN`                                     | Topic consumed by document-plugin to persist a list of UI Flow temp-files in a single batch. Producer-side is the matching `kafka.topic.session.upload.bulk.out` on process-engine, which resolves from the standard naming machinery. | `ai.flowx.plugin.document.trigger.persist.document.session.bulk.v1`                       | document-plugin          |

{/* TODO: webhook-gateway providerSecret env vars — confirm exact names from MT-2829 implementation when source lands on main */}

### Removed environment variables

| Environment Variable                            | Replaced by                                                                                                                                    | Component                            |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| `FLOWX_SCHEDULER_MASTERELECTION_CRONEXPRESSION` | Removed with the move to single-pod scheduler execution (plat-1549, `commons-scheduler-lib`). No replacement; only one scheduler pod runs now. | application-manager, license         |
| `FLOWX_SCHEDULER_MASTERELECTION_ENABLED`        | Same.                                                                                                                                          | application-manager, license         |
| `FLOWX_SCHEDULER_MASTERELECTION_PROVIDER`       | Same.                                                                                                                                          | application-manager, license         |
| `SCHEDULER_MASTERELECTION_CRONEXPRESSION`       | Same.                                                                                                                                          | integration-designer, process-engine |

***

{/* SCAFFOLD checklist before publish:
- [ ] Run `/update-versions` to populate component version cells
- [ ] Run `/env-sync` against application*.yml in source repos
- [ ] Confirm Kafka topic ownership for the 2 new topics
- [ ] Resolve theme A migration content with Marian
- [ ] Resolve ai-assistant consolidation with Mircea
- [ ] Bold-mark all changed cells vs 5.7.0
- [ ] Add hero iframe URL once theme order is finalized
- [ ] Cross-check against specs/v5.8.0-doc-checklist.md sections G1-G4
*/}
