The Admin microservice connects to the same PostgreSQL or Oracle database as the FlowX.AI Engine for storing process definitions.
Environment Variable
Description
Default Value
SPRING_DATASOURCE_URL
JDBC URL for database connection
jdbc:postgresql://localhost:5432/flowx
SPRING_DATASOURCE_USERNAME
Database username
postgres
SPRING_DATASOURCE_PASSWORD
Database password
[your-secure-password]
You will need to make sure that the user, password, connection link and database name are configured correctly, otherwise, you will receive errors at start time.
The database schema is managed by a Liquibase script provided with the Engine.
Ensure that the MongoDB configuration is compatible with the same database requirements as the FlowX.AI Engine, especially if sharing database instances.
Admin Service uses Redis for caching and storing transient data. Configure Redis connection using the standard Redis environment variables.Quick reference:
Environment Variable
Description
Example Value
Status
SPRING_DATA_REDIS_HOST
Redis server hostname
localhost
Recommended
SPRING_DATA_REDIS_PORT
Redis server port
6379
Recommended
SPRING_DATA_REDIS_PASSWORD
Redis authentication password
-
Recommended
REDIS_TTL
Cache TTL in milliseconds
5000000
Optional
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.
When using the kafka-auth profile, the following variables configure OAuth for Kafka:
Environment Variable
Description
Default Value
KAFKA_OAUTH_CLIENT_ID
OAuth client ID
kafka
KAFKA_OAUTH_CLIENT_SECRET
OAuth client secret
kafka-secret
KAFKA_OAUTH_TOKEN_ENDPOINT_URI
OAuth token endpoint
kafka.auth.localhost
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.
You can adjust log levels dynamically without restarting the service using Spring Boot Actuator endpoints. This is particularly useful for troubleshooting and debugging in production environments.Example: Change log level for a specific package
Available log levels:TRACE, DEBUG, INFO, WARN, ERROR, OFF
Using DEBUG or TRACE log levels in production may impact performance and generate large log volumes. Revert to INFO or WARN after troubleshooting is complete.
The FlowX Admin microservice supports authentication and authorization through OpenID Connect (with Keycloak as the default provider) and allows detailed role-based access control.
The Admin service authenticates to other FlowX services with a dedicated service account (the mainIdentity client registration) in the service-accounts realm:
Upgrading from 5.1.x? Remove the legacy opaque-token env vars: SECURITY_OAUTH2_REALM, SECURITY_OAUTH2_CLIENT_CLIENTID, SECURITY_OAUTH2_CLIENT_CLIENTSECRET, and SECURITY_OAUTH2_SERVICEACCOUNT_ADMIN_*. These belong to the removed introspection model and prevent the service from starting on 5.9.x. The OPENID_PROVIDER / OPENID_KEYCLOAK_* / OPENID_ENTRA_* identity-provider block was also removed from the Admin service in 5.9.0. See the authentication and IAM migration guide for the full list.
When deploying with the FlowX Helm chart, SECURITY_OAUTH2_BASESERVERURL is supplied through the chart value flowx.keycloak.baseServerUrl and the service-account client secrets are injected from the chart-managed Keycloak secret. The remaining values ship as image defaults.
The role-based access control is configured in the application YAML and grants specific permissions for platform management, user management, process management, integrations management, and configuration management.
The Admin service is exposed externally on the admin host. 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.
The path is set through services.admin.ingress.admin.path (or services.admin.gateway.admin.paths) in the chart values. Override only if you serve FlowX Admin under a different prefix.
Comma-separated list of origins allowed to call this service from the browser. Supports wildcard subdomains. Must include every Designer and integration domain that issues browser requests against Admin.
-
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.
In production environments, never use the default service account credentials. Always configure secure, environment-specific credentials for authentication.
Sensitive information such as passwords and client secrets should be managed securely using environment variables or a secrets management solution in production environments.
Symptoms: Service crashes on startup or fails health checks.Solutions:
Verify PostgreSQL connection parameters (SPRING_DATASOURCE_URL, credentials) are correct and the database is reachable
Check that MongoDB is running and the connection URI is valid
Ensure Kafka brokers are accessible at the configured SPRING_KAFKA_BOOTSTRAPSERVERS address
Review startup logs for specific error messages indicating which dependency is unavailable
Cannot export or import resources
Symptoms: Import/export operations fail with permission or authentication errors.Solutions:
Verify the Keycloak service account has the required roles for import/export operations
Check that SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_MAINIDENTITY_CLIENTID and SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_MAINIDENTITY_CLIENTSECRET are configured correctly
Ensure the service account has canImport access rights in the target workspace
Confirm the target application version is in a WIP state
Build creation fails
Symptoms: Creating a build returns errors or times out.Solutions:
Check connectivity between Admin and the application-manager service
Verify that the Kafka topics for build operations (KAFKA_TOPIC_BUILD_RUNTIMEDATA) are created and accessible
Ensure version compatibility between Admin and application-manager services
Review Kafka consumer group lag for build-related topics
UI not loading in Designer
Symptoms: Designer interface fails to render or returns blank pages.Solutions:
Verify the Designer service is running and healthy
Check ingress configuration — ensure the Admin ingress (admin-admin) is correctly routing traffic