Available technical configuration parameters

To add configuration to your kubernetes deployment, click here.
To add configuration to your RPM installation, click here.
Parameter horizon.security.http.headers.xapi.idprov was deleted.
Parameter horizon.security.http.headers.xapi.key was deleted.
Parameter horizon.security.http.headers.xapi.id was deleted.
Parameter horizon.security.http.headers.xhorizonid was deleted.
Parameter horizon.security.http.headers.[nonceType]_certificate_pop was deleted.
Parameter horizon.acme.order.updater.prefix was deleted.
Parameter horizon.acme.response.verifier.prefix was deleted.
Parameter horizon.bootstrap.prefix was deleted.
Parameter horizon.crl.updater.prefix was deleted.
Parameter horizon.ca.prefix was deleted.
Parameter horizon.ca.manager.prefix was deleted.
Parameter horizon.event.manager.prefix was deleted.
Parameter horizon.grading.actor.prefix was deleted.
Parameter horizon.grading.manager.prefix was deleted.
Parameter horizon.pki.manager.prefix was deleted.
Parameter horizon.report.manager.prefix was deleted.
Parameter horizon.scheduler.manager.prefix was deleted.
Parameter horizon.security.manager.prefix was deleted.
Parameter horizon.thirdparty.manager.prefix was deleted.
Parameter horizon.trigger.manager.prefix was deleted.
Parameter horizon.vault.manager.prefix was deleted.
Parameter horizon.est.default.key_type was deleted.
Parameter horizon.request.search.csv.max-rows was deleted.
Parameter horizon.event.search.csv.max-rows was deleted.
Parameter horizon.discovery.event.search.csv.max-rows was deleted.
Parameter horizon.certificate.search.csv.max-rows was deleted.

ACME Configuration

horizon.acme.url.default-scheme

horizon.acme.url.default-scheme = "https"

Protocol to use to calculate the ACME base URL if there isn’t any X-Forwarded-Proto nor X-Forwarded-Host in the header of the request

horizon.acme.url.prefix

horizon.acme.url.prefix = "/acme"

Prefix used to calculate the ACME base URL

horizon.acme.behavior.emulate-boulder

horizon.acme.behavior.emulate-boulder = true

Defines whether Horizon should behave like the Boulder ACME implementation (if set to false, Horizon will strictly follow the RFC). Only applicable if horizon.acme.http.json.prettify is set to "true"

This parameter replaces horizon.acme.behavior.emulate.boulder. Please modify your configuration accordingly

horizon.acme.behavior.post-as-get

horizon.acme.behavior.post-as-get = true

Whether the ACME API can be used with GET requests instead of POST ones

This parameter replaces horizon.acme.behavior.enable.post-as-get.legacy. Please modify your configuration accordingly

horizon.acme.maximum.timeout

horizon.acme.maximum.timeout = "5m"

Maximum configurable timeout in the ACME profiles

This parameter replaces horizon.acme.max.timeout. Please modify your configuration accordingly

horizon.acme.maximum.retry.delay

horizon.acme.maximum.retry.delay = "1h"

Maximum configurable delay in the ACME profiles

This parameter replaces horizon.acme.max.retry.delay. Please modify your configuration accordingly

horizon.acme.maximum.retry.count

horizon.acme.maximum.retry.count = 15

Maximum configurable retry count in the ACME profiles

This parameter replaces horizon.acme.max.retry.count. Please modify your configuration accordingly

horizon.acme.order.updater.worker

horizon.acme.order.updater.worker = 5

Number of instances that will be started for each Horizon node to perform the ACME validation

horizon.acme.order.ttl

horizon.acme.order.ttl = "1m"

Order time to live

horizon.acme.response.verifier.worker

horizon.acme.response.verifier.worker = 5

Number of instances that will be started for each Horizon node to perform the ACME validation

horizon.acme.challenge.entropy

horizon.acme.challenge.entropy = 32

Acme challenge size

horizon.acme.http.json-prettify

horizon.acme.http.json-prettify = true

Http response as sent as prettyfied json

This parameter replaces horizon.acme.http.json.prettify. Please modify your configuration accordingly

