Skip to content

Server configuration fields

reference
TL;DR

Look up accepted server configuration fields, types and schema defaults here. Required fields must be present when their parent section is configured. A dash means the schema supplies no default; a deployment profile may still provide a value. Use the configuration guide for setup and verify effective settings on your server.

ComparisonSeparate configuration, secrets and deployment inputs
Separate configuration, secrets and deployment inputsServer configuration describes behavior, secrets supply sensitive values and deployment resources provide runtime infrastructure. Validate them together for the selected release rather than copying a universal template.ContainsCheck before startServer YAMLListeners, storage, limitsGenerated field referenceSecretsKeys and credentialsSecret delivery andpermissionsDeploymentVolumes, network, replicasChart and environmentcompatibilitySeparate configuration, secrets and deployment inputsServer configuration describes behavior, secrets supply sensitive values and deployment resources provide runtime infrastructure. Validate them together for the selected release rather than copying a universal template.ContainsCheckbeforestartServer YAMLListeners,storage,limitsGeneratedfieldreferenceSecretsKeys andcredentialsSecretdelivery andpermissionsDeploymentVolumes,network,replicasChart andenvironmentcompatibility
Examples are starting points. Generated defaults describe the checked-in schema; selected-release freshness and live deployment validation remain separate gates.
Jump to reference ↓

Required means the field must be present when its parent section is configured. A dash means no schema default; it does not mean zero, disabled or a runtime default. Explicit null, omitted values and profile settings can differ. Unless a setting explicitly supports reload, plan a controlled restart and verify the effective value.

audit

KeyTypeRequiredSchema default
auditobjectyes—
audit.backendndjson or duckdb or s3 or disabledyes—
audit.buffer_sizeintegerno1000
audit.enabledbooleanyes—
audit.include_ip_addressbooleannotrue
audit.include_query_textbooleannotrue
audit.log_pathstringno—
audit.sample_ratenumberno—

auth

KeyTypeRequiredSchema default
authobjectyes—
auth.admin_groupsarray of stringyes—
auth.auth0objectyes—
auth.auth0.audiencestringno—
auth.auth0.groups_namespacestringno—
auth.auth0.tenantstringno—
auth.authorization_enabledbooleanyes—
auth.azureobjectyes—
auth.azure.allow_multi_tenantbooleanyes—
auth.azure.client_idstringno—
auth.azure.tenant_idstringno—
auth.cognitoobjectyes—
auth.cognito.audiencestringno—
auth.cognito.regionstringno—
auth.cognito.user_pool_idstringno—
auth.gcpobjectyes—
auth.gcp.client_idstringno—
auth.gcp.project_idstringno—
auth.gcp.require_workspace_domainbooleanyes—
auth.max_concurrent_sessionsintegerno20
auth.max_session_ttl_hoursintegerno8
auth.max_sessions_per_hourintegerno1000
auth.oktaobjectyes—
auth.okta.audiencestringno—
auth.okta.auth_server_idstringno—
auth.okta.org_domainstringno—
auth.providersarray of stringyes—
auth.read_only_groupsarray of stringyes—

auth_server

KeyTypeRequiredSchema default
auth_serverobjectno—
auth_server.admin_usernamestringno—
auth_server.app_domainstringno—
auth_server.auto_create_default_ducklakebooleanno—
auth_server.cors_allowed_originsarray of stringno—
auth_server.default_user_rolestringno—
auth_server.email_encryption_pgp_public_keystringno—
auth_server.email_encryption_pgp_public_key_pathstringno—
auth_server.enable_ducklakebooleanno—
auth_server.enable_hydrationbooleanno—
auth_server.enabledbooleannofalse
auth_server.encryption_key_pathstringno—
auth_server.grants_db_pathstringno—
auth_server.hydrationobjectno{"max_admitted_bytes":null,"max_queue_depth":null,"max_retries":null,"per_ducklake_quota_bytes":null,"worker_count":null}
auth_server.hydration.max_admitted_bytes

