FlowX Admin setup
The FlowX.AI Admin microservice manages process-related entities and provides the REST API used by the FlowX.AI Designer. The processes defined here will be handled by the FlowX.AI Engine. The Admin microservice uses most of the same resources as the FlowX.AI Engine.
Infrastructure Prerequisites
Before setting up the Admin microservice, ensure the following components are properly set up:
- Database Instance: The Admin microservice connects to the same database as the FlowX.AI Engine.
Dependencies
Ensure the following dependencies are met:
- Database: Properly configured database instance.
- Datasource: Configuration details for connecting to the database where also the FlowX.Ai Engine is connected.
- Kafka cluster: If you intend to use the FlowX.AI Audit functionality, ensure that the backend microservice can connect to the Kafka cluster. When connected to Kafka, it sends details about all database transactions to a configured Kafka topic.
Datasource configuration
To store process definitions the Admin microservice connects to the same Postgres / Oracle database as the Engine. Make sure to set the needed database connection details.
The following configuration details need to be added using environment variables:
SPRING_DATASOURCE_URL
: This environment variable is used to specify the URL of the database that the Admin microservice and Engine connect to. The URL typically includes the necessary information to connect to the database server, such as the host, port, and database name. It follows the format of the database’s JDBC URL, which is specific to the type of database being used (e.g., PostgreSQL or Oracle).SPRING_DATASOURCE_USERNAME
: This environment variable sets the username that the Admin microservice and Engine used to authenticate themselves when connecting to the database. The username is used to identify the user account that has access to the specified database.SPRING_DATASOURCE_PASSWORD
: This environment variable specifies the password associated with the username provided in theSPRING_DATASOURCE_USERNAME
variable. The password is used to authenticate the user and grant access to the database.
You will need to make sure that the user, password, connection link and db 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.
MongoDB Configuration
The Admin microservice also connects to a MongoDB database for additional data management. Configure the MongoDB connection with the following environment variables:
SPRING_DATA_MONGODB_URI
- URI for connecting to the MongoDB instanceSPRING_DATA_MONGODB_RUNTIME_ENABLED
- Enables runtime MongoDB usage- Default Value:
true
- Default Value:
SPRING_DATA_MONGODB_STORAGE
- Specifies the storage type used for MongoDB- Possible Values:
mongodb
,cosmosdb
- Default Value:
mongodb
- Possible Values:
Ensure that the MongoDB configuration is compatible with the same database requirements as the FlowX.AI Engine, especially if sharing database instances.
Kafka configuration
Kafka is used for saving audit logs and for using scheduled timer events. Only a producer needs to be configured. The environment variables that need to be set are:
KAFKA_BOOTSTRAP_SERVERS
- the Kafka bootstrap servers URLKAFKA_TOPIC_AUDIT_OUT
- topic key for sending audit logsKAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_SET
KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_STOP
Redis configuration
The following values should be set with the corresponding Redis-related values:
SPRING_REDIS_HOST
SPRING_REDIS_PASSWORD
Logging
The following environment variables could be set in order to control log levels:
LOGGING_LEVEL_ROOT
- root spring boot microservice logsLOGGING_LEVEL_APP
- app level logs
Authorization & access roles
The following variables need to be set in order to connect to the identity management platform:
SECURITY_OAUTH2_BASE_SERVER_URL
SECURITY_OAUTH2_CLIENT_CLIENT_ID
SECURITY_OAUTH2_REALM
A specific service account should be configured in the OpenID provider to allow the Admin microservice to access realm-specific data. It can be configured using the following environment variables:
SECURITY_OAUTH2_SERVICE_ACCOUNT_ADMIN_CLIENT_ID
- the openid service account usernameSECURITY_OAUTH2_SERVICE_ACCOUNT_ADMIN_CLIENT_SECRET
- the openid service account client secret
Configuration needed to clear the offline sessions of a user session from the identity provider solution:
FLOWX_AUTHENTICATE_CLIENTID
Configuring access rights for admin
Elasticsearch
SPRING_ELASTICSEARCH_REST_URIS
SPRING_ELASTICSEARCH_REST_DISABLESSL
SPRING_ELASTICSEARCH_INDEX_SETTINGS_NAME
SPRING_ELASTICSEARCH_REST_USERNAME
SPRING_ELASTICSEARCH_REST_PASSWORD
Undo/redo actions
Was this page helpful?