Skip to main content
Version: Release 26.1

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.

caution

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.

xl.database.*
Repository database connection. For more information, see Configure the SQL repository.
xl.reporting.db-*
Reporting (archive) database connection. For more information, see Configure the SQL repository.
xl.cluster.membership.jdbc.*
Connection pool used for cluster membership tracking. Only applies in cluster mode. For more information, 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: default
default (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: Lax
sameSite 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)

xl.scm.workdir-path
Default: ${xl.repository.workDir}/scm_repos
Local directory where Release clones SCM repositories for connections that require a local clone. In cluster mode, each node maintains its own clone. For more information, see Source Control Management Connection and The Release Work Directory.

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.

Performance and Sizing

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.