Maximum admitted bytes across queued and active hydration work.

integerno—
auth_server.hydration.max_queue_depth

Maximum queued hydration work; admission may reject when capacity is exhausted.

integerno—
auth_server.hydration.max_retriesintegerno—
auth_server.hydration.per_ducklake_quota_bytes

Per-catalog admission budget for hydration file bytes.

integerno—
auth_server.hydration.worker_countintegerno—
auth_server.portintegerno—
auth_server.session_ttl_hoursintegerno—
auth_server.superadmin_backup_backendstringno—
auth_server.superadmin_backup_interval_secondsintegerno—
auth_server.superadmin_backup_pathstringno—
auth_server.superadmin_db_pathstringno—
auth_server.superadmin_mfa_secret_pathstringno./superadmin_mfa_secret.txt
auth_server.superadmin_password_pathstringno./superadmin_password.txt
auth_server.tls_auto_reloadbooleanno—
auth_server.tls_certstringno—
auth_server.tls_keystringno—
auth_server.tls_loopback_certstringno—
auth_server.tls_loopback_keystringno—
auth_server.tls_reload_check_interval_secondsintegerno—
auth_server.users_backup_backendstringno—
auth_server.users_backup_interval_secondsintegerno—
auth_server.users_backup_pathstringno—
auth_server.users_db_pathstringno—
auth_server.webauthn_additional_rp_originsarray of stringnonull
auth_server.webauthn_rp_idstringno—
auth_server.webauthn_rp_originstringno—

aws

KeyTypeRequiredSchema default
awsobjectyes—
aws.access_key_idstringno—
aws.https_conn_pool_sizeintegeryes—
aws.regionstringyes—
aws.secret_access_keystringno—

cluster_mode

KeyTypeRequiredSchema default
cluster_modeobjectno—
cluster_mode.advertised_hoststringno—
cluster_mode.broker_heartbeat_interval_secsintegerno—
cluster_mode.broker_stale_threshold_secsintegerno—
cluster_mode.catalog_retention_hoursintegernonull
cluster_mode.enabledbooleanyes—
cluster_mode.internal_api_portintegerno—
cluster_mode.node_id_pathstringno—
cluster_mode.public_hoststringno—
cluster_mode.public_tcp_portintegerno—
cluster_mode.swarm_enabledbooleannonull
cluster_mode.swarm_lease_default_ttl_secsintegernonull
cluster_mode.swarm_reaper_interval_secsintegernonull
cluster_mode.swarm_task_retention_secsintegernonull
cluster_mode.tlsobjectno—
cluster_mode.tls.ca_cert_pathstringno—
cluster_mode.tls.cert_pathstringno—
cluster_mode.tls.enabledbooleanyes—
cluster_mode.tls.key_pathstringno—
cluster_mode.tls.require_client_certbooleanno—

duckdb_persistence

KeyTypeRequiredSchema default
duckdb_persistenceobjectno—
duckdb_persistence.checkpoint_interval_msintegerno15000
duckdb_persistence.checkpoint_threshold_mbintegerno64
duckdb_persistence.commit_interval_ms

Schedule for local DuckDB commits, in milliseconds. It is not an end-to-end visibility guarantee.

integerno1000
duckdb_persistence.dry_runbooleanno—
duckdb_persistence.enabledbooleanyes—
duckdb_persistence.max_queued_bytes_per_writerintegerno67108864
duckdb_persistence.max_writersintegerno—
duckdb_persistence.storage_pathstringyes—
duckdb_persistence.super_dry_runbooleanno—
duckdb_persistence.total_databasesintegerno—

ducklake

KeyTypeRequiredSchema default
ducklakearray of objectno—
ducklake[]objectyes—
ducklake[].attachstringyes—
ducklake[].data_pathstringyes—
ducklake[].enabledbooleannotrue
ducklake[].namestringyes—
ducklake[].processing_interval_secondsintegerno30
ducklake[].reconciliationobjectno{"interval_minutes":60,"max_concurrent_registrations":10,"on_startup":true}
ducklake[].reconciliation.interval_minutesintegerno60
ducklake[].reconciliation.max_concurrent_registrationsintegerno10
ducklake[].reconciliation.on_startupbooleannotrue
ducklake[].topicsarray of stringno—

