The most recent patch for this version is 26.2.1.  Learn more

Skip to main content
Version: 26.2

Configuration reference

This page lists every configuration property supported in deployment.yaml. Group headings correspond to top-level YAML keys. For configuration guidance and examples, see the Basic configuration page and the Configure section.

Engine mode​

PropertyTypeDefaultDescription
engine.modestringadsOperating mode for ADS. Accepted values: ads, caq, ads_caq. The ads_caq mode is recommended only for POC or pre-production environments.
allowTrailingSlashAuthorizebooleanfalseWhen true, ADS accepts requests to the /authorize endpoint that include a trailing slash. Provided for compatibility with ADS 1.x clients.

License​

PropertyTypeDefaultDescription
licensestring-Path or URL to the license file. Supports relative path, absolute path, or classpath: prefix. Required: ADS does not start without a valid license.
licenseExpirationWarningduration30 daysHow far in advance ADS logs a warning before the license expires. Format: integer + unit (e.g., 30 days, 15d).

Server​

PropertyTypeDefaultDescription
server.portinteger8080HTTP port ADS listens on. Set to 8443 when enabling TLS.
server.ssl.enabledbooleanfalseEnables HTTPS on the server port.
server.ssl.key-storestring-Path to the keystore file (e.g., file:server_keystore.p12).
server.ssl.key-store-passwordstring-Password for the keystore.
server.ssl.key-store-typestring-Keystore format. Common values: PKCS12, JKS.
server.ssl.client-authstringnoneClient certificate requirement. none = one-way TLS. need = mutual TLS (two-way).
server.ssl.trust-storestring-Path to the truststore file. Required for mutual TLS.
server.ssl.trust-store-passwordstring-Password for the truststore.
server.ssl.trust-store-typestring-Truststore format. Common values: PKCS12, JKS.

Domain​

PropertyTypeDefaultDescription
domain.pathstring-Location of the authorization domain configuration file. Supports relative path, absolute path, classpath: prefix, and HTTP/HTTPS URL. Required.
domain.refreshIntervalduration-How often ADS polls the domain source for changes at runtime. Format: integer + unit (e.g., 10 seconds, 5 minutes). When omitted, ADS reads the domain once at startup.
domain.reportNotReadyOnDomainRefreshErrorbooleanfalseWhen true, ADS returns 503 Service Unavailable from its readiness probe if a domain refresh fails. Has no effect if refreshInterval is not set.
domain.startup.maxRetriesinteger-Number of retry attempts when loading the domain at startup.
domain.startup.retryIntervalduration-Wait time between startup retry attempts. Minimum: 1 second. Format: integer + unit.
domain.authentication.usernamestring-Username for Basic authentication when retrieving the domain from a remote endpoint. Do not set if using oauth2ClientId.
domain.authentication.passwordstring-Password for Basic authentication when retrieving the domain. Do not set if using oauth2ClientId.
domain.authentication.oauth2ClientIdstring-OAuth2 client ID for token-based domain retrieval. Do not set if using username/password.
domain.authentication.tlsConfigurationIdstring-Name of the Spring TLS bundle (defined under spring.ssl.bundle) used to secure domain retrieval requests.
domain.authentication.oauth2TlsConfigurationIdstring-Name of the Spring TLS bundle used to secure OAuth2 token retrieval requests. Can reference the same bundle as tlsConfigurationId or a different one.

Authentication​

