xl-release.conf Configuration Settings Reference
This reference is for Release Administrators and System Administrators who configure XL_RELEASE_SERVER_HOME/conf/xl-release.conf. It lists the settings you can override in that file, grouped by functional area, with their default values. xl-release.conf uses the HOCON format.
Where a setting has its own dedicated topic, this reference links to it instead of repeating the full explanation.
xl-release.conf overrides internal defaults across many parts of Release. Settings not listed here are not intended for customer configuration. If you are unsure whether to change a setting, contact Digital.ai Support before making changes in a production environment.
Database and Repository Connections
Release uses separate connection pools for the repository database, the reporting (archive) database, and cluster membership. For the full list of connection pool parameters (db-driver-classname, db-url, max-pool-size, connection-timeout, and so on) and their defaults for each pool, see Configure the SQL repository.
Reporting and Archiving
xl.reporting.engine.location- Default:
"reports"- Path to the reports directory, relative to the Release installation directory. In cluster mode, this must be a shared directory. For more information, see Cluster mode.
|
xl.reporting.engine.maxThreadsCount- Default:
10- Maximum number of threads used to generate reports at the same time. For more information, see Configure reporting properties.
|
xl.reporting.engine.cleanUpInterval- Default:
6 hours- How often Release cleans up temporary report files. For more information, see Configure reporting properties.
|
xl.job-log.s3.* / xl.reporting.engine.s3.*- Default: empty
- Amazon S3 bucket, base key, region, and endpoint URI for storing reports and job logs on S3 instead of the local file system. For more information, see How to store reports and logs on Amazon S3.
|
Cluster
xl.cluster.mode- Default:
defaultdefault (single node) or full (active/active).
|
xl.cluster.name- Default:
"XlReleaseCluster"- Label identifying the cluster.
|
xl.cluster.node.hostname- Default:
"127.0.0.1"- Hostname or IP address of this node. Must not be a loopback address in cluster mode.
|
xl.cluster.node.clusterPort- Default:
5531- Port used for cluster-wide communication.
|
xl.cluster.node.id- Default: none
- Unique ID identifying this node in the cluster.
|
xl.cluster.pekko.cluster.downing-provider-class- Default:
MajorityLeaderAutoDowningProvider- Split-brain resolution strategy used when the cluster network partitions. For more information, see Network split resolution.
|
For the full setup procedure, including load balancer configuration and network split handling, see Cluster mode.
HTTP Server Settings
xl.server.http.gzip.*- Default: enabled, 10 kB min size, level 4
- GZIP compression of server responses. For more information, see Configure HTTP GZIP Compression.
|
xl.server.http.csrf.enabled- Default:
true- Cross-Site Request Forgery protection. For more information, see HTTP CSRF Protection.
|
xl.server.http.cookie.sameSite- Default:
LaxsameSite attribute of the session cookie. For more information, see HTTP sameSite Cookie Configuration.
|
xl.server.http.allowed-hosts.*- Default: disabled, empty list
- Allow-list of hostnames to prevent HTTP Host Header injection. For more information, see Configure HTTP Host Header Protection.
|
xl.server.upload.max-size- Default:
100, in MB- Maximum uploaded file size. For more information, see File Upload Properties.
|
xl.server.session.*- Session timeout, session storage, remember-me token validity, and maximum concurrent sessions. For more information, see Configure Session Timeout.
|
Authentication and Account Security
xl.security.account-lockout.*- Default: disabled, 5 attempts, 15 minute lockout
- Locks internal user accounts after repeated failed login attempts. For more information, see Account Lockout.
|
xl.security.secret-complexity.regex-validations- Default: empty
- Password strength requirements for internal users, as pairs of regex pattern and description. For more information, see Password Configuration.
|
xl.security.scripting.sandbox.enabled- Default:
true- Whether Jython and Groovy script tasks run in a restricted sandbox. For more information, see Create a Jython Script task and Groovy Script Tasks.
|
xl.security.scripting.sandbox.decryptPasswords- Default:
false- Whether release, phase, and task password properties are decrypted in script task context. Deprecated. For more information, see Create a Jython Script task and Groovy Script Tasks.
|
xl.security.scripting.sandbox.jython.restricted-modules- Jython built-in modules blocked in script tasks. For more information, see Create a Jython Script task.
|
Authentication (SSO)
Release can authenticate users against an external OpenID Connect (OIDC) provider instead of (or in addition to) internal accounts.
xl.security.auth.providers.oidc.*- Default: not present, disabled
- Enables and configures an OIDC authentication provider: issuer, client ID, key retrieval URI, access token validation, and logout redirect. Release enables OIDC authentication when this path is present in
xl-release.conf. For more information, see Set up the OpenID Connect (OIDC) Authentication for Release.
|
For other supported authentication methods (LDAP, SAML, and so on), see Authentication Options.
Caching
xl.cache.ci-reference-types.enabled- Default:
true- Caches configuration item reference types.
|
xl.cache.task-types.enabled- Default:
true- Caches task types used as dependencies for gate tasks.
|
xl.cache.release-rows.enabled- Default:
false- Caches release JSON content. Safe to enable only in standalone mode.
|
xl.cache.security.enabled- Default:
false- Caches roles and permissions data.
|
xl.cache.security-user.enabled- Default:
true- Caches users and user-profile data.
|
For a full explanation of each cache and when to enable it, see Enable Caching in Release.
Maintenance
xl.maintenance.enabled- Default:
false- Puts Release into maintenance mode. For more information, see Run Release in Maintenance Mode.
|
xl.maintenance.restrictApiAccess- Default:
false- Only evaluated when
xl.maintenance.enabled is true. If false, only administrators can access the REST API; if true, no one can. For more information, see Run Release in Maintenance Mode.
|
Scheduling and Triggers
xl.quartz.timezone- Default: host time zone
- Time zone used to evaluate cron expressions for triggers. For more information, see Time-Based Triggers.
|
xl.durations.customScriptTaskScheduleInterval- Default:
10 seconds- Wait interval between scheduled script executions started with
task.schedule(). Cannot be less than 1 second. For more information, see Use Scheduling in Scripts.
|
xl.timeouts.failureHandlerTimeout- Default:
60 seconds- How long a task failure handler script can run before it's timed out and the task is marked failed. For more information, see Task Failure Handler.
|
Source Control (SCM)
Webhooks
xl.queue.embedded- Default:
true- Set to
false to use the webhooks feature. For more information, see Cluster mode.
|
xl.features.webhooks.retention-policy.schedule- Default:
"0 0 0/6 1/1 * ?"- Cron expression controlling how often webhook trigger execution logs are cleaned up. For more information, see HTTP endpoints for Webhooks.
|
Plugin Management
xl.features.plugins.servers.${serverName}.server-type- Default:
"nexus" for the built-in server- Type of plugin repository server, for example when switching to JFrog Artifactory. For more information, see Using Artifactory to Store Plugins.
|
xl.features.plugins.servers.xebialabs-official.credentials.username- Default: not set
- Username used to reach the official Digital.ai plugin repository from an airtight (offline/restricted) environment. For more information, see Plugin Management in Air-gapped Environments.
|
xl.features.plugins.servers.xebialabs-official.credentials.password- Default: not set
- Password used to reach the official Digital.ai plugin repository from an airtight (offline/restricted) environment. For more information, see Plugin Management in Air-gapped Environments.
|
xl.features.plugins.check-jdk17-compatibility.on-product-upgrade- Default:
true- Whether Release checks plugin JDK17 compatibility during a product upgrade. For more information, see Update Custom Plugins for JDK Upgrade.
|
xl.features.plugins.check-jdk17-compatibility.on-plugin-install- Default:
true- Whether Release checks plugin JDK17 compatibility when a plugin is installed or updated. For more information, see Update Custom Plugins for JDK Upgrade.
|
xl.executors.scheduler.maxThreadsCount- Default:
64- Maximum threads for the core scheduler thread pool, used for asynchronous operations. Increase only as part of a documented production sizing plan. For more information, see Installation Prerequisites.
|