ACME Pki connector configuration

horizon.pki.acme.authorization.interval

horizon.pki.acme.authorization.interval = "3s"

Interval at which authorization validation is checked against the ACME server

horizon.pki.acme.authorization.max-delay

horizon.pki.acme.authorization.max-delay = "30s"

Max delay before validation check against the ACME server is abandoned

horizon.pki.acme.authorization.initial-delay

horizon.pki.acme.authorization.initial-delay = "5s"

Initial delay before starting validation check against the ACME server

horizon.pki.acme.order.interval

horizon.pki.acme.order.interval = "5s"

Interval at which order status is checked against the ACME server

horizon.pki.acme.order.max-delay

horizon.pki.acme.order.max-delay = "30s"

Max delay before order retrieval against the ACME server is abandoned

Analytics Configuration

horizon.event.analytics.actor.timeout

horizon.event.analytics.actor.timeout = "1m"

The timeout for requests to the event analytics actor

horizon.event.analytics.actor.interval

horizon.event.analytics.actor.interval = "5s"

Interval at which the events are synchronized

horizon.event.analytics.enabled

horizon.event.analytics.enabled = false

Enable event analytics

horizon.discovery.event.analytics.actor.timeout

horizon.discovery.event.analytics.actor.timeout = "1m"

The timeout for requests to the discovery event analytics actor

horizon.discovery.event.analytics.actor.interval

horizon.discovery.event.analytics.actor.interval = "5s"

Interval at which the discovery events are synchronized

horizon.discovery.event.analytics.enabled

horizon.discovery.event.analytics.enabled = false

Enable discovery event analytics

horizon.certificate.analytics.actor.timeout

horizon.certificate.analytics.actor.timeout = "1m"

The timeout for requests to the certificate analytics actor

horizon.certificate.analytics.enabled

horizon.certificate.analytics.enabled = false

Enable certificate analytics

horizon.analytics.url

horizon.analytics.url = "jdbc:duckdb:"

The url to the analytics database. Should start with jdbc:duckdb: followed by the absolute path of the file.

horizon.analytics.pool-size

horizon.analytics.pool-size = 10

The thread pool size for the analytics operations. Should be equal to ((physical_core_count * 2) + effective_spindle_count)

horizon.analytics.memory-limit

horizon.analytics.memory-limit = "1GB"

The memory limit to set to the duck db analytics database

Bootstrap Configuration

horizon.bootstrap.administrator.name

horizon.bootstrap.administrator.name = "administrator"

How long the authentication cache lasts

Default administrator account name

horizon.bootstrap.administrator.display-name

horizon.bootstrap.administrator.display-name = "Horizon Administrator"

Default administrator account display name

This parameter replaces horizon.bootstrap.administrator.display.name. Please modify your configuration accordingly

horizon.bootstrap.administrator.password.path

horizon.bootstrap.administrator.password.path = "var/run/adminPassword"

Relative path of the file where the initial admin password should be stored into

horizon.bootstrap.administrator.password.length

horizon.bootstrap.administrator.password.length = 24

Length (in bytes) of the initial admin password

horizon.bootstrap.local.identity.provider

horizon.bootstrap.local.identity.provider = "local"

Default administrator account identity provider to use

horizon.bootstrap.timeout

horizon.bootstrap.timeout = "1m"

Duration after which the bootstrap of Horizon times out

CA Configuration

horizon.ca.manager.default-cache-idletime

horizon.ca.manager.default-cache-idletime = "30d"

Default idle time after which a CA crl is removed from cache

This parameter replaces horizon.ca.manager.cache.default.timetoidle. Please modify your configuration accordingly

horizon.ca.manager.timeout

horizon.ca.manager.timeout = "1m"

Duration that the CA manager actor will wait to retrieve information about certificates (trust status, trust chain, …​)

horizon.ca.maximum.timeout

horizon.ca.maximum.timeout = "5m"

Maximum configurable timeout for CRL/OCSP request for a CA

horizon.ca.maximum.refresh

horizon.ca.maximum.refresh = "7d"

Maximum configurable refresh for a CA’s CRL