http_ingestion

KeyTypeRequiredSchema default
http_ingestionobjectyes—
http_ingestion.bind_addressstringyes—
http_ingestion.corsobjectyes—
http_ingestion.cors.allow_credentialsbooleanyes—
http_ingestion.cors.allowed_originsarray of stringyes—
http_ingestion.cors.max_age_secondsintegeryes—
http_ingestion.enabledbooleanyes—
http_ingestion.http2objectyes—
http_ingestion.http2.accept_threadsintegeryes—
http_ingestion.http2.initial_connection_window_sizeintegeryes—
http_ingestion.http2.initial_stream_window_sizeintegeryes—
http_ingestion.http2.keep_alive_interval_secsintegeryes—
http_ingestion.http2.keep_alive_timeout_secsintegeryes—
http_ingestion.http2.max_concurrent_streams

Maximum concurrent HTTP ingestion streams.

integeryes—
http_ingestion.http2.max_connectionsintegeryes—
http_ingestion.http2.max_frame_sizeintegeryes—
http_ingestion.max_decoded_request_sizeintegerno67108864
http_ingestion.max_request_sizeintegeryes—
http_ingestion.memory_poolobjectyes—
http_ingestion.memory_pool.buffer_countintegerno2000
http_ingestion.memory_pool.buffer_sizeintegerno131072
http_ingestion.portintegeryes—
http_ingestion.rate_limitingobjectyes—
http_ingestion.rate_limiting.enabledbooleanyes—
http_ingestion.rate_limiting.global_requests_per_secondintegeryes—
http_ingestion.rate_limiting.tenant_burst_sizeintegeryes—
http_ingestion.rate_limiting.tenant_overridesmap of objectno{}
http_ingestion.rate_limiting.tenant_requests_per_secondintegeryes—
http_ingestion.tlsobjectyes—
http_ingestion.tls.cert_pathstringyes—
http_ingestion.tls.cert_pemstringno
http_ingestion.tls.key_pathstringyes—
http_ingestion.tls.key_pemstringno
http_ingestion.token_secret_keystringyes—

kafka

KeyTypeRequiredSchema default
kafkaobjectyes—
kafka.advertised_hoststringnonull
kafka.advertised_portintegernonull
kafka.bind_addressstringyes—
kafka.enabledbooleanyes—
kafka.max_connectionsintegerno2048
kafka.portintegeryes—
kafka.rate_limitingobjectno{"burst_limit":15000,"disabled":false,"global_limit":100000,"max_requests_per_second":10000}
kafka.rate_limiting.burst_limitintegerno15000
kafka.rate_limiting.disabledbooleannofalse
kafka.rate_limiting.global_limitintegerno100000
kafka.rate_limiting.max_requests_per_secondintegerno10000
kafka.relay_request_timeout_secsintegerno60
kafka.relay_setup_timeout_secsintegerno10
kafka.tlsobjectno{"cert_path":null,"cert_pem":null,"enabled":false,"key_path":null,"key_pem":null}
kafka.tls.cert_pathstringno—
kafka.tls.cert_pemstringno—
kafka.tls.enabledbooleanyes—
kafka.tls.key_pathstringno—
kafka.tls.key_pemstringno—

logging

KeyTypeRequiredSchema default
loggingobjectyes—
logging.rust_logstringyes—

metrics

KeyTypeRequiredSchema default
metricsobjectyes—
metrics.flush_interval_ms

Metric flush interval, in milliseconds.

integeryes—
metrics.port

Port for the Prometheus endpoint; keep it on the monitoring network.

integeryes—

oauth_providers

