The Application Manager and Runtime Manager share the same container image and Helm chart. Refer to the Deployment Guidelines in the release notes to ensure compatibility and verify the correct version.
Infrastructure prerequisites
The Runtime Manager service requires the following components to be set up before it can be started:- PostgreSQL
- MongoDB
- Redis
- Kafka
- OAuth2 Authentication
Dependencies
Change the application name
Core service configuration
Database configuration
The Runtime Manager uses the same PostgreSQL (to store application data) and MongoDB (to manage runtime data) as application-manager. Configure these database connections with the following environment variables:PostgreSQL (Application data)
MongoDB (Runtime data)
Redis configuration
Runtime Manager uses Redis for caching. Configure Redis connection using the standard Redis environment variables. Quick reference:Both
SPRING_DATA_REDIS_* and SPRING_REDIS_* variable prefixes are supported. The SPRING_DATA_REDIS_* prefix is the modern Spring Boot standard and is recommended for new deployments.For advanced Redis deployment modes (Sentinel, Cluster) and SSL/TLS setup, see the Redis Configuration guide. Note that Sentinel and Cluster modes are only supported by the Events Gateway service.
Kafka configuration
Kafka connection
Kafka OAuth authentication
When using the
kafka-auth profile, the security protocol will automatically be set to SASL_PLAINTEXT and the SASL mechanism will be set to OAUTHBEARER.Kafka topics
Since the Runtime Manager shares the same container image as the Application Manager, it uses the same Kafka topic definitions. However, the Runtime Manager conditionally activates a listener for thebuild.runtime-data topic (based on spring.application.name=runtime-manager), which is how it receives runtime data from the Admin service.
Build topics
Consumer configuration
Process topics
Other topics
For the full list of application resource topics (export, import, sync, resource usages, etc.), see the Application Manager Kafka configuration.
Authentication configuration
Security type
Service account configuration
The Runtime Manager and the Application Manager are built from the same artifact and share the
flowx-runtime-manager-sa service account.File storage configuration
S3-compatible storage is used for storing application files, exports, and imports. The Runtime Manager supports MinIO, AWS S3, and other S3-compatible storage solutions.
Ingress and CORS
The Runtime Manager is exposed on both the admin and public hosts. Routing is configured through the FlowX Helm chart, which renders either a Kubernetes Ingress (default) or a Gateway API HTTPRoute per service. CORS handling lives in the service code; only the allowed-origins list is deployment-specific.Service routes
All routes strip the
/rtm prefix before forwarding to the backend. Paths are set through services.runtime-manager.ingress.<key>.path (or gateway.<key>.paths) in the chart values; the chart also applies nginx.ingress.kubernetes.io/proxy-body-size: 50m on the admin route by default to support larger application-version uploads. The admin-instances ingress uses a regex pattern (/rtm/api/(runtime|runtime-internal)) with a rewrite annotation under Ingress mode; under Gateway API mode the chart renders two separate PathPrefix rules instead.
CORS configuration
Allowed methods, allowed headers (including
Authorization, Content-Type, Fx-Workspace-Id), and credential handling are baked into the serviceโs application.yaml with safe defaults. Override these only if you have a non-standard requirement.
For the complete route reference, Gateway API HTTPRoute configuration, and route customization, see the ingress configuration guide.
Note: Replace placeholders in environment variables with the appropriate values for your environment before starting the service.
Troubleshooting
Common issues
Database connection failures
Database connection failures
Symptoms: Service fails to start with database connection errors.Solutions:
- Verify the PostgreSQL database exists and is accessible
- Check that the database user has appropriate permissions
- Ensure network connectivity between the pod and PostgreSQL service
- Verify the JDBC URL format is correct
- For MongoDB, confirm the replica set is healthy and
retryWrites=falseis set in the connection URI
Kafka publishing failures
Kafka publishing failures
Symptoms: Messages not reaching consumers, runtime data not syncing between Admin and Runtime Manager.Solutions:
- Verify that
KAFKA_TOPIC_BUILD_RUNTIMEDATAresolves to the same value in both Admin and Runtime Manager - Check that
KAFKA_TOPIC_NAMING_ENVIRONMENTis consistent across services - Ensure Kafka broker addresses are correct and reachable
- Review consumer group IDs for conflicts with other deployments
- Check Kafka logs for authorization or connectivity errors
Service account authentication errors
Service account authentication errors
Symptoms: 401/403 errors when communicating with other FlowX services.Solutions:
- Verify the Keycloak service account (
flowx-runtime-manager-sa) is properly configured - Check that client secrets match between configuration and Keycloak
- Ensure the service account has required roles assigned
- Confirm
SECURITY_TYPEis set tojwt-public-key - Verify the Keycloak base server URL is accessible from the pod
Related resources
Application Manager
Companion service sharing the same container image and Helm chart
Redis Configuration
Complete Redis setup including Sentinel and Cluster modes
Kafka Authentication
Configure Kafka security and authentication
IAM Configuration
Identity and access management setup

