You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository is part of the commercial open-source project ILM. You can find more information about the project at the ILM repository, including the contribution guide.
Database requirements
Scheduler requires the PostgreSQL database to store the data.
Docker container
Scheduler is provided as a Docker container. Use the hub.omnitrustregistry.com/ilm/scheduler:tagname to pull the required image from the repository. It can be configured using the following environment variables:
Variable
Description
Required
Default value
JDBC_URL
JDBC URL for database access
N/A
JDBC_USERNAME
Username to access the database
N/A
JDBC_PASSWORD
Password to access the database
N/A
DB_SCHEMA
Database schema to use
scheduler
CONNECTION_POOL_MAX_POOL_SIZE
Maximum size of the database connection pool
20
CONNECTION_POOL_MIN_IDLE
Minimum idle connections kept in the pool
5
CONNECTION_POOL_CONNECTION_TIMEOUT
Time to wait for a connection from the pool (ms)
30000
CONNECTION_POOL_IDLE_TIMEOUT
How long an idle connection is kept before removal (ms)
600000
CONNECTION_POOL_MAX_LIFETIME
Maximum lifetime of a pooled connection (ms)
1800000
QUARTZ_THREAD_COUNT
Quartz worker threads available to run jobs concurrently
10
PORT
Port where the service is exposed
8080
JAVA_OPTS
Customize Java system properties for running application
N/A
BROKER_TYPE
Message broker type (RABBITMQ or SERVICEBUS)
RABBITMQ
BROKER_URL
URL of Message broker including protocol and port (required for SERVICEBUS; optional for RABBITMQ when using BROKER_HOST/BROKER_PORT)
N/A
BROKER_HOST
Hostname of the RabbitMQ broker (used instead of BROKER_URL)
N/A
BROKER_PORT
Port of the RabbitMQ broker (used with BROKER_HOST)
5672
BROKER_USERNAME
Username/SAS key name for broker authentication
N/A
BROKER_PASSWORD
Password/SAS key for broker authentication
N/A
BROKER_AZURE_TENANT_ID
Azure AD tenant ID for AAD authentication
N/A
BROKER_AZURE_CLIENT_ID
Azure AD application (client) ID
N/A
BROKER_AZURE_CLIENT_SECRET
Azure AD client secret value
N/A
BROKER_VIRTUAL_HOST
RabbitMQ vhost (for RabbitMQ use / as default)
/
BROKER_POOL_MAX_CONNECTIONS
Connection pool max connections
1
BROKER_POOL_CONNECTION_IDLE_TIMEOUT
Connection pool idle timeout (ms)
30000
BROKER_POOL_CONNECTION_CHECK_INTERVAL
Connection pool check interval (ms)
60000
BROKER_POOL_MAX_SESSIONS
Max sessions per pooled connection
500
BROKER_POOL_USE_ANONYMOUS_PRODUCERS
Whether the connection pool uses anonymous producers
true
BROKER_EXCHANGE
Message broker exchange name
ilm
BROKER_ROUTING_KEY_SCHEDULER
Routing key for scheduler
scheduler
Message Broker Authentication
The scheduler supports two message brokers with different authentication methods:
RabbitMQ:
Requires BROKER_USERNAME and BROKER_PASSWORD
Azure Service Bus:
SAS Authentication: Use BROKER_USERNAME (SAS key name) and BROKER_PASSWORD (SAS key)
AAD Authentication: Use BROKER_AZURE_TENANT_ID, BROKER_AZURE_CLIENT_ID, and BROKER_AZURE_CLIENT_SECRET
Note: For Azure Service Bus, you can configure either SAS credentials or AAD credentials. If both SAS and AAD credentials are provided, AAD authentication takes precedence and the SAS credentials are ignored. When using AAD authentication, ensure you use the client secret value, not the secret ID.