KeyTypeRequiredSchema default
oauth_providersobjectno—
oauth_providers.githubobjectno—
oauth_providers.github.allowed_orgsarray of stringno—
oauth_providers.github.audit_org_teamsbooleanno—
oauth_providers.github.client_idstringyes—
oauth_providers.github.client_secretstringyes—
oauth_providers.github.redirect_uristringno—
oauth_providers.github.team_role_mappingsmap of stringno—
oauth_providers.googleobjectno—
oauth_providers.google.allowed_domainsarray of stringno—
oauth_providers.google.client_idstringyes—
oauth_providers.google.client_secretstringyes—
oauth_providers.google.redirect_uristringno—
oauth_providers.oauth2array of objectno—
oauth_providers.oauth2[]objectyes—
oauth_providers.oauth2[].auth_urlstringyes—
oauth_providers.oauth2[].client_idstringyes—
oauth_providers.oauth2[].client_secretstringyes—
oauth_providers.oauth2[].namestringyes—
oauth_providers.oauth2[].redirect_uristringno—
oauth_providers.oauth2[].scopesarray of stringyes—
oauth_providers.oauth2[].token_urlstringyes—
oauth_providers.oauth2[].userinfo_urlstringyes—
oauth_providers.samlarray of objectno—
oauth_providers.saml[]objectyes—
oauth_providers.saml[].attribute_mappingsobjectyes—
oauth_providers.saml[].attribute_mappings.display_namestringno—
oauth_providers.saml[].attribute_mappings.emailstringyes—
oauth_providers.saml[].attribute_mappings.first_namestringno—
oauth_providers.saml[].attribute_mappings.groupsstringno—
oauth_providers.saml[].attribute_mappings.last_namestringno—
oauth_providers.saml[].attribute_mappings.usernamestringyes—
oauth_providers.saml[].enabledbooleanyes—
oauth_providers.saml[].idp_certificatestringyes—
oauth_providers.saml[].idp_entity_idstringyes—
oauth_providers.saml[].idp_slo_urlstringno—
oauth_providers.saml[].idp_sso_urlstringyes—
oauth_providers.saml[].namestringyes—
oauth_providers.saml[].sp_acs_urlstringyes—
oauth_providers.saml[].sp_certificatestringyes—
oauth_providers.saml[].sp_entity_idstringyes—
oauth_providers.saml[].sp_private_keystringyes—
oauth_providers.saml[].sp_slo_urlstringno—

otlp

KeyTypeRequiredSchema default
otlpobjectnonull
otlp.auto_provision_tablesbooleannofalse
otlp.default_catalogstringno
otlp.default_schemastringnomain
otlp.enabledbooleanyes—
otlp.max_batch_sizeintegerno1000
otlp.portintegerno4317
otlp.topic_mappingone of the documented shapesno{"catalog":"","schema":"main","type":"per_service"}

pgwire

KeyTypeRequiredSchema default
pgwireobjectyes—
pgwire.connection_timeout_secondsintegerno1800
pgwire.enabledbooleanyes—
pgwire.idle_timeout_secondsintegerno900
pgwire.init_timeout_secondsintegerno120
pgwire.initialization_sqlstringno
pgwire.max_connectionsintegerno150
pgwire.metadata_backup_backendstringno—
pgwire.metadata_backup_interval_secondsintegerno—
pgwire.metadata_backup_pathstringno—
pgwire.metadata_db_pathstringno./metadata.duckdb
pgwire.portintegeryes—
pgwire.query_timeout_secondsintegerno300
pgwire.refresh_interval_secondsintegerno5
pgwire.tenant_data_base_pathstringno/tmp/boilstream/tenants
pgwire.tlsobjectyes—
pgwire.tls.cert_pathstringno—
pgwire.tls.cert_pemstringno—
pgwire.tls.enabledbooleanyes—
pgwire.tls.key_pathstringno—
pgwire.tls.key_pemstringno—

processing