CSV Configuration

horizon.request.search.csv.delimiter

horizon.request.search.csv.delimiter = ";"

The CSV delimiter to use when exporting an HRQL query result to a CSV file

horizon.event.search.csv.delimiter

horizon.event.search.csv.delimiter = ";"

The CSV delimiter to use when exporting an HEQL query result to a CSV file

horizon.discovery.event.search.csv.delimiter

horizon.discovery.event.search.csv.delimiter = ";"

The CSV delimiter to use when exporting an HDQL query result to a CSV file

horizon.certificate.search.item.attribute.separator

horizon.certificate.search.item.attribute.separator = ":"

The CSV item attribute separator to use when exporting an HCQL query result to a CSV file

horizon.certificate.search.item.separator

horizon.certificate.search.item.separator = "\n"

The CSV item separator to use when exporting an HCQL query result to a CSV file

horizon.certificate.search.csv.delimiter

horizon.certificate.search.csv.delimiter = ";"

The CSV delimiter to use when exporting an HCQL query result to a CSV file

Certificate authentication

horizon.security.http.headers.certificate

horizon.security.http.headers.certificate = null

Name of the HTTP header containing the certificate

Database Configuration

horizon.security.principal.search.timeout

horizon.security.principal.search.timeout = "0s"

Maximum time allowed for security principals search operations. For infinite timeout, use 0s

horizon.request.search.timeout

horizon.request.search.timeout = "0s"

Maximum time allowed for request search and aggregate operations. For infinite timeout, use 0s

horizon.event.search.timeout

horizon.event.search.timeout = "30s"

Maximum time allowed for event search operations. For infinite timeout, use 0s

horizon.discovery.event.search.timeout

horizon.discovery.event.search.timeout = "30s"

Maximum time allowed for discovery event search and aggregate operations. For infinite timeout, use 0s

horizon.certificate.search.timeout

horizon.certificate.search.timeout = "30s"

Maximum time allowed for certificate search and aggregate operations. For infinite timeout, use 0s

Discovery Event Configuration

horizon.discovery.event.ttl

horizon.discovery.event.ttl = null

Time to live of the discovery events. If not set, events never expire

Event Configuration

horizon.event.ttl

horizon.event.ttl = null

Time to live of the events. If not set, events never expire

horizon.event.chainsign

horizon.event.chainsign = true

Specify whether to chain and sign the Horizon events to ensure they haven’t been tampered with

horizon.event.seal.algorithm

horizon.event.seal.algorithm = "HS512"

Algorithm to use to hash the signature of the events in Horizon (other possible values are "HS384" and "HS256")

horizon.event.seal.secret

horizon.event.seal.secret = null

Secret to seal the events with

horizon.event.ignore-unsealed-pending

horizon.event.ignore-unsealed-pending = false

Do not throw an error if pending events are unsealed

horizon.event.timeout

horizon.event.timeout = "30s"

Duration after which the event manager times out when trying to retrieve the last signed event in the database

horizon.event.manager.interval

horizon.event.manager.interval = "5s"

How often will the Event Manager actor check in the database if new a new event appeared to sign it and display it in the "Events" section of Horizon

General

horizon.security.pop.iat.future

horizon.security.pop.iat.future = "5s"

Difference of time allowed between the "Issued At Time" and the validation time (or the server time) (in the future only)

This parameter replaces horizon.security.[nonce type]_certificate_pop.iat.future. Please modify your configuration accordingly

horizon.security.pop.iat.past

horizon.security.pop.iat.past = "5s"

Difference of time allowed between the "Issued At Time" and the validation time (or the server time) (in the past only)

This parameter replaces horizon.security.[nonce type]_certificate_pop.iat.past. Please modify your configuration accordingly

horizon.security.pop.iat.clock-skew

horizon.security.pop.iat.clock-skew = "30s"

Difference of time allowed between the client time and the server time

This parameter replaces horizon.security.[nonce type]_certificate_pop.iat.clock_skew. Please modify your configuration accordingly

horizon.security.identity.local.password-reset.duration

horizon.security.identity.local.password-reset.duration = "2m"