PropertyTypeDefaultDescription
authentication.enabledbooleantrueSet to false to disable all authentication. When disabled, any spring.security user settings are ignored.
spring.security.user.namestring-Username for Basic authentication.
spring.security.user.passwordstring-Password for Basic authentication. Supports plain text or hashed values with a {id} prefix (e.g., {bcrypt}, {sha256}, {pbkdf2}, {noop}). In ADS 26.2.0+, {pbkdf2} requires a 16-byte salt (96 hex characters). Legacy 80-character hashes must be regenerated prior to upgrading.
spring.security.oauth2.resourceserver.jwt.audiencesstring-Expected value of the JWT aud claim. ADS rejects tokens that do not match this audience. Optional.
spring.security.oauth2.resourceserver.jwt.jwk-set-uristring-URI of the JSON Web Key Set (JWKS) endpoint for verifying JWT signatures. Accepts file: or https: URIs. Required for JWT authentication.
spring.security.oauth2.resourceserver.jwt.jws-algorithmsstringRS256JSON Web Algorithm used to verify JWT signatures. Optional.
spring.security.oauth2.client.registration.<id>.client-idstring-OAuth2 client identifier, as registered with the authorization server.
spring.security.oauth2.client.registration.<id>.client-secretstring-OAuth2 client secret. Use an environment variable to avoid storing this in plain text.
spring.security.oauth2.client.registration.<id>.scopestring-OAuth2 scope(s) requested by the client (e.g., openid).
spring.security.oauth2.client.registration.<id>.authorization-grant-typestring-OAuth2 grant type. Use client_credentials for machine-to-machine token requests.
spring.security.oauth2.client.registration.<id>.providerstring-Provider key that supplies the token endpoint configuration.
spring.security.oauth2.client.provider.<id>.token-uristring-Token endpoint URL of the authorization server.

TLS (Spring bundles)​

PropertyTypeDefaultDescription
spring.ssl.bundle.jks.<name>.keystore.locationstring-Path to the keystore file for the named TLS bundle (e.g., file:server_keystore.p12).
spring.ssl.bundle.jks.<name>.keystore.passwordstring-Password to access the keystore. Use an environment variable.
spring.ssl.bundle.jks.<name>.keystore.typestring-Keystore format (e.g., PKCS12, JKS).
spring.ssl.bundle.jks.<name>.truststore.locationstring-Path to the truststore file for the named TLS bundle.
spring.ssl.bundle.jks.<name>.truststore.passwordstring-Password to access the truststore. Use an environment variable.
spring.ssl.bundle.jks.<name>.truststore.typestring-Truststore format (e.g., PKCS12, JKS).
note

As an alternative to Spring TLS bundles, configure TLS trust at the JVM level by passing -Djavax.net.ssl.trustStore and -Djavax.net.ssl.trustStorePassword as JVM startup arguments. See Configure TLS.

Attribute connectors​

PropertyTypeDefaultDescription
attributeConnectorContext.jdbc.connectionPool.minimumSizeinteger-Minimum JDBC connection pool size created by each SQL or Table attribute connector at startup. Connections above this minimum are closed after 10 minutes of inactivity. Set to 0 or omit to create connections only on demand.
attributeConnectorContext.jdbc.connectionPool.maximumSizeinteger-Maximum JDBC connection pool size (idle + active). Set to 0 or omit to disable connection pooling.

Caching​

Distributed cache​

PropertyTypeDefaultDescription
distributedCache.enabledbooleanfalseEnables distributed attribute caching across multiple ADS instances.
distributedCache.portinteger7800Port used for intra-cluster communication.
distributedCache.modestringREPL_ASYNCCache replication mode. REPL_ASYNC prioritizes speed. REPL_SYNC prioritizes data consistency.
distributedCache.clusterNamestringaxio-cache-clusterIdentifier shared by all ADS instances that participate in the same cache cluster. All instances in a cluster must use the same value.
distributedCache.discoveryMethodstringmulticastMechanism used to discover other cluster members. multicast uses IP multicast. dns uses DNS A/SRV records and requires dnsQuery. Axiomatics recommends dns for Kubernetes deployments.
distributedCache.dnsQuerystring-DNS query string used to discover cluster members. Required when discoveryMethod is dns.
distributedCache.cacheStateLocationstring-Absolute path to a writable local directory for storing cluster state metadata. Enables cache state persistence across restarts. In Kubernetes deployments this defaults to an emptyDir on the pod. For JAR deployments the feature is disabled unless this property is set.
distributedCache.tls.keyStorePathstring-Path to the keystore for encrypting intra-cluster communication (e.g., file:server_keystore.p12). Not supported in Kubernetes deployments.
distributedCache.tls.keyStorePasswordstring-Password for the distributed cache TLS keystore.
distributedCache.tls.keyStoreTypestring-Keystore format for distributed cache TLS (e.g., PKCS12).