KeyTypeRequiredSchema default
processingobjectyes—
processing.bg_dry_runbooleanno—
processing.buffer_pool_max_sizeintegeryes—
processing.data_processing_threadsintegeryes—
processing.dry_runbooleanno—
processing.enable_5mb_part_paddingbooleannotrue
processing.include_metadata_columnsbooleanyes—
processing.max_file_size_mbintegerno1024
processing.max_flush_latency_msintegerno10000
processing.max_part_size_mbintegerno32
processing.parquetobjectyes—
processing.parquet.compressionstringyes—
processing.parquet.dictionary_enabledbooleanyes—
processing.schema_validation_enabledbooleanyes—
processing.snapshot_interval_minutes

Schedule for completing historical files, in minutes. Upload and table publication remain separate.

integerno10
processing.window_queue_capacityintegeryes—

rate_limiting

KeyTypeRequiredSchema default
rate_limitingobjectyes—
rate_limiting.base_size_bytesintegerno4096
rate_limiting.burst_limitintegeryes—
rate_limiting.disabledbooleanyes—
rate_limiting.global_limitintegeryes—
rate_limiting.max_requestsintegeryes—

server

KeyTypeRequiredSchema default
serverobjectyes—
server.admin_flight_portintegerno—
server.consumer_flight_portintegerno—
server.flight_base_portintegeryes—
server.flight_thread_countintegerno1
server.routerobjectyes—
server.router.batch_sizeintegeryes—
server.router.retry_delay_msintegeryes—
server.router.spsc_queue_capacityintegeryes—
server.tokio_worker_threadsintegerno—
server.valkey_urlstringno—

storage

KeyTypeRequiredSchema default
storageobjectyes—
storage.backendsarray of objectyes—
storage.backends[]objectyes—
storage.backends[].access_keystringno—
storage.backends[].attach_namestringno—
storage.backends[].azure_access_keystringno—
storage.backends[].azure_accountstringno—
storage.backends[].azure_containerstringno—
storage.backends[].backend_types3 or azure or gcp or filesystem or noopyes—
storage.backends[].bucketstringno—
storage.backends[].database_pathstringno—
storage.backends[].ducklakearray of stringno—
storage.backends[].enabledbooleanyes—
storage.backends[].endpointstringno—
storage.backends[].gcp_project_idstringno—
storage.backends[].gcp_service_account_keystringno—
storage.backends[].initial_backoff_msintegerno—
storage.backends[].max_concurrent_uploadsintegerno—
storage.backends[].max_retriesintegerno—
storage.backends[].max_retry_attemptsintegerno—
storage.backends[].namestringyes—
storage.backends[].prefixstringno—
storage.backends[].primarybooleanyes—
storage.backends[].regionstringno—
storage.backends[].secret_keystringno—
storage.backends[].use_path_stylebooleanno—

tantivy

KeyTypeRequiredSchema default
tantivyobjectnonull
tantivy.arena_mbintegerno50
tantivy.bundle_buffer_pool_sizeintegerno8
tantivy.bundle_buffer_size_mbintegerno64
tantivy.channel_capacityintegerno32
tantivy.commit_interval_secs

Search index commit schedule, in seconds. It is not a maximum search latency.

integerno30
tantivy.data_dirstringyes—
tantivy.enable_for_all_topics

Enable indexing for every provisioned topic rather than selecting tables individually.

booleannofalse
tantivy.enabled

Enable the search service; table-level indexing must also be configured.

booleanyes—
tantivy.hot_segments_to_keepintegerno2
tantivy.s3_upload_enabledbooleannotrue
tantivy.upload_retry_base_delay_msintegerno1000
tantivy.upload_retry_maxintegerno10
tantivy.writer_threads_per_topicintegerno4

tls

KeyTypeRequiredSchema default
tlsobjectyes—
tls.cert_pathstringno—
tls.cert_pemstringno—
tls.disabledbooleanyes—
tls.grpc_default_ssl_roots_file_pathstringno—
tls.key_pathstringno—
tls.key_pemstringno—

Use the configuration procedure, preserve the complete generated file, and validate the exact deployment profile before rollout.