Time to live of a password reset request (from the login prompt)

This parameter replaces horizon.security.local.identity.password.reset.duration. Please modify your configuration accordingly

horizon.security.trustmanager.enforce-serverauth

horizon.security.trustmanager.enforce-serverauth = false

If set to true, enforces the use of the serverAuth EKU in the server authentication certificates (when Horizon accesses a service through TLS)

This parameter replaces horizon.security.trustmanager.enforce_serverauth. Please modify your configuration accordingly

horizon.security.manager.timeout

horizon.security.manager.timeout = "1m"

Duration after which the security manager times out when trying to authenticate a principal with its session

horizon.request.default.grace-period

horizon.request.default.grace-period = "30d"

Default grace period for all requests

This parameter replaces all of horizon.request.grace_period.[module].[request workflow]. Please modify your configuration accordingly

horizon.request.default.duration

horizon.request.default.duration = "7d"

Default duration for all requests

This parameter replaces all of horizon.request.default_duration.[module].[request workflow]. Please modify your configuration accordingly

horizon.intune.revocation.max-requests

horizon.intune.revocation.max-requests = 250

Number of revocation requests downloaded from Intune

Limited to 500 max

This parameter replaces horizon.intune.revocation.max_requests. Please modify your configuration accordingly

horizon.datasource.default-timeout

horizon.datasource.default-timeout = "5s"

Default timeout for REST requests for the REST datasource

horizon.scheduler.manager.timeout

horizon.scheduler.manager.timeout = "1m"

Duration after which the Scheduler manager actor times out when retrieving scheduled tasks in the database

horizon.notification.mail.attachment.extension.der

horizon.notification.mail.attachment.extension.der = "der"

File extension that DER certificates sent as email attachments (through the notifications feature) will be given

horizon.notification.mail.attachment.extension.p7b

horizon.notification.mail.attachment.extension.p7b = "p7b"

File extension that PKCS#7 certificates sent as email attachments (through the notifications feature) will be given

horizon.notification.mail.attachment.extension.pem

horizon.notification.mail.attachment.extension.pem = "pem"

File extension that PEM certificates sent as email attachments (through the notifications feature) will be given

horizon.hql.max-recursion-depth

horizon.hql.max-recursion-depth = 5

Maximum recursion allowed for the HQL queries

horizon.system.monitor.timeout

horizon.system.monitor.timeout = "30s"

Timeout for the system monitor loading

horizon.crl.updater.parallelism

horizon.crl.updater.parallelism = 500

Number of certificates per batch when Horizon synchronizes the database with the CRL or update the cached entries

horizon.crl.synchronizer.refresh-interval

horizon.crl.synchronizer.refresh-interval = "5m"

The refresh interval between CRL synchronizations

horizon.crl.synchronizer.timeout

horizon.crl.synchronizer.timeout = "30s"

Timeout for the synchronizer actor

horizon.thirdparty.manager.timeout

horizon.thirdparty.manager.timeout = "1m"

Timeout for thirdparty synchronization requests

This parameter replaces horizon.thirdparty.manager.timeout. Please modify your configuration accordingly

horizon.pki.manager.maximum.timeout

horizon.pki.manager.maximum.timeout = "5m"

Maximum configurable timeout on the PKI connectors

This parameter replaces horizon.pki-connector.max.timeout. Please modify your configuration accordingly

horizon.pki.manager.timeout

horizon.pki.manager.timeout = "1m"

Duration after which the PKI Manager times out when trying to enroll or revoke a certificate

horizon.pki.manager.queue.parallelism

horizon.pki.manager.queue.parallelism = 5

Number of parallel certificate requests (enrollment, revocation…) on the default queue

This parameter replaces horizon.pki.manager.default.parallelism. Please modify your configuration accordingly

horizon.pki.manager.queue.size

horizon.pki.manager.queue.size = 100

Number of certificate requests (enrollment, revocation) that can be queued on the default queue

This parameter replaces horizon.pki.manager.default.size. Please modify your configuration accordingly

horizon.pki.manager.healthcheck.interval

