Skip to content

ILM Scheduler

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.

About

ILM - scheduler of activities and tasks

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages