Table of system settings for AI Hub Server
See also:
This table gives an overview over all AI Hub Server properties that can be set via environment variables.
This application is a Spring Boot application and therefore those property values can be also applied, e.g.
SPRING_APPLICATION_NAME=Test
would change the Spring's application name to Test.
Other properties not listed here should not be changed and have reasonable defaults. If you're behind a proxy, you can also add SERVER_FORWARD_HEADERS_STRATEGY=framework
which will change headers
X-Forwarded-*
to actual headers and removing the forwarded headers.
Running AI Hub Server in High Availability (HA) mode
Add clustered
to SPRING_PROFILES_ACTIVE
for using clustered scheduler, e.g. default,clustered
. The Web API Agent registry can also be run on multiple
AI Hub Servers, making them more resilient to failure. To achieve this mode, the AI Hub Servers need to replicate the registry from every peer.
The environment variable EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE
handles the connection property to the peers of the AI Hub Server, the Web API Agents and the Web API Gateway. This
property is derived from the WEB_API_REGISTRY_*
properties in the standalone mode, but must be explicitly set in the HA mode. The EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE
is derived as:
${WEBAPI_REGISTRY_PROTOCOL}://${WEBAPI_REGISTRY_USERNAME}:${WEBAPI_REGISTRY_PASSWORD}@${WEBAPI_REGISTRY_HOST}:${WEBAPI_REGISTRY_PORT}${WEBAPI_REGISTRY_CONTEXT_PATH}/eureka
In the HA mode all available AI Hub Servers need to be added to this property, so that every part of the AI Hub stack has access to all AI Hub Servers, e.g.
Property | AI Hub Server 1 | AI Hub Server 2 |
---|---|---|
WEBAPI_REGISTRY_PROTOCOL |
https | https |
WEBAPI_REGISTRY_USERNAME |
admin | admin |
WEBAPI_REGISTRY_PASSWORD |
example | example |
WEBAPI_REGISTRY_HOST |
peer1 | peer2 |
WEBAPI_REGISTRY_PORT |
8080 | 8080 |
WEBAPI_REGISTRY_CONTEXT_PATH |
The resulting EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE
for AI Hub Server 1
needs to be set to EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=https://admin:example@peer2:8080/eureka/, https://admin:example@peer1:8080/eureka/
. The
first entry needs to be the other AI Hub Server. For the AI Hub Server 2
this needs to be set to EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=https://admin:example@peer1:8080/eureka/, https://admin:example@peer2:8080/eureka/
.
The entries of the EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE
are sorted by priority. A component first tries to connect to the first one, and if that is not available, it will connect to the second one and so on. If more than two
AI Hub Servers are running in the HA mode, they need to be added to this property as well. For AI Hub Servers the environment variable EUREKA_CLIENT_FETCH_REGISTRY
needs to be set to true
. This is already the case on the other components.
The same environment variable needs to be set for the other components, like the Web API Agent and the Web API Gateway. The same priority applies here as well.
Backend
Property | Default | Description |
---|---|---|
DB_HOST |
The host for the postgres database | |
DB_PORT |
The port for the postgres database | |
DB_NAME |
The schema/db name for the postgres database | |
DB_USER |
The user for the postgres database | |
DB_PASSWORD |
The password for the postgres database | |
KEYCLOAK_AUTH_SERVER_URL |
URL to Keycloak | |
KEYCLOAK_SSL_REQUIRED |
NONE |
If connections to Keycloak enforce SSL |
AUTH_REALM |
AIHub |
The realm to use for Keycloak |
AUTH_SERVICE_CLIENT_ID |
aihub-backend |
The Keycloak client id |
AUTH_SERVICE_CLIENT_SECRET |
The secret for the configured Keycloak client | |
AUTH_CLIENTS_FRONTEND_CLIENT_ID |
aihub-frontend |
The default client id for the frontend |
AUTH_CLIENTS_FRONTEND_AUTH_URL |
Derived from KEYCLOAK_AUTH_SERVER_URL |
|
AUTH_CLIENTS_FRONTEND_REALM |
Derived from AUTH_REALM |
|
AUTH_CLIENTS_STUDIO_CLIENT_ID |
aihub-studio |
The default client id for studio |
AUTH_CLIENTS_STUDIO_AUTH_URL |
Derived from KEYCLOAK_AUTH_SERVER_URL |
|
AUTH_CLIENTS_STUDIO_REALM |
Derived from AUTH_REALM |
|
AUTH_CLIENTS_JUPYTER_CLIENT_ID |
aihub-jupyter |
The default client id for jupyter |
AUTH_CLIENTS_JUPYTER_AUTH_URL |
Derived from KEYCLOAK_AUTH_SERVER_URL |
|
AUTH_CLIENTS_JUPYTER_REALM |
Derived from AUTH_REALM |
|
AIHUB_BASE_DIR |
/aihub (docker image) |
The base dir of AI Hub, other directory paths are derived from this base directory. |
AIHUB_HOME_DIR |
$baseDir/home |
The home dir of AI Hub. |
AIHUB_CONFIG_DIR |
$homeDir/config |
The config dir of AI Hub. |
AIHUB_DATA_DIR |
$homeDir/data |
The data dir of AI Hub. |
AIHUB_TMP_GLOBAL_DIR |
$homeDir/tmp_global |
The global temp dir of AI Hub. |
AIHUB_JMS_RECEIVE_TIMEOUT |
5000 |
JMS receive timeout. |
AIHUB_JMS_CACHE_LEVEL |
4 |
JMS cache level. |
AIHUB_JMS_CORE_POOL_SIZE |
5 |
JMS core pool size. |
AIHUB_JMS_MAX_POOL_SIZE |
2147483647 |
JMS max pool size. |
AIHUB_TASK_SCHEDULER_POOL_SIZE |
20 |
Task scheduler pool size for the main application |
AIHUB_TASK_SCHEDULER_THREAD_PRIORITY |
5 |
Task scheduler thread priority for the main application |
RAPIDMINER_USER_DIR |
$homeDir |
A .RapidMiner folder will be created in the $homeDir |
RAPIDMINER_EXTENSION_DIR |
$homeDir/resources/extensions |
The extensions folder, also used for sync. |
RAPIDMINER_JDBC_PROPERTIES_FILE |
$homeDir/resources/jdbc/jdbc_properties.xml |
The JDBC properties file used for legacy connections. |
RAPIDMINER_REGISTER_DEFAULT_SYMMETRIC_ENCRYPTION_CONTEXT_ENABLED |
false |
Allows to register an Altair AI Studio encryption context with default name) |
RAPIDMINER_REGISTER_DEFAULT_SYMMETRIC_ENCRYPTION_CONTEXT_KEY_LOCATION |
${RAPIDMINER_USER_DIR}/.RapidMiner/encryption/symmetric/default-local-context.rmek |
Location to the Altair AI Studio encryption key file |
RAPIDMINER_PROPERTIES_FILE |
rapidminer.properties |
The properties file for Altair AI Studio properties loaded on main application start |
RAPIDMINER_LOAD_USER_CERTIFICATES |
false |
If user certificates should be loaded |
SPRING_LIQUIBASE_ENABLED |
true |
If liquibase database migration is enabled |
SPRING_LIQUIBASE_CONTEXTS |
prod |
The liquibase contexts used during database migration |
SPRING_QUARTZ_PROPERTIES_* |
Define custom org.quartz.* properties |
|
SPRING_QUARTZ_WAIT_FOR_JOBS_TO_COMPLETE_ON_SHUTDOWN |
true |
Wait for scheduled tasks fired by the Quartz framework to finish even if AI Hu has been instructed to shut down |
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREAD_POOL_THREAD_COUNT |
5 |
The thread pool for schedules |
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREAD_POOL_THREAD_PRIORITY |
5 |
The thread priority for schedules |
SHEDLOCK_POOL_SIZE |
20 |
The executor threads used by Shedlock keep alive mechanism |
SCHEDULER_DEFAULT_QUEUE |
DEFAULT |
The default queue for schedules |
SCHEDULER_DRY_RUN |
false |
Dry run mode for scheduler |
SCHEDULER_FREQUENCY_THRESHOLD |
1 |
The frequency threshold |
SCHEDULER_FREQUENCY_INTERVAL |
1440 |
The frequency interval in minutes |
SCHEDULER_STARTUP_CHECK_ENABLED |
true |
If the start up check is enabled to verify everything's up and running before the scheduler starts |
SCHEDULER_STARTUP_CHECK_POLLING_INTERVAL |
5000 |
Defines interval in milliseconds polling for new triggers |
SCHEDULER_STARTUP_CHECK_INITIAL_POLLING_DELAY |
500 |
Defines initial delay for starting to poll |
JOBSERVICE_LOGGING_JOB_RETRIEVE_TIMEOUT |
30000 |
Time in milliseconds when a job log request failed |
JOBSERVICE_SCHEDULED_AGENT_STATUS_UPDATE |
10000 |
Time in milliseconds to check for unreachable Job Agents |
JOBSERVICE_SCHEDULED_AGENT_TIMEOUT_AFTER |
30000 |
Time in milliseconds when a Job Agent is marked as unreachable |
JOBSERVICE_SCHEDULED_JOB_STATUS_UPDATE |
10000 |
Time in milliseconds to check for timed out jobs |
JOBSERVICE_SCHEDULED_JOB_TIMEOUT_AFTER |
30000 |
Time in milliseconds when a job is marked as timed out |
JOBSERVICE_SCHEDULED_STOP_REQUEST_RESEND |
5000 |
Time in milliseconds when a job will be send a second stop requested |
JOBSERVICE_SCHEDULED_ARCHIVE_ENABLED |
true |
If Job archiving functionality is enabled. Archiving means that jobs in a final state will get moved to dedicated archive tables. |
JOBSERVICE_SCHEDULED_ARCHIVE_CRON_EXPRESSION |
* */5 * * * * |
When job archiving will be invoked. |
JOBSERVICE_SCHEDULED_ARCHIVE_MAX_AGE |
300 |
Max age of jobs in seconds before they get archived. |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_ENABLED |
false |
If archived jobs should be cleaned up (removed from the archive). |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_JOB_CRON_EXPRESSION |
If job should be cleaned up. | |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_JOB_CONTEXT_CRON_EXPRESSION |
When jobs should be cleaned up. | |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_MAX_AGE |
When jobs contexts should be cleaned up. | |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_JOB_BATCH_SIZE |
How many jobs contexts to clean up in one batch. | |
JOBSERVICE_SCHEDULED_ARCHIVE_JOB_CLEANUP_JOB_CONTEXT_BATCH_SIZE |
How many jobs to clean up in one batch. | |
JOBSERVICE_QUEUE_AGENT_PERSISTENCE |
__agentPersistence (exclusive) |
ActiveMQ persistence topic for handling agent updates. |
JOBSERVICE_QUEUE_AGENT_COMMAND |
__agentCommand |
ActiveMQ persistence topic for handling agent commands. |
JOBSERVICE_QUEUE_AGENT_HEARTBEAT |
__agentHeartbeat |
ActiveMQ persistence topic for handling agent heartbeats. |
JOBSERVICE_QUEUE_JOB_LOG |
__jobLog |
ActiveMQ persistence topic for handling agent log requests. |
JOBSERVICE_QUEUE_JOB_STATUS |
__jobBatchUpdate (exclusive) |
ActiveMQ persistence topic for handling job states. |
JOBSERVICE_QUEUE_JOB_BLOCK |
__repositoryBlock |
ActiveMQ persistence topic for blocking job execution. |
JOBSERVICE_QUEUE_JOB_DEFAULT_QUEUE_NAME |
DEFAULT |
Default Job Agent queue name. |
JOBSERVICE_QUEUE_JOB_DEFAULT_QUEUE_GROUPS |
[ users ] |
Default Job Agent group names. |
JOBSERVICE_QUEUE_PURGE_HEARTBEAT_TIMEOUT |
10000 |
Timeout definition for purging queues in milliseconds. |
JOBSERVICE_QUEUE_PURGE_HEARTBEAT_UPDATE_DELAY |
1000 |
Heartbeat update delay in milliseconds. |
JOBSERVICE_QUEUE_PURGE_JOB_UPDATE_BATCH_SIZE |
100 |
How many jobs are handled in batch |
REPORTING_ERROR_TYPE |
noop |
Reporting type, possible values are noop , logging and mail |
REPORTING_ERROR_MAIL_TO |
Only active when mail is the reporting type |
|
REPORTING_ERROR_MAIL_SUBJECT_PREFIX |
[Altair AI Hub Execution Error Report] |
Only active when mail is the reporting type |
REPORTING_ERROR_MAIL_FROM_ADDRESS |
Only active when mail is the reporting type |
|
REPORTING_ERROR_MAIL_FROM_NAME |
Altair AI Hub |
Only active when mail is the reporting type |
SYNC_ENABLED |
true |
If resource synchronization is enabled. |
SYNC_BASE_DIR |
$homeDir |
... |
SYNC_EXTENSION_DIR |
$syncBaseDir/resources/extensions |
... |
SYNC_JDBC_DIR |
$syncBaseDir/resources/jdbc |
... |
SYNC_LIBS_DIR |
$syncBaseDir/resources/libs |
... |
SYNC_LICENSE_DIR |
$syncBaseDir/resources/licenses |
... |
SYNC_EXECUTION_CONTEXT_DIR |
$syncBaseDir/.RapidMiner |
... |
SYNC_EXTENSION_EXCLUSIONS |
List of exception to exclude during synchronization for this type | |
SYNC_JDBC_EXCLUSIONS |
List of exception to exclude during synchronization for this type | |
SYNC_LIBS_EXCLUSIONS |
List of exception to exclude during synchronization for this type | |
SYNC_LICENSE_EXCLUSIONS |
List of exception to exclude during synchronization for this type | |
SYNC_EXECUTION_CONTEXT_EXCLUSIONS |
[extensions/workspace] |
List of exception to exclude during synchronization for this type |
SYNC_TMP_DIR_BASE_DIR |
$aihubTmpGlobalDir/sync |
Temporary folder for synchronization |
SYNC_TMP_DIR_EXTENSION_DIR |
$syncTmpBaseDir/extension |
Temporary folder for synchronization |
SYNC_TMP_DIR_JDBC_DIR |
$syncTmpBaseDir/jdbc |
Temporary folder for synchronization |
SYNC_TMP_DIR_LIBS_DIR |
$syncTmpBaseDir/lib |
Temporary folder for synchronization |
SYNC_TMP_DIR_LICENSE_DIR |
$syncTmpBaseDir/license |
Temporary folder for synchronization |
SYNC_TMP_DIR_EXECUTION_CONTEXT_DIR |
$syncTmpBaseDir/executionContext |
Temporary folder for synchronization |
SYNC_QUEUE_COMMAND |
__agentCommand |
ActiveMQ topic for sync commands |
CONNECTIONS_BASE_DIR |
$dataDir/connections |
Base directory for connection actions |
CONNECTIONS_TMP_DIR |
$aihubTmpGlobalDir/connections |
Temporary directory for connection actions |
REPOSITORIES_BASE_DIR |
$dataDir/repositories |
Base data directory for repositories/Projects |
REPOSITORIES_TMP_DIR |
$aihubTmpGlobalDir/repositories |
Tempoary data directory for repositories/Projects |
REPOSITORIES_INITIAL_AUTHOR |
Altair AI Hub |
When a Project is created, the author of the commit |
REPOSITORIES_INITIAL_AUTHOR_MAIL |
noreply@rapidminer.com |
When a Project is created, the mail of the commit |
REPOSITORIES_INITIAL_MESSAGE |
Initialized project |
When a Project is created, the message of the commit |
REPOSITORIES_INITIAL_REFERENCE_NAME |
master |
When a Project is created, the default git reference of the commit |
REPOSITORIES_SAMPLE_ENABLED |
true |
If sample Projects are enabled and will be created during first start |
REPOSITORIES_SECRET_ALGORITHM |
AES256_GCM |
Algorithm used for secret encryption of a Project |
REPOSITORIES_BRANCH_PRIORITIES |
develop, dev, patch, master |
List branch priorities to go through for during reference lookup |
REPOSITORIES_CONTENT_RETRIEVAL_THRESHOLD |
5000 |
Maximum threshold in milliseconds to wait before timeout is responded with during content/ZIP creation |
REPOSITORIES_AUDIT_COMMIT_COUNT |
10 |
If audit is enabled, the maximum amount of commits to show in the audit log |
REPOSITORIES_MAX_UPLOAD_SIZE |
25600MB |
The maximum upload size |
REPOSITORIES_GIT_ENABLE_DISKSPACE_CHECK_HOOK |
true |
If main application should check available disk space during content upload |
REPOSITORIES_GIT_DISKSPACE_CHECK_THRESHOLD |
5120MB |
The minimum required available space during disk space check during content upload |
REPOSITORIES_LFS_ENABLE_DISKSPACE_CHECK |
true |
If main application should check available disk space during LFS content upload |
REPOSITORIES_MIN_LFS_DISKSPACE_CHECK_THRESHOLD |
5120MB |
The minimum required available space during disk space check during content upload |
REPOSITORIES_LFS_ENBLE_UPLOAD_SIZE_CHECK |
true |
If main application should verify that the uploaded LFS file has been stored correctly and sizes match |
REPOSITORIES_LFS_ENBLE_UPLOAD_CHECKSUM_CHECK |
true |
If main application should verify that the uploaded LFS file has been stored correctly and checksums match |
REPOSITORIES_LFS_REMOVE_UNSUCCESSFUL_UPLOADS |
true |
If main application should delete unsuccessful LFS uploads when an error popped up (size or checksum) |
REPOSITORIES_LFS_FORWARD_AUTH_HEADER |
false |
If the authorization headers should be forwarded |
REPOSITORIES_SCHEDULED_CLEAN_UP_INTERVAL |
10000 |
Interval in milliseconds how frequently to check for clean-up tasks |
REPOSITORIES_RESTORE_REPOSITORIES_ON_STARTUP |
false |
If Projects, which have a clean-up error, should be reset on application start |
REPOSITORIES_CLEANUP_SHUTDOWN_WAIT_ENABLED |
true |
If Projects, which have a clean-up enabled, are on-going during a shutdown, will wait for them to finish |
REPOSITORIES_CLEANUP_SHUTDOWN_WAIT_INTERVAL |
5000 |
If Projects, which have a clean-up enabled, are on-going during a shutdown, will wait for them to finish, Define in milliseconds. |
AUDIT_ENABLED |
false |
If audit is enabled to see additional information about user changes |
REST_CLIENT_READ_TIMEOUT |
120000 |
Internally, the main application uses REST for some actions. Define the timeout in milliseconds. |
REST_CLIENT_CONNECTION_TIMEOUT |
15000 |
Internally, the main application uses REST for some actions. Define the timeout in milliseconds. |
PERMISSIONS_SCHEDULED_GROUP_CLEAN_UP_ENABLED |
true |
Enable check to verify if all groups present inside the main application's entities like Projects and Queues exist inside the external Identity Provider |
PERMISSIONS_SCHEDULED_GROUP_CLEAN_UP_INTERVAL |
3600000 |
Interval in milliseconds how frequently to check for group existence |
ENCRYPTION_SECRET_LOCATION |
$configDir/.secret |
File reference where the secret used for encryption of database rows is located |
LICENSE_AGENT_PROXY_URL |
The URL the License Agent will use to report to | |
LICENSE_AGENT_PROXY_CONNECTION_TIMEOUT |
120 |
The connection timeout to the proxy used by the License Agent |
LICENSE_AGENT_PROXY_RESPONSE_TIMEOUT |
120 |
The response timeout to the proxy used by the License Agent |
LICENSE_AGENT_MACHINE_ID |
The applications machine id, must be unique across different host machines, but can be identical for applications running on the same host | |
LICENSE_AGENT_APPLICATION_NAME |
AI Hub |
The application name the License Agent will report |
LICENSE_AGENT_POOL_SIZE |
5 |
The executor threads used by the License Agent to invoke heartbeats |
LICENSE_MODE |
ALTAIR_UNIT |
Enabled by default to use Altair Unit licensing. Requires *_LICENSE_AGENT_* and *_AUTH_* settings. Setting RAPIDMINER falls back to RapidMiner licensing |
LICENSE_LICENSE |
Directly set a RapidMiner license string | |
LICENSE_LOCATION |
By default, points to the parent folder where licenses reside in, e.g. $appHome/resources/licenses inside the Docker container |
|
LOGGING_... |
Set logging, e.g. LOGGING_LEVEL_COM_RAPIDMINER=DEBUG for debug logs of all Altair RapidMiner classes |
|
BROKER_ACTIVEMQ_HOST |
localhost |
Define broker host |
BROKER_ACTIVEMQ_PORT |
61616 |
Define broker port |
BROKER_ACTIVEMQ_USERNAME |
Define broker user | |
BROKER_ACTIVEMQ_PASSWORD |
Define broker password | |
BROKER_ACTIVEMQ_URI |
Define broker URI | |
AIHUB_CONNECTION_PROTOCOL |
http |
Define AI Hub protocol for internal or external connectivity |
AIHUB_CONNECTION_HOST |
localhost |
Define AI Hub host for internal or external connectivity |
AIHUB_CONNECTION_PORT |
8080 |
Define AI Hub port for internal or external connectivity |
AIHUB_CONNECTION_CONTEXT_PATH |
api/v1/ |
Define AI Hub context path for internal or external connectivity |
WEBAPI_REST_CLIENT_READ_TIMEOUT |
300000 |
Internally, the main application uses REST for some actions. Define the timeout in milliseconds. |
WEBAPI_REST_CLIENT_CONNECTION_TIMEOUT |
300000 |
Internally, the main application uses REST for some actions. Define the timeout in milliseconds. |
WEBAPI_REGISTRY_PROTOCOL |
http |
The internal registry protocol used by WebApi Agents to register to AI Hub Server |
WEBAPI_REGISTRY_HOST |
The internal registry host used by WebApi Agents to register to AI Hub Server | |
WEBAPI_REGISTRY_PORT |
8080 |
The internal registry port used by WebApi Agents to register to AI Hub Server |
WEBAPI_REGISTRY_USERNAME |
admin |
The internal registry username used by WebApi Agents to register to AI Hub Server |
WEBAPI_REGISTRY_PASSWORD |
The internal registry password used by WebApi Agents to register to AI Hub Server | |
WEBAPI_REGISTRY_URL |
$WEBAPI_REGISTRY_PROTOCOL://$WEBAPI_REGISTRY_USERNAME:$WEBAPI_REGISTRY_PASSWORD@$WEBAPI_REGISTRY_HOST:$WEBAPI_REGISTRY_PORT/eureka |
List of registries (high availability), comma separated of registry used by WebApi Agents to register to AI Hub Server |
WEBAPI_DEPLOYMENT_CACHE_DIR |
$aihubDataDir/webapideployments |
The folder, in which the web api deployments are stored |
WEBAPI_DEPLOYMENT_TMP_DIR |
$aihubTmpGlobalDir/tmp/webapideployments |
The temporary folder, in which the web api deployments are stored |
WEBAPI_DEPLOYMENT_MAX_RETRIES |
3 |
How often a web api deployment action should be retried before it is an error |
WEBAPI_DEPLOYMENT_CIRCUITBREAKER_TIME_PER_AGENT |
5 |
The most amount of time the blocking of Web API Groups should be uphold for per Web API Agent connected to this Web API Group in minutes |
WEBAPI_DEPLOYMENT_CIRCUITBREAKER_MAX |
60 |
The most amount of time the blocking of Web API Groups should be uphold for in minutes |
WEBAPI_DEPLOYMENT_DISTRIBUTION_SCHEDULED_INTERVAL |
3000 |
The interval (in ms) in which the web api deployment is scheduled |
WEBAPI_DEPLOYMENT_DISTRIBUTION_SCHEDULED_ARCHIVE_ENABLED |
true |
If handled archived events should be deleted |
WEBAPI_DEPLOYMENT_DISTRIBUTION_SCHEDULED_ARCHIVE_INTERVAL |
10000 |
The interval (in ms) in which the archived web api deployment events are checked |
WEBAPI_DEPLOYMENT_DISTRIBUTION_SCHEDULED_ARCHIVE_MAX_AGE |
2880 |
The maximum age (in s) of archived web api deployment events |
ZIP_COMPRESSION_LEVEL |
0 |
The ZIP compression level |
The WebApi registry resides within AI Hub Server and defaults to AIHUB_CONNECTION_
properties for configuration
which exposes its endpoints under /eureka
securing them with basic auth.
You can switch to an internal network address if you like. Please ensure that you change it for the WebApi Gateway and also for each WebApi Agent accordingly.
Liquibase is used for schema creation and applies migrations automatically for context prod
.
Frontend
Property | Default | Description |
---|---|---|
VITE_API_URL |
The URL to the main backend including the prefix, e.g. http://domain.tld:port/api/v1/ |
|
VITE_WEBAPI_GATEWAY_URL |
The URL to the Web Api Gateway, e.g. http://domain.tld:port/webapi |
|
VITE_KEYCLOAK_BASE_URL |
The URL to the identity provider, e.g. http://keycloak.domain.tld:port/ |
|
VITE_KEYCLOAK_REALM |
AIHub |
The Keycloak realm |
VITE_KEYCLOAK_CLIENT_ID |
aihub-frontend |
Frontend client id |
VITE_LICENSE_CHECK |
300 |
Frontend configuration how frequently license expiration is checked and shown inside the UI |
VITE_SCHEDULER_INFO_REFRESH |
10000 |
Frontend configuration how frequently scheduler information is checked inside the UI |
VITE_HEADER_REDIRECT_ROOT |
true |
Frontend configuration if the top logo should redirect to / instead of the UI's default context path |
VITE_WEBAPI_GATEWAY_URL |
Frontend configuration to point to Web API Gateway's FQDN | |
PUBLIC_URL |
/aihub/fe |
Do not change! Frontend context path which is used during build time |
Hint: REACT_APP_
prefixed environment variables are automatically converted to their VITE_
counter part during runtime.
Broker ActiveMQ
The following table outlines default producer and consumers used for internal communication between AI Hub Server and Job Agent components.
Please also the Job Agent's settings overview which use these broker queues.
Queue Name | Exclusive | Description | Queue Type | Consumer | Producer |
---|---|---|---|---|---|
DEFAULT |
false |
Default queue for job execution | Anycast | Job Agent | Job Service |
JobAgent.$JOB_AGENT_ID.__jobDeletion |
false |
Queue for each Job Agent for job deletion requests | Anycast | Job Agent | Job Service |
__agentHeartbeat |
false |
Queue for Job Agent heartbeat messages | Anycast | Job Service | Job Agent |
__agentCommand |
false |
Queue for command message, e.g. sync-, log- and stop requests, activation and deactivation messages | Multicast (PubSub) | Job Agent | Job Service |
__agentPersistence |
true |
Job Agent persistence queue | Anycast | Job Service | Job Agent |
__jobBatchUpdate |
true |
Queue for job update batch messages | Anycast | Job Service | Job Agent |
__jobLog |
false |
Queue for log messages | Anycast | Job Service | Job Agent |
__repositoryBlock |
false |
Queue for project blocked messages | Anycast | Job Agent | Repository Service |
__webapiEventPersistence |
false |
Queue for Web API distribution persistence messages | Anycast | Web API Persistence Service | Web API Service |