Skip to content

General configuration

General configuration of Ontrack.

Name Environment Description Default value Notes
ontrack.config.application-working-dir ONTRACK_CONFIG_APPLICATION_WORKING_DIR Directory which contains all the working files of Ontrack. It is usually set by the installation. work/files
ontrack.config.build-filter-count-max ONTRACK_CONFIG_BUILD_FILTER_COUNT_MAX # Maximum number of builds which can be returned by a build filter. Any number above is truncated down to this value 200
ontrack.config.configuration-test ONTRACK_CONFIG_CONFIGURATION_TEST Testing the configurations of external configurations. Used only for internal testing, to disable the checks when creating external configurations. true
ontrack.config.database.contract-migrations ONTRACK_CONFIG_DATABASE_CONTRACT_MIGRATIONS When the contract migrations run - the second phase of the database migrations, which drops what no running version uses any longer. STARTUP (default) runs them at startup, right after the expand migrations. DEFERRED runs only the expand migrations at startup, leaving the contract ones pending, for an upgrade without downtime: the previous version keeps running against the schema until it is gone, and the contract migrations are then run by run-contract-and-exit. STARTUP
ontrack.config.database.run-contract-and-exit ONTRACK_CONFIG_DATABASE_RUN_CONTRACT_AND_EXIT When true, Yontrack does not start: it runs the pending expand migrations, then the pending contract migrations in version order, logs what it applied and exits, with code 0, or with code 1 when a migration fails. Used by the post-upgrade hook of the Helm chart, once the previous version is gone. false
ontrack.config.documents.engine ONTRACK_CONFIG_DOCUMENTS_ENGINE engine field jdbc
ontrack.config.documents.max-size ONTRACK_CONFIG_DOCUMENTS_MAX_SIZE maxSize field 16 (KILOBYTES)
ontrack.config.events.cleanup.batch-size ONTRACK_CONFIG_EVENTS_CLEANUP_BATCH_SIZE Maximum number of events deleted by one statement of the events cleanup job, which deletes the events older than their retention. Smaller batches keep the locks on the events table shorter. 10000
ontrack.config.events.export.max-rows ONTRACK_CONFIG_EVENTS_EXPORT_MAX_ROWS Maximum number of events in an export of the events, as CSV or JSON. When more events match the filter, the export holds the most recent ones only, and says it was truncated. 100000
ontrack.config.file-key-store.directory ONTRACK_CONFIG_FILE_KEY_STORE_DIRECTORY directory field
ontrack.config.graphql.limits.max-aliases ONTRACK_CONFIG_GRAPHQL_LIMITS_MAX_ALIASES Maximum number of aliases in a query document. 30
ontrack.config.graphql.limits.max-complexity ONTRACK_CONFIG_GRAPHQL_LIMITS_MAX_COMPLEXITY Maximum complexity of a query: its number of fields, once its fragments are expanded. A list counts once, whatever its size. 1000
ontrack.config.graphql.limits.max-depth ONTRACK_CONFIG_GRAPHQL_LIMITS_MAX_DEPTH Maximum depth of a query: the number of nested field levels, { projects { name } } having a depth of 2. 25
ontrack.config.graphql.limits.max-directives-per-location ONTRACK_CONFIG_GRAPHQL_LIMITS_MAX_DIRECTIVES_PER_LOCATION Maximum number of directives on one location of a query (a field, a fragment, a fragment spread, an operation or a variable). A directive which is not declared repeatable may never appear twice on one location. 3
ontrack.config.graphql.limits.mode ONTRACK_CONFIG_GRAPHQL_LIMITS_MODE What a query going over one of the limits gets: ENFORCE (default) rejects it with one error before any of it runs, WARN only logs a warning and runs it, to watch the limits before enforcing them. Both count it in the ontrack_graphql_limits_exceeded_total metric. ENFORCE
ontrack.config.jobs.orchestration ONTRACK_CONFIG_JOBS_ORCHESTRATION Interval (in minutes) between each refresh of the job list: each replica reads again the jobs of the providers, and the jobs of the cluster are reconciled with them once per interval. 2
ontrack.config.jobs.paused-at-startup ONTRACK_CONFIG_JOBS_PAUSED_AT_STARTUP Deprecated. Set to true to pause all the jobs when this replica starts: as the pause of all the jobs is stored and applies to every replica, this pauses the whole cluster until an administrator resumes all the jobs. Use the "Pause all" action instead. false Deprecated: Removed in V7. Use the "Pause all" action instead. See #2077
ontrack.config.jobs.pool-size ONTRACK_CONFIG_JOBS_POOL_SIZE Number of threads to use to run the background jobs, on each replica: the size of the thread pool of Quartz. 10
ontrack.config.jobs.scattering ONTRACK_CONFIG_JOBS_SCATTERING Enabling the scattering of jobs. When several jobs have the same schedule, this can create a peak of activity, potentially harmful for the performances of the application. Enabling scattering allows jobs to be scheduled with an additional delay, computed as a fraction of the period. true
ontrack.config.jobs.scattering-ratio ONTRACK_CONFIG_JOBS_SCATTERING_RATIO Scattering ratio. Maximum fraction of the period to take into account for the scattering. For example, setting 0.5 would not add a period greater than half the period of the job. Setting 0 would actually disable the scattering altogether. 1.0
ontrack.config.jobs.testing.enabled ONTRACK_CONFIG_JOBS_TESTING_ENABLED Registers the probe jobs. Never to be enabled in production. false
ontrack.config.jobs.testing.period ONTRACK_CONFIG_JOBS_TESTING_PERIOD Period of the periodic probe job PT2S
ontrack.config.jobs.timeout ONTRACK_CONFIG_JOBS_TIMEOUT # Global timeout for all jobs. Any job running longer than this time will be forcibly stopped (expressed by default in hours) PT4H
ontrack.config.jobs.timeout-controller-interval ONTRACK_CONFIG_JOBS_TIMEOUT_CONTROLLER_INTERVAL Amount of time to wait between two controls of the job timeouts (expressed by default in minutes) PT15M
ontrack.config.key-store ONTRACK_CONFIG_KEY_STORE Key store type to use to store encryption keys file
ontrack.config.search.count-cap ONTRACK_CONFIG_SEARCH_COUNT_CAP Maximum number of results counted and ranked for each type of result. Past it, the count of the type is shown as 1000+ (for the default), and only the most recently updated of its strongest matches are ranked. 1000
ontrack.config.search.index.batch ONTRACK_CONFIG_SEARCH_INDEX_BATCH When rebuilding the search documents of a type, they are written by batch. The parameter below sets the size of these batches. Note: this is a default batch size. Some indexers, like the one of the SCM commits, use it for their own batches. 1000
ontrack.config.search.index.logging ONTRACK_CONFIG_SEARCH_INDEX_LOGGING When rebuilding the search documents of a type, the parameter below generates additional logging about the progress of the rebuild. false
ontrack.config.search.index.reset ONTRACK_CONFIG_SEARCH_INDEX_RESET Forces the rebuild of the search documents of all types at startup, in the background. false
ontrack.config.search.index.startup-delay ONTRACK_CONFIG_SEARCH_INDEX_STARTUP_DELAY Delay before the rebuild of the search documents at startup (in seconds by default, or as 2m, 90s...), past the time when a previous instance, being replaced by a rolling upgrade, still writes documents in their previous format. Only one of the instances started side by side rebuilds the documents of a type. 0 rebuilds them at once. PT2M
ontrack.config.search.index.tracing ONTRACK_CONFIG_SEARCH_INDEX_TRACING When rebuilding the search documents of a type, the parameter below generates additional deep level logging for all actions on SCM commits and issues. Only used when logging is true as well. Note: if set to true this generates a lot of information at DEBUG level. false
ontrack.config.search.testing.enabled ONTRACK_CONFIG_SEARCH_TESTING_ENABLED Registers the testing-slow type of search results, whose rebuild runs until it is stopped while a project whose name starts with search-testing-slow- exists. For the acceptance tests only: never to be enabled in production. false
ontrack.config.search.work-mem ONTRACK_CONFIG_SEARCH_WORK_MEM work_mem of the Postgres transaction of a search, set with SET LOCAL so that it ends with the transaction and no other connection is affected. A search on a frequent word goes through tens of thousands of documents, whose bitmap does not fit in the Postgres default of 4 MB. Empty to keep the setting of the database. 64MB
ontrack.config.security.authorization.admin.email ONTRACK_CONFIG_SECURITY_AUTHORIZATION_ADMIN_EMAIL email field admin@ontrack.local
ontrack.config.security.authorization.admin.force ONTRACK_CONFIG_SECURITY_AUTHORIZATION_ADMIN_FORCE force field false
ontrack.config.security.authorization.admin.full-name ONTRACK_CONFIG_SECURITY_AUTHORIZATION_ADMIN_FULL_NAME fullName field Administrator
ontrack.config.security.authorization.admin.group-name ONTRACK_CONFIG_SECURITY_AUTHORIZATION_ADMIN_GROUP_NAME groupName field Administrators
ontrack.config.security.authorization.jwt.claims.email ONTRACK_CONFIG_SECURITY_AUTHORIZATION_JWT_CLAIMS_EMAIL email field
ontrack.config.security.authorization.jwt.claims.groups ONTRACK_CONFIG_SECURITY_AUTHORIZATION_JWT_CLAIMS_GROUPS groups field
ontrack.config.security.authorization.jwt.debug ONTRACK_CONFIG_SECURITY_AUTHORIZATION_JWT_DEBUG debug field false
ontrack.config.security.authorization.jwt.typ ONTRACK_CONFIG_SECURITY_AUTHORIZATION_JWT_TYP typ field
ontrack.config.security.authorization.jwt.ui-clients.<0> ONTRACK_CONFIG_SECURITY_AUTHORIZATION_JWT_UI_CLIENTS_<0> OIDC clients of the web UI. A JWT whose azp (authorized party) claim is one of them is recorded as coming from the UI, any other JWT as a direct API call. Defaults to the client of the Docker Compose stacks (ontrack-client) and to the one of the Helm chart (yontrack-client): set it when the UI uses another client. Empty list
ontrack.config.security.authorization.provisioning ONTRACK_CONFIG_SECURITY_AUTHORIZATION_PROVISIONING provisioning field true
ontrack.config.security.cors.allowed-origins.<0> ONTRACK_CONFIG_SECURITY_CORS_ALLOWED_ORIGINS_<0> Origins (scheme, host and port, like https://portal.example.com) allowed to call the API - /graphql, /rest/** and /extension/** - from a browser. Empty by default: the API answers no cross-origin browser call at all, which is all the Yontrack UI needs since it calls the API from its own server. /hook/** never accepts cross-origin calls. Empty list
ontrack.config.security.tokens.validity ONTRACK_CONFIG_SECURITY_TOKENS_VALIDITY validity field PT0S
ontrack.config.templating.errors ONTRACK_CONFIG_TEMPLATING_ERRORS errors field IGNORE
ontrack.config.templating.html-tags.<0> ONTRACK_CONFIG_TEMPLATING_HTML_TAGS_<0> HTML tags to accept on top of the default ones Empty list
ontrack.config.tx.retries ONTRACK_CONFIG_TX_RETRIES Number of times an ad-hoc transaction is retried when it fails because of a transient database issue, like a connection loss or an exhausted connection pool. Set to 0 to disable the retries. 3
ontrack.config.tx.retry-delay ONTRACK_CONFIG_TX_RETRY_DELAY Time to wait before the first retry of a transaction. This delay is doubled at each attempt, up to retryMaxDelay. PT1S
ontrack.config.tx.retry-max-delay ONTRACK_CONFIG_TX_RETRY_MAX_DELAY Maximum time to wait between two retries of a transaction. PT10S
ontrack.config.url ONTRACK_CONFIG_URL Root URL for this Ontrack installation, used for notifications http://localhost:3000