Apicurio Registry configuration reference
This chapter provides reference information on the configuration options that are available for Apicurio Registry.
-
For details on migrating a 2.x Apicurio Registry deployment to 3.x see Apicurio Registry version 2 to version 3 configuration changes
-
For details on setting configuration options by using the Core Registry API, see the
/admin/config/propertiesendpoint in the Apicurio Registry REST API documentation. -
For details on client configuration options for Kafka serializers and deserializers, see Configuring Kafka serializers/deserializers in Java clients.
Apicurio Registry configuration options
The following Apicurio Registry configuration options are available for each component category:
a2a
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Whether the agent supports push notifications |
|
|
|
|
Whether the agent supports streaming |
|
|
|
|
Description of the registry agent |
|
|
|
|
Name of the registry agent for A2A discovery |
|
|
|
|
Organization name for the agent provider |
|
|
|
URL for the agent provider |
|
|
|
|
Base URL for the registry agent’s A2A endpoint |
|
|
|
|
Version of the registry agent (defaults to app version) |
|
|
|
|
|
Enable A2A protocol support (experimental) |
api
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Include stack trace in errors responses |
|
|
|
|
API base href (URI) |
|
|
|
Disable APIs |
auth
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Auth admin override claim |
|
|
|
|
Auth admin override claim value |
|
|
|
|
Auth admin override enabled |
|
|
|
|
Auth admin override from |
|
|
|
|
Auth admin override role |
|
|
|
|
Auth admin override type |
|
|
|
|
Auth admin override user name |
|
|
|
|
Anonymous read access |
|
|
|
|
Authenticated read access |
|
|
|
|
Artifact owner-only authorization |
|
|
|
|
Artifact group owner-only authorization |
|
|
|
|
Enable role based authorization |
|
|
|
|
Auth roles source |
|
|
|
Header authorization name |
|
|
|
|
|
Auth roles admin |
|
|
|
|
Auth roles developer |
|
|
|
|
Auth roles readonly |
|
|
|
|
Prefix used for application audit logging. |
|
|
|
|
Default client credentials token expiration time in minutes. |
|
|
|
|
Client credentials token expiration offset from JWT expiration, in seconds. |
|
|
|
|
Enable basic auth client credentials |
|
|
|
Client credentials scope. |
|
|
|
|
|
Header name for email |
|
|
|
|
Enable proxy header authentication |
|
|
|
|
Header name for groups/roles |
|
|
|
|
When enabled, authorization checks are skipped and the proxy is trusted to have performed authorization |
|
|
|
|
Header name for username |
|
|
|
|
Enable basic auth |
|
|
|
Client identifier used by the server for authentication. |
|
|
|
|
Client secret used by the server for authentication. |
|
|
|
|
|
Enable auth |
|
|
|
|
Authentication server token endpoint. |
cache
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Registry cache enabled |
|
|
|
|
Enable or disable HTTP caching entirely. When disabled, no server-side cache headers (ETag, Surrogate-Control, etc.) are sent, and cache strategies are not evaluated. At least one of the max-age configurations must be set to > 0, otherwise caching is automatically disabled and this property has no effect. |
|
|
|
|
Send additional informational headers to help understand caching behavior. Extra headers include X-Cache-Cacheability which indicates the evaluated cacheability level. These headers are useful for development, troubleshooting, and making additional decisions in the cache configuration. |
|
|
|
|
Expiration for high cacheability operations, in seconds. If set to ⇐ 0, caching is disabled for these operations. |
|
|
|
|
Provide higher quality ETags if possible, but they might be more expensive to compute. This feature trades more computation for potentially higher cacheability of some operations. |
|
|
|
|
Expiration for low cacheability operations, in seconds. If set to ⇐ 0, caching is disabled for these operations. |
|
|
|
|
Expiration for moderate cacheability operations, in seconds. If set to ⇐ 0, caching is disabled for these operations. |
|
|
|
Hash raw ETag values before adding them to the header. Enabling this feature might marginally increase security, while disabling is useful for testing and debugging. If no value is provided, the feature is enabled when the |
|
|
|
|
|
Comma-separated list of request header names to include in the Vary response header. The Vary header tells caches that the response varies based on the values of the listed request headers. |
ccompat
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Enable group support via concatenation in subject (compatibility API) |
|
|
|
|
Separator to use when group concatenation is enabled (compatibility API) |
|
|
|
|
Legacy ID mode (compatibility API) |
|
|
|
|
Maximum number of Subjects returned (compatibility API) |
|
|
|
|
Canonical hash mode (compatibility API) |
download
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Download link expiry |
gitops
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
Identifier of this Registry instance. Only data that references this identifier will be loaded. |
|
|
|
|
|
Name of the branch in the remote git repository containing data to be loaded. |
|
|
|
URI of the remote git repository containing data to be loaded. |
|
|
|
|
|
Path to GitOps working directory, which is used to store the local git repository. |
health
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
Ignored liveness errors |
|
|
|
|
|
Counter reset window duration of persistence liveness check |
|
|
|
|
Error threshold of persistence liveness check |
|
|
|
|
Disable logging of persistence liveness check |
|
|
|
|
Status reset window duration of persistence liveness check |
|
|
|
|
Error threshold of persistence readiness check |
|
|
|
|
Timeout of persistence readiness check |
|
|
|
|
Status reset window duration of persistence readiness check |
|
|
|
|
Counter reset window duration of response liveness check |
|
|
|
|
Counter reset window duration of persistence readiness check |
|
|
|
|
Disable logging of response liveness check |
|
|
|
|
Error threshold of response liveness check |
|
|
|
|
Status reset window duration of response liveness check |
|
|
|
|
Counter reset window duration of response readiness check |
|
|
|
|
Error threshold of response readiness check |
|
|
|
|
Timeout of response readiness check |
|
|
|
|
Status reset window duration of response readiness check |
|
|
|
|
Storage metrics cache check period |
iceberg
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Default prefix (catalog identifier) for the Iceberg REST API |
|
|
|
|
Enable the Iceberg REST Catalog API (experimental) |
|
|
|
Default warehouse location for Iceberg tables |
import
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
When set to true, content IDs from the import file will be used (otherwise new IDs will be generated). Defaults to 'true'. |
|
|
|
|
When set to true, global IDs from the import file will be used (otherwise new IDs will be generated). Defaults to 'true'. |
|
|
|
|
When set to true, importing data will only work when the registry is empty. Defaults to 'true'. |
|
|
|
The import URL |
|
|
|
|
Temporary work directory to use when importing data. |
kubernetesops
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
Identifier of this Registry instance. Only ConfigMaps with a label matching this identifier will be loaded. |
|
|
|
|
|
Label key used to identify ConfigMaps belonging to this registry instance. |
|
|
|
Kubernetes namespace to watch for ConfigMaps. If not specified, auto-detects the pod’s namespace or falls back to "default". |
|
|
|
|
|
Enable Kubernetes Watch API for real-time ConfigMap change detection. |
|
|
|
|
Base delay before reconnecting after watch failure. Uses exponential backoff. |
limits
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Max artifact labels |
|
|
|
|
Max artifact properties |
|
|
|
|
Max artifacts |
|
|
|
|
Max artifact description length |
|
|
|
|
Max artifact label size |
|
|
|
|
Max artifact name length |
|
|
|
|
Max artifact property key size |
|
|
|
|
Max artifact property value size |
|
|
|
|
Max artifact requests per second |
|
|
|
|
Max schema size (bytes) |
|
|
|
|
Max total schemas |
|
|
|
|
Max versions per artifacts |
|
|
|
|
Storage metrics cache max size. |
log
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Dynamic log level for Apicurio Registry |
observability
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Enable collecting metrics about REST API requests. |
|
|
|
|
Only the general category of the HTTP status code is added as a tag/label on REST API request metrics,
e.g. |
|
|
|
|
Add the HTTP method tag/label on REST API request metrics. You might disable this tag to reduce metrics cardinality. |
|
|
|
|
Only requests with a path matching this pattern (Java syntax) will be considered for metrics collection. The pattern is applied to the request path only,
e.g. |
|
|
|
|
Add the unsubstituted path tag/label on REST API request metrics,
e.g. |
|
|
|
|
Enable or disable OpenTelemetry for distributed tracing, metrics export via OTLP, and log correlation. When enabled, Apicurio Registry exports telemetry data to an OpenTelemetry collector. |
|
|
|
The endpoint URL of the OpenTelemetry collector. Supports both gRPC (port 4317) and HTTP (port 4318) protocols. |
|
|
|
|
|
The protocol to use for exporting telemetry data. Valid values are |
|
|
|
|
Enable or disable automatic tracing instrumentation for Kafka operations. Useful for tracing in KafkaSQL storage deployments. |
|
|
|
|
BUILD-TIME property to enable log export via OpenTelemetry. When enabled along with JSON logging, trace context is automatically included in log entries. Use |
|
|
|
|
BUILD-TIME property to enable metrics export via OpenTelemetry. This works alongside existing Prometheus metrics export. Use |
|
|
|
Additional resource attributes to include in telemetry data, specified as comma-separated key=value pairs. Example: |
|
|
|
|
|
Disable the OpenTelemetry SDK at runtime. Set to |
|
|
|
|
The logical service name for this Apicurio Registry instance. This name appears in traces and metrics exported to the OpenTelemetry collector. |
|
|
|
|
BUILD-TIME property to enable distributed tracing instrumentation. When enabled, Apicurio Registry creates spans for REST API requests and storage operations. Use |
|
|
|
|
The sampling strategy for traces. Use |
|
|
|
|
The sampling ratio when using |
redirects
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
Registry redirects |
|
|
|
|
Enable redirects |
|
|
|
|
Override the hostname used for generating externally-accessible URLs. The host and port overrides are useful when deploying Registry with HTTPS passthrough Ingress or Route. In cases like these, the request URL (and port) that is then re-used for redirection does not belong to actual external URL used by the client, because the request is proxied. The redirection then fails because the target URL is not reachable. |
|
|
|
|
Override the port used for generating externally-accessible URLs. |
rest
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
Optional configuration to override default reference handling behavior. When not set, uses API defaults (PRESERVE for v3, false for v2, none for ccompat). |
|
|
|
|
|
Enables artifact version deletion |
|
|
|
|
Enables artifact deletion |
|
|
|
|
Enables group deletion |
|
|
|
|
Enables production-like behavior for draft versions |
|
|
|
|
Enables artifact version mutability |
|
|
|
|
Max size of the labels (in bytes) per item from within search results |
search
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Maximum content size (in characters) to index |
|
|
|
|
Elasticsearch index name |
|
|
|
|
Number of Elasticsearch index replicas |
|
|
|
|
Number of Elasticsearch index shards |
|
|
|
|
Enable search indexing (experimental) |
semver
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
If true, invalid versions will be coerced to Semantic Versioning 2 format (https://semver.org) if possible. |
|
|
|
|
Automatically create or update branches for major ('A.x') and minor ('A.B.x') artifact versions. |
|
|
|
|
Validate that all artifact versions conform to Semantic Versioning 2 format (https://semver.org). |
storage
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Gitops blue datasource db kind |
|
|
|
|
Gitops blue datasource pool initial size |
|
|
|
|
Gitops blue datasource pool max size |
|
|
|
|
Gitops blue datasource pool minimum size |
|
|
|
|
Gitops blue datasource jdbc url |
|
|
|
|
Gitops blue datasource password |
|
|
|
|
Gitops blue datasource username |
|
|
|
|
Gitops green datasource db kind |
|
|
|
|
Gitops green datasource pool initial size |
|
|
|
|
Gitops green datasource pool max size |
|
|
|
|
Gitops green datasource pool minimum size |
|
|
|
|
Gitops green datasource jdbc url |
|
|
|
|
Gitops green datasource password |
|
|
|
|
Gitops green datasource username |
|
|
|
|
Kafka events topic for outbox pattern |
|
|
|
Kafka sql events topic properties. There is an optional Registry-specific configuration property: 'replication.factor'. IMPORTANT: As a temporary compatibility measure, configuration properties for this topic are also inherited from 'apicurio.kafkasql.topic' unless explicitly overridden by this property. This will be removed in a next minor version. |
|
|
|
Kafka sql storage bootstrap servers |
||
|
|
|
Kafka sql storage prefix for consumer group name |
|
|
|
|
Kafka sql storage consumer poll timeout in milliseconds |
|
|
|
|
Kafka sql storage coordinator response timeout in milliseconds |
|
|
|
Kafka sql storage security protocol |
||
|
|
Kafka sql storage sasl client identifier |
||
|
|
Kafka sql storage sasl client secret |
||
|
|
|
Kafka sql storage sasl enabled |
|
|
|
Kafka sql storage sasl login callback handler |
||
|
|
Kafka sql storage sasl mechanism |
||
|
|
Kafka sql storage sasl token endpoint |
||
|
|
Kafka sql storage ssl key password |
||
|
|
Kafka sql storage ssl keystore location |
||
|
|
Kafka sql storage ssl keystore password |
||
|
|
Kafka sql storage ssl keystore type |
||
|
|
Kafka sql storage ssl truststore location |
||
|
|
Kafka sql storage ssl truststore password |
||
|
|
Kafka sql storage ssl truststore type |
||
|
|
|
|
Kafka sql journal topic snapshot every |
|
|
|
|
Kafka sql snapshots topic name |
|
|
|
Kafka sql snapshots topic properties. There are two optional Registry-specific configuration properties: 'partitions' and 'replication.factor'. IMPORTANT: As a temporary compatibility measure, configuration properties for this topic are also inherited from 'apicurio.kafkasql.topic' unless explicitly overridden by this property. This will be removed in a next minor version. |
|
|
|
Kafka sql storage ssl key password (deprecated, use apicurio.kafkasql.security.ssl.key.password) |
||
|
|
Kafka sql storage ssl keystore location (deprecated, use apicurio.kafkasql.security.ssl.keystore.location) |
||
|
|
Kafka sql storage ssl keystore password (deprecated, use apicurio.kafkasql.security.ssl.keystore.password) |
||
|
|
Kafka sql storage ssl keystore type (deprecated, use apicurio.kafkasql.security.ssl.keystore.type) |
||
|
|
Kafka sql storage ssl truststore password (deprecated, use apicurio.kafkasql.security.ssl.truststore.password) |
||
|
|
|
Kafka sql storage topic name |
|
|
|
|
|
When using KafkaSQL storage, Apicurio Registry verifies that the topic configuration will not cause accidental data loss or corruption. Setting this property to true will partially disable this verification for all Apicurio Registry topics. Specifically, 'retention.ms=-1' is not enforced to support automatic cleanup when Apicurio Registry snapshotting feature is used. In this case, snapshots have to be made more frequently than messages are deleted. IMPORTANT: We might change which topics and which verification checks are affected by this configuration property in the future. |
|
|
Kafka sql storage topic properties. There are two optional Registry-specific configuration properties: 'partitions' and 'replication.factor'. |
||
|
|
|
Kafka sql storage topic auto create |
|
|
|
|
|
Database schema name (only needed when running two instances of Registry against the same database, in multiple schemas) |
|
|
|
|
SQL init |
|
|
|
|
Multiplier for exponential backoff between retry attempts |
|
|
|
|
Enable connection retry with exponential backoff for transient database connection failures |
|
|
|
|
Initial delay in milliseconds before first retry |
|
|
|
|
Maximum number of connection retry attempts |
|
|
|
|
Maximum delay in milliseconds between retry attempts |
|
|
|
|
Enable automatic creation of group when creating an artifact |
|
|
|
Application storage variant, for example, sql, kafkasql, gitops, or kubernetesops |
|
|
|
|
|
Enable Registry storage read-only mode |
|
|
|
|
Maximum recursion depth for resolving schema references. Prevents stack overflow from deeply nested schemas. |
|
|
|
|
Kafka sql snapshots store location |
|
|
|
|
Application datasource database type |
|
|
|
|
Skip artifact versions with DISABLED state when retrieving latest artifact version |
system
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
|
Enable experimental features. When disabled, any experimental feature that is individually enabled will prevent the application from starting. |
types
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Path to a configuration file containing a list of supported artifact types. |
ui
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
|
Context path for application (useful when behind a proxy) |
|
|
|
|
The OIDC clientId |
|
|
|
Whether to load user info from the OIDC userinfo endpoint. Defaults to true if not specified. Set to false for OIDC providers like Azure Entra ID where the userinfo endpoint has incompatible audience requirements. |
|
|
|
|
|
The OIDC logout URL |
|
|
|
The OIDC redirectUri |
|
|
|
|
|
UI auth OIDC scope value |
|
|
|
|
Context path of the UI |
|
|
|
|
URL of the Documentation component |
|
|
|
|
URL of the Editors component |
|
|
|
|
Enabled to show the Agents tab in the UI (experimental) |
|
|
|
|
Enabled to show breadcrumbs in the UI |
|
|
|
|
Enabled to set the UI to read-only mode |
|
|
|
|
Enabled to show the Settings tab in the UI |
|
|
|
|
Navigation prefix for all UI paths |
unknown
| Name | Type | Default | Available from | Description |
|---|---|---|---|---|
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
Apicurio Registry version 2 to version 3 configuration changes
Apicurio Registry v3 has simplified the configuration options, removing duplicates and improving consistency.
For most options, the only change is ssrenaming of the prefix from registry to apicurio, for example, changing registry.kafkasql.bootstrap.servers to apicurio.kafkasql.bootstrap.servers.
For each configuration property you can override the value by using the corresponding environment variable, for example, APICURIO_KAFKASQL_BOOTSTRAP_SERVERS.s
|
api
| Name | New Option |
|---|---|
|
|
|
|
auth
| Name | New Option |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cache
| Name | New Option |
|---|---|
|
|
ccompat
| Name | New Option |
|---|---|
|
|
|
|
|
|
download
| Name | New Option |
|---|---|
|
|
health
| Name | New Option |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import
| Name | New Option |
|---|---|
|
|
kafka
| Name | New Option |
|---|---|
|
|
|
|
limits
| Name | New Option |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
redirects
| Name | New Option |
|---|---|
|
|
|
|
|
|
|
|
rest
| Name | New Option |
|---|---|
|
|
store
| Name | New Option |
|---|---|
|
|
|
|
ui
| Name | New Option |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
