Configuration
The service comes with most of the needed configuration properties filled in, but there are several environment variables that need to be set up for your specific deployment.Database configuration
The NoSQL DB Runner connects to MongoDB for data persistence. Configure the following variables:Environment Variable | Description | Default Value |
---|---|---|
DB_USERNAME | MongoDB username for the service | nosql-db-runner |
DB_PASSWORD | MongoDB password (should be stored as secret) | secret(mongodb-generic-devenv) |
SPRING_DATA_MONGODB_URI | Complete MongoDB connection string | mongodb://${DB_USERNAME}:${DB_PASSWORD}@nosql-db-runner-mongodb-0.nosql-db-runner-mongodb-headless,nosql-db-runner-mongodb-1.nosql-db-runner-mongodb-headless,nosql-db-runner-mongodb-arbiter-0.nosql-db-runner-mongodb-arbiter-headless:27017/nosql-db-runner?retryWrites=false |
The MongoDB URI supports replica set configuration for high availability. The connection string includes multiple MongoDB instances and an arbiter for proper replica set functionality.
Configuring authorization & access roles
Connect the NoSQL DB Runner to an OAuth 2.0 identity management platform:Environment Variable | Description | Default Value |
---|---|---|
SECURITY_OAUTH2_BASE_SERVER_URL | Base URL for the OAuth 2.0 Authorization Server | https://auth.devmain.flowxai.dev/auth |
SECURITY_OAUTH2_CLIENT_CLIENT_ID | Unique identifier for the client application | paperflow-service |
SECURITY_OAUTH2_CLIENT_CLIENT_SECRET | Secret key for client authentication (stored as secret) | secret(keycloak-generic) |
SECURITY_OAUTH2_REALM | OAuth 2.0 realm name | paperflow |
FlowX operations document limit
This setting allows you to configure the maximum number of documents that can be retrieved from MongoDB in a single request.Environment Variable | Description | Default Value |
---|---|---|
FLOWX_RUNOPERATIONS_DOCUMENTLIMIT | Maximum number of documents to be processed in a single operation | 50 |
Configuring logging
Control log levels for different components of the service:Environment Variable | Description | Default Value |
---|---|---|
LOGGING_CONFIG_FILE | Path to the logging configuration file | logback-spring.xml |
LOGGING_LEVEL_ROOT | Root logger level for the Spring Boot service | DEBUG |
LOGGING_LEVEL_APP | Application-specific log level | DEBUG |
LOGGING_LEVEL_SOCKET | Socket communication log level | DEBUG |
Using DEBUG log levels in production environments may impact performance and generate large log volumes. Consider using INFO or WARN levels for production deployments.
Configuring application management
Configure management endpoints and monitoring capabilities:Environment Variable | Description | Default Value |
---|---|---|
MANAGEMENT_SERVER_PORT | Port for management endpoints | 8081 |
MANAGEMENT_ENDPOINT_HEALTH_GROUP_LIVENESS_INCLUDE | Health checks for liveness probes | ping,accessInfo,buildInfo |
MANAGEMENT_ENDPOINT_HEALTH_GROUP_READINESS_INCLUDE | Health checks for readiness probes | ping,accessInfo,buildInfo |
MANAGEMENT_HEALTH_KUBERNETES_ENABLED | Enable Kubernetes health checks | false |
Prometheus metrics configuration
Enable Prometheus metrics export for monitoring:Environment Variable | Description | Default Value |
---|---|---|
MANAGEMENT_METRICS_EXPORT_PROMETHEUS_ENABLED | Enable Prometheus metrics export | true |
Troubleshooting
Common issues
MongoDB connection failures
MongoDB connection failures
Problem: Service fails to connect to MongoDBSolutions:
- Verify MongoDB connection string format and credentials
- Ensure MongoDB replica set is properly configured and accessible
- Check network connectivity between service and MongoDB instances
- Verify MongoDB user permissions and database access rights
OAuth authentication errors
OAuth authentication errors
Problem: Authentication failures with OAuth providerSolutions:
- Verify OAuth client ID and client secret are correct
- Check OAuth server URL and realm configuration
- Ensure OAuth provider is accessible from the service
- Validate token endpoint URI configuration