horizon.pki.manager.healthcheck.interval = "5m"

Interval at which the PKI connectors statuses are checked

horizon.show-banner

horizon.show-banner = true

Hide the start-up banner

horizon.est.store-encryption-type

horizon.est.store-encryption-type = "AES_STRONG"

Default store encryption type to use when sending centralized EST responses

horizon.scim.discovery-endpoints.authenticated

horizon.scim.discovery-endpoints.authenticated = true

Choose whether or not scim discovery endpoints are authenticated

horizon.automation-policy.default.keytype

horizon.automation-policy.default.keytype = "rsa-2048"

Default key type used for automation when none are specified in the profile

This parameter replaces horizon.automation.policy.default.keytype. Please modify your configuration accordingly

horizon.endpoints

horizon.endpoints = null

Custom endpoint configuration

Global constraints Configuration

horizon.default.constraints.allowed.domains

horizon.default.constraints.allowed.domains = null

Default allowed domains: a regular expression that the dns or email domains should match

horizon.default.constraints.allowed.email.domains

horizon.default.constraints.allowed.email.domains = null

Default allowed email domains: a regular expression that the email domains should match (after the @)

horizon.default.constraints.allowed.dns.domains

horizon.default.constraints.allowed.dns.domains = null

Default allowed dns domains: a regular expression that the dns domains should match

Grading Configuration

horizon.grading.manager.timeout

horizon.grading.manager.timeout = "30s"

Duration after which the grading manager times out when retrieving the grading configuration from the database

horizon.grading.manager.queue.size

horizon.grading.manager.queue.size = 100

How large can the grading manager queue can get before it discards new grading requests

horizon.grading.timeout

horizon.grading.timeout = "30s"

Duration after which the grading actor times out when grading a certificate (upon enrolment)

HTTP Headers Configuration

horizon.security.http.headers.enforce-connection-close

horizon.security.http.headers.enforce-connection-close = true

Defines whether HTTP connections should remain open

This parameter replaces horizon.http.header.enforce_connection_close. Please modify your configuration accordingly

horizon.security.http.headers.real-ip

horizon.security.http.headers.real-ip = "X-Real-IP"

Name of the HTTP header to use as Real IP

This parameter replaces horizon.http.header.realip. Please modify your configuration accordingly

horizon.security.http.headers.scheme

horizon.security.http.headers.scheme = "X-Forwarded-Proto"

Name of the HTTP header containing the scheme requested - used for ACME

This parameter replaces horizon.http.header.scheme. Please modify your configuration accordingly

horizon.security.http.headers.host

horizon.security.http.headers.host = "X-Forwarded-Host"

Name of the HTTP header containing the host requested - used for ACME

This parameter replaces horizon.http.header.host. Please modify your configuration accordingly

Metrics Configuration

horizon.metrics.enabled

horizon.metrics.enabled = false

Enable advanced metrics for collection

horizon.metrics.intervals.short

horizon.metrics.intervals.short = "30s"

Interval at which short lived metrics are computed

horizon.metrics.intervals.long

horizon.metrics.intervals.long = "5m"

Interval at which background metrics are computed

Nonce Configuration

horizon.automation.nonce.size

horizon.automation.nonce.size = 32

Size of the nonce value used for the JWT authentication token

horizon.automation.nonce.ttl

horizon.automation.nonce.ttl = "5s"

Time to live of the nonce used to validate the JWT authentication token

horizon.acme.nonce.size

horizon.acme.nonce.size = 32

Size (in bytes) of the challenge stored in the nonce

horizon.acme.nonce.ttl

horizon.acme.nonce.ttl = "5s"

Duration for which a nonce stays in Horizon before being removed

horizon.openid.nonce.size

horizon.openid.nonce.size = 32

Size (in bytes) of the challenge stored in the nonce

This parameter replaces horizon.security.identity.provider.openid.nonce.size. Please modify your configuration accordingly

horizon.openid.nonce.ttl

horizon.openid.nonce.ttl = "5s"

Duration for which a nonce stays in Horizon before being removed

This parameter replaces horizon.security.identity.provider.openid.nonce.ttl. Please modify your configuration accordingly