Cache override​

PropertyTypeDefaultDescription
attributeConnectors.cacheOverride.ttlduration-Overrides the Time-To-Live for all attribute cache entries. Format: integer + unit (e.g., 2 seconds). Set to 0 seconds to disable caching. When set, this value applies to all attributes regardless of individual domain cache settings.
attributeConnectors.cacheOverride.maxItemsinteger-Overrides the maximum number of cached values per attribute. Minimum: 0. When this limit is reached, ADS evicts the least recently used (LRU) entry to make room.

Logging and audit​

PropertyTypeDefaultDescription
logging.level.rootstringWARNMinimum log level for all application output. Accepted values: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE.
logging.level."com.axiomatics.audit"string-Log level for all ADS audit events (evaluation and administrative). Set to INFO to enable audit logging. Set to OFF to disable it.
logging.level."com.axiomatics.audit.ads.eval"string-Log level for evaluation audit events only.
logging.level."com.axiomatics.audit.ads.admin"string-Log level for administrative audit events only.
logging.configstring-Path to a custom Logback configuration file. Use this to control output destination (file, console, or both), format, and additivity.
audit.modestringconcise_jsonFormat and verbosity of audit log output. Accepted values: concise_json, verbose_json, concise (XML), verbose (XML). Applies to ADS logs only. CAQ logs are always XML.

Metrics and tracing​

PropertyTypeDefaultDescription
management.server.portinteger-Separate port for management (health, metrics) endpoints. When omitted, management endpoints share server.port.
management.metrics.enable.systembooleanfalseEnables system-level Spring Boot metrics (CPU, memory, HTTP).
management.metrics.enable.jvmbooleanfalseEnables JVM metrics.
management.metrics.enable.decisionsbooleanfalseEnables ADS RED metrics (Rate, Errors, Duration) for authorization decisions.
management.metrics.enable.duration.infobooleanfalseEnables duration histogram metrics for policy evaluation.
management.metrics.enable.error.requestsbooleanfalseEnables tracking of failed access requests due to policy evaluation errors.
management.metrics.enable.successful.requestsbooleanfalseEnables tracking of successfully evaluated requests (Permit or Deny).

Instance​

PropertyTypeDefaultDescription
identity.constantstring-Sets a fixed, unchanging identity string for this ADS instance. Useful for stable identification in logs and metrics. Do not set alongside identity.prefix.
identity.prefixstring-Sets a custom prefix for the auto-generated instance identity. ADS generates identities in the format <prefix>-<xxxxxxxx>, where the hex suffix changes on every restart. Do not set alongside identity.constant.
note

The identity.constant and identity.prefix values may contain alphanumeric characters, hyphens (-), and underscores (_). The maximum length is 100 characters.

Deprecated properties​

PropertyTypeDefaultDescription
legacyXmlConfig--(Deprecated, no replacement.) Originally supported XML-based domain configuration. XML domains are no longer supported in ADS 26.1.
security.enabledboolean-(Deprecated: use authentication.enabled instead.) ADS 1.x property for disabling authentication.
concurrentEvaluation.numberOfWorkersinteger-(Deprecated: use Java Virtual Threads instead.) ADS 2.x property for parallel evaluation of Multiple Decision Profile (MDP) requests. In ADS 26.x, virtual threads are enabled by default (spring.threads.virtual.enabled: true) and provide equivalent concurrency without manual worker configuration.
metricsBackends--(Deprecated: use management.metrics instead.) ADS 1.x metrics backend configuration.
authentication.typestring-(Deprecated: use spring.security instead.) ADS 1.x authentication type setting.