Configuration
The file “ColdScheduler.properties” represents the central configuration file where, in a nutshell, settings relating to the following aspects are covered:
-
database connection (vendor, name, user, password, host, port)
-
REST monitoring interface (host, port, basic access authentication, keystore, and SSL certificate setup)
-
technical control parameters (e.g. sleep/update intervals, maximum thread number, return codes etc.)
In the initial version of the properties file, as provided in the delivered software package, exemplary, and default values are specified and commented sections for the supported databases are included. You must adjust at least the connection and authentication settings. The table below lists all entries that can be adjusted:
Entry |
Example |
Description |
---|---|---|
Aktion.ini |
This entry specifies which file contains the workflow definition that decides about script execution (default: “Aktion.ini”). |
|
auth_token_expiration_time |
30 |
The duration in seconds for which an authenticated user's access token remains valid. After this period, users will need to reauthenticate to continue accessing the system. |
IdleSleepTime |
5000 |
Period how often to check in the DB if there are no jobs ahead (unit: milliseconds) |
Threads |
20 |
Maximum number of concurrent jobs (globally valid for all spools and generations) |
ServerId |
1 |
Server ID from the cold_steuer table. Only entries with this ID are to be considered. |
Database |
Derby |
Indicates the database source, e.g. “Oracle” or “Derby” |
DatabaseUser |
coldscheduler |
Database user |
DatabasePassword |
password |
Password of the database user |
127.0.0.1 |
Specifies to which IP the database is to be bound (127.0.0.1 represents a local database.) For Oracle and PostgreSQL it is possible to connect several database servers (primary and standby) by specifying multiple DatabaseHost and DatabasePort separated with a coma: DatabaseHost=172.17.52.2,172.17.52.3 For each host a specific port can be specified, see section below. The number of hosts is not limited. |
|
1527 |
Database port For Oracle and PostgreSQL it is possible to connect several database servers (primary and standby) by specifying multiple DatabaseHost and DatabasePort separated with a coma: DatabasePort=5432,5433 The number of ports is not limited. |
|
DatabaseName |
coldSchedulerDB |
Database name |
DatabaseTnsPath |
/var/oracle/product/10.2.0/ network/admin/ |
(Oracle) Path to the TNS Names file |
DatabaseTns |
imadb |
(Oracle) TNS entry for the database connection |
DatabaseConnectionMinIdle |
1 |
Keep at least this amount of database connections open (default: 1) |
DatabaseConnectionMaxWait |
10000 |
Wait for a database connection for ... milliseconds |
LogDirectory |
./../logs |
Specifies the directory where the general logs of scheduler, such as startup and shutdown, are stored. |
MonitoringHost |
127.0.0.1 |
Specifies to which IP the REST interface is bound |
MonitoringPort |
23443 |
On this port the REST interface is accessible. |
PublishApiDocs |
true |
Publish API Documentation in subdirectory “/apidocs” |
refresh_token_expiration_time |
600
|
The expiration time of refresh tokens, which are used to obtain new access tokens without requiring users to log in again. Refresh tokens remain valid for the specified duration in seconds, allowing for longer sessions between user logins. |
SSLEnable |
true |
Enable SSL for the monitoring port |
SSLKeystore |
/keystore.jks |
Path to the keystore with the SSL Certificate |
SSLKeystorePassword |
changeit |
Keystore password |
TLSVersion | TLSv1.2 |
Version of TLS for HTTPS connections (default: TLSv1.2) |
User1 |
PLAIN:guest:guest:READ |
An authorization string containing the following values separated by a colon: password type, username, user password and role (see section “Adding a user” below) |
DefaultUserRole |
READ |
Possible values: NONE, READ, OPERATOR or ADMIN If no user/password header on the REST endpoint is provided, this role is used. “NONE” provides the strongest protection (access without user/password is impossible) and “ADMIN” is the weakest approach (where no user/role authorization is active, and any connecting client has full control). |
ProcessLogDirectory |
/tmp |
The stdout output of called jobs is stored in this directory. Each Scheduler thread writes in a separate file, which is deleted by execution of a job. |
MonitorIgnoreSslCertificate |
false |
When set to true, the client is allowed to connect to schedulers with an invalid SSL certificate. |
RetryReturnCode |
9 |
Returns the exit code to trigger the job retry. If the value is empty, all error numbers are interpreted as retry. Several values separated by comma can be provided. |
ErrorReturnCode |
99 |
Returns the exit code to trigger the job error. If the value is empty, all error numbers are interpreted as retry. Several values separated by comma can be provided. |
UpdateDatabaseMaxRetries |
10 |
When trying to update a finished job the Scheduler will retry up to this number of times to set the new state in the database. The wait time for the first retry is 2 seconds – it will double with every retry. |
DefaultUpdateInterval |
30 |
Default update interval for Scheduler Monitor |
PrometheusUpdateInterval |
5000 |
Update interval for Prometheus monitoring values in milliseconds. Leave blank or set to 0 to deactivate |
PrometheusPushGateway |
52.118.142.51:9091 |
Prometheus push gateway. Leave blank to disable push. |
PrometheusPushJobLabel |
ColdSchedulerSystem01 |
Prometheus push gateway job name. Set a name for this instance that shows up in Prometheus. |