horizon.request.nonce.size

horizon.request.nonce.size = 32

Size (in bytes) of the challenge stored in the nonce

horizon.request.nonce.ttl

horizon.request.nonce.ttl = "5s"

Duration for which a nonce stays in Horizon before being removed

OpenID Configuration

horizon.openid.state-separator

horizon.openid.state-separator = "#"

Separator character of the OpenID state

This parameter replaces horizon.security.identity.provider.openid.state.separator. Please modify your configuration accordingly

Search Configuration

horizon.security.principal.search.page.default-size

horizon.security.principal.search.page.default-size = 50

How many elements to retrieve in a security principals search query if no pageSize has been specified

This parameter replaces horizon.security.principal.search.page.default_size. Please modify your configuration accordingly

horizon.security.principal.search.page.max-size

horizon.security.principal.search.page.max-size = null

How big can the pageSize parameter be in a security principals search query (Must be a positive integer)

This parameter replaces horizon.security.principal.search.page.max_size. Please modify your configuration accordingly

horizon.request.search.page.default-size

horizon.request.search.page.default-size = 50

How many elements to retrieve in a request search query if no pageSize has been specified

This parameter replaces horizon.request.search.page.default_size. Please modify your configuration accordingly

horizon.request.search.page.max-size

horizon.request.search.page.max-size = null

How big can the pageSize parameter be in a request search query (Must be a positive integer)

This parameter replaces horizon.request.search.page.max_size. Please modify your configuration accordingly

horizon.event.search.page.default-size

horizon.event.search.page.default-size = 50

How many elements to retrieve in an event search query if no pageSize has been specified

This parameter replaces horizon.event.search.page.default_size. Please modify your configuration accordingly

horizon.event.search.page.max-size

horizon.event.search.page.max-size = null

How big can the pageSize parameter be in an event search query (Must be a positive integer)

This parameter replaces horizon.event.search.page.max_size. Please modify your configuration accordingly

horizon.discovery.event.search.page.default-size

horizon.discovery.event.search.page.default-size = 50

How many elements to retrieve in a request search query if no pageSize has been specified

This parameter replaces horizon.discovery.event.search.page.default_size. Please modify your configuration accordingly

horizon.discovery.event.search.page.max-size

horizon.discovery.event.search.page.max-size = null

How big can the pageSize parameter be in a request search query (Must be a positive integer)

This parameter replaces horizon.discovery.event.search.page.max_size. Please modify your configuration accordingly

horizon.certificate.search.page.default-size

horizon.certificate.search.page.default-size = 50

How many elements to retrieve in a request search query if no pageSize has been specified

This parameter replaces horizon.certificate.search.page.default_size. Please modify your configuration accordingly

horizon.certificate.search.page.max-size

horizon.certificate.search.page.max-size = null

How big can the pageSize parameter be in a request search query (Must be a positive integer)

This parameter replaces horizon.certificate.search.page.max_size. Please modify your configuration accordingly

Trigger Configuration

horizon.trigger.retry.initial-delay

horizon.trigger.retry.initial-delay = "5m"

How long must a trigger that fails for the first time wait before retrying

This parameter replaces horizon.trigger.retry.initial_delay. Please modify your configuration accordingly

horizon.trigger.retry.max-attempts

horizon.trigger.retry.max-attempts = 15

Maximum amount of failed attempts that a trigger can have before canceling

This parameter replaces horizon.trigger.max.retry. Please modify your configuration accordingly

horizon.trigger.manager.timeout

horizon.trigger.manager.timeout = "1m"

Trigger manager timeout

horizon.trigger.manager.interval

horizon.trigger.manager.interval = "5m"

How often does the trigger manager check for triggers to run

Vault Configuration

horizon.vault.escrow

horizon.vault.escrow = null

The name of the escrow vault

horizon.vault.configuration

horizon.vault.configuration = null

The name of the configuration vault

horizon.vault.transient

horizon.vault.transient = null

The name of the transient vault

horizon.vault.manager.timeout

horizon.vault.manager.timeout = "1m"

Timeout for encryption requests