Infrastructure prerequisites
The Integration Designer service requires the following components to be set up before it can be started:Configuration
Core service configuration
WebClient configuration
Integration Designer interacts with various APIs, some of which return large responses. To handle such cases efficiently, the FlowX WebClient buffer size must be configured to accommodate larger payloads, especially when working with legacy APIs that do not support pagination.Database configuration
PostgreSQL
MongoDB
Integration Designer requires two MongoDB databases for managing integration-specific data and runtime data:- Integration Designer Database (
integration-designer): Stores data specific to Integration Designer, such as integration configurations, metadata, and other operational data. - Shared Runtime Database (
app-runtime): Shared across multiple services, this database manages runtime data essential for integration and data flow execution.
Integration Designer requires a runtime connection to function correctly. Starting the service without a configured and active runtime MongoDB connection is not supported.
Configuration parameters
There are two types of Config Params that can be read from the environment: variables and secrets. There is one provider for variables and secrets extracted from the environment variables, and two providers for the ones extracted from Kubernetes. By default, the variables and secrets are extracted from environment variables (env provider).
Configuration parameters from environment variables (default)
Theenv provider used for variables and secrets extracts them from environment variables. For security reasons, the env provider uses an allow list regex which defaults to FLOWX_CONFIGPARAM_.*. This means only environment variables that match this naming pattern can be read at runtime into configuration params (either as variables or secrets). Feel free to edit it to match the environment variables that you use in your deployment.
Configuration parameters from Kubernetes Secrets and ConfigMaps
Use the following configuration to read Config Params from Kubernetes Secrets and ConfigMaps:
These providers can be configured as follows:
You can configure multiple secrets and ConfigMaps by incrementing the index number (e.g.,
FLOWX_CONFIGPARAMS_PROVIDERS_K8SSECRETS_SECRETSLIST_1, FLOWX_CONFIGPARAMS_PROVIDERS_K8SCONFIGMAPS_CONFIGMAPSLIST_1). Values are overridden based on the order in which the maps are defined.The default provider is env, but there is a built-in allowlist with the regex pattern FLOWX_CONFIGPARAM_.*. This means only configuration parameters that match this naming pattern can be read at runtime, whether they are environment variables or secret variables.Kafka configuration
Kafka connection and security variables
Message size configuration
This setting affects:
- Producer message max bytes
- Producer max request size
Consumer configuration
Topic naming convention and pattern creation
The Integration Designer uses a structured topic naming convention that follows a standardized pattern, ensuring consistency across environments and making topics easily identifiable.Topic naming components
Topics are constructed using the following pattern:
ai.flowx.dev.is the prefix (package + environment)eventsgatewayis the servicereceiveis the actionworkflowinstancesis the detail.v1is the suffix (version)
Kafka topic configuration
Core topics
Events gateway topics
Engine and Integration communication topics
Application resource usage topics
OAuth authentication variables (when using SASL_PLAINTEXT)
Inter-Service topic coordination
When configuring Kafka topics in the FlowX ecosystem, ensure proper coordination between services:- Topic name matching: Output topics from one service must match the expected input topics of another service.
-
Pattern consistency: The pattern values must be consistent across services:
- Process Engine listens to topics matching:
ai.flowx.dev.engine.receive.* - Integration Designer listens to topics matching:
ai.flowx.dev.integration.receive.*
- Process Engine listens to topics matching:
-
Communication flow:
- Other services write to topics matching the Engine’s pattern → Process Engine listens
- Process Engine writes to topics matching the Integration Designer’s pattern → Integration Designer listens
The exact pattern value isn’t critical, but it must be identical across all connected services. Some deployments require manually creating Kafka topics in advance rather than dynamically. In these cases, all topic names must be explicitly defined and coordinated.
Kafka topics best practices
Large message handling for workflow instances topic
The workflow instances topic requires special configuration to handle large messages. By default, Kafka has message size limitations that may prevent Integration Designer from processing large workflow payloads. Recommendedmax.message.bytes value: 10485760 (10 MB)
Method: Update using AKHQ (Recommended)
-
Access AKHQ
- Open the AKHQ web interface
- Log in if authentication is required
-
Navigate to Topic
- Go to the “Topics” section
- Find the topic:
ai.flowx.dev.eventsgateway.receive.workflowinstances.v1
-
Edit Configuration
- Click on the topic name
- Go to the “Configuration” tab
- Locate or add
max.message.bytes - Set the value to
10485760 - Save changes
Configuring authentication and access roles
Integration Designer uses OAuth2 for secure access control. Set up OAuth2 configurations with these environment variables:
For detailed instructions on configuring user roles and access rights, refer to:
Access Management
Integration Designer service account
Configuring logging
To control the log levels for Integration Designer, set the following environment variables:Configuring admin ingress
Integration Designer provides an admin ingress route, which can be enabled and customized with additional annotations for SSL certificates or routing preferences.Monitoring and maintenance
To monitor the performance and health of the Integration Designer, use tools like Prometheus or Grafana. Configure Prometheus metrics with:RBAC configuration
Integration Designer requires specific RBAC (Role-Based Access Control) permissions to access Kubernetes ConfigMaps and Secrets, which store necessary configurations and credentials. Set up these permissions by enabling RBAC and defining the required rules:get, list, watch) to ConfigMaps, Secrets, and Pods, which is essential for retrieving application settings and credentials required by Integration Designer.

