Federation Configuration Reference
Tune Federation thread pools, sync, events, and authentication with backend properties.
This reference lists all Artifactory backend configuration properties related to Federation, their default values, and descriptions. You set these properties using JVM system properties or artifactory.system.properties.
For example, in artifactory.system.properties:
federated.max.config.threads=5
federated.repo.executor.maxPoolSize=8Thread Pools and Connections
These properties configure Federation thread pools and connection limits.
| Property | Default | Description |
|---|---|---|
federated.max.config.threads | 5 | Maximum threads for configuration sync operations. |
federated.repo.max.total.http.connections | 50 | Maximum total HTTP connections for Federation traffic. |
federated.repo.executor.enabled | true | Enable the Federation task executor. |
federated.repo.executor.maxPoolSize | 4 * CPU cores | Maximum thread pool size for Federation executors. |
federated.work.queue.maxPoolSize | 12 | Maximum thread pool size for the work queue. |
federated.repo.executor.poolTtlSecs | 60 | Thread pool TTL in seconds. |
federated.repo.executor.poolMaxQueueSize | 10000 | Maximum queue size for the executor pool. |
federated.state.executor.thread.pool.size | 20 | Thread pool size for state operations. |
federated.task.handler.threads | 10 | Number of threads for task handling. |
Full Sync
These properties configure Full Sync behavior.
| Property | Default | Description |
|---|---|---|
federated.repo.full.sync.enabled | true | Enable full sync for Federated repositories. |
federated.full.sync.batch.size | 1000 | Number of artifacts per full sync batch. |
federated.repo.full.sync.lock.time.min | 1440 (24 hours) | Full sync lock duration in minutes. |
federated.repo.full.sync.stale.lock.time.min | 60 (1 hour) | Duration after which a stale full sync lock is released. |
federated.repo.full.sync.enabled.inMemorySorter | false | Use in-memory sorting for file lists during full sync. |
federated.repo.full.sync.limit.entries.for.split | 400000 | Threshold for splitting file lists into multiple files. |
federated.full.sync.use.aql | true | Use AQL for file list generation. |
federated.full.sync.page.size | 100000 | Page size for AQL file list queries. |
federated.full.sync.pages.per.file | 4 | Number of pages per file list file. |
federated.full.sync.paging.threshold | 400000 | Threshold for enabling paged file list generation. |
federated.full.sync.pooling.limit.time.hours | 24 | Maximum time to wait for file list polling. |
federated.full.sync.pooling.wait.time.sec | 30 | Wait time between file list polling attempts. |
federated.full.sync.exclude.repos | null | Comma-separated list of repository keys to exclude from full sync. |
federated.full.sync.system.repo.clean.up.job.cron | 0 0/10 * * * ? * | Cron for full sync cleanup job. |
federated.full.sync.system.repo.clean.up.job.expiration | 10 | Expiration time for cleanup in minutes. |
Event Processing
These properties configure event processing behavior.
| Property | Default | Description |
|---|---|---|
federated.event.queue.max.error.retries | 6 | Maximum error retries before overflow. |
federated.event.queue.max.bulk.size | 1000 | Maximum events in a single bulk operation. |
federated.event.queue.backoff.supplier.factor | 4 | Backoff factor for retry delays. |
federated.event.queue.backoff.supplier.max.wait.hours | 30 | Maximum backoff wait time in hours. |
federated.subsequent.event.grace.period | 60000 (60s) | Grace period between subsequent events in milliseconds. |
federated.mirror.events.batch.message.bulk.size | 100 | Batch message bulk size for mirror events. |
federated.mirror.events.bulk.max.pools | 4 (maximum: 5) | Number of available thread pools for bulk event processing. |
federated.mirror.events.bulk.threadsPerPool | 4 (maximum: 5) | Threads per pool for bulk event processing. |
federated.mirror.events.bulk.fullSync.threadsPerPool | 10 | Threads per pool for full sync events. |
federated.mirror.events.bulk.fullSync.executor.wait.timeout.minutes | 2 | Executor wait timeout for full sync in minutes. |
federated.mirror.events.bulk.executor.poll.timeout.minutes | 2 | Executor poll timeout in minutes. |
federated.mirror.events.upload.info.propagate.enabled | false | Propagate upload info in mirror events. See Synchronized Metadata Reference for what this enables. |
federated.mirror.events.bulk.exclude.repo.types | null | Repository types to exclude from bulk event processing. |
federated.skip.create.eliminate.delete.on.deduplication | false | Skip create-eliminate-delete deduplication. |
federated.event.total.time.per.event.threshold | 10 | Per-event time threshold for logging. |
federated.event.per.event.threshold.ms | 100 | Per-event threshold in milliseconds. |
federated.event.total.time.threshold | 500 | Total time threshold for event batch. |
Heartbeat and Health
These properties configure heartbeat and health check behavior.
| Property | Default | Description |
|---|---|---|
federated.repo.heartbeat.stale.sec | 600 (10 min) | Time in seconds before a heartbeat is considered stale. |
federated.client.connection.timeout.minutes | 5 | Connection timeout for Federation clients. |
federated.repo.remote.validate.timeout.sec | 60 | Timeout for remote server validation. |
Metrics and Monitoring
These properties configure metrics collection and monitoring, which feed the Federation Dashboard.
| Property | Default | Description |
|---|---|---|
federated.metrics.enabled | false | Enable Federation metrics collection. |
federated.metrics.monitoring.interval.time.sec | 30 | Metrics collection interval in seconds. |
federated.metrics.sync.threshold.time.ms | 20000 | Sync threshold for metric alerts. |
federated.metrics.exclude.disabled | true | Exclude disabled members from metrics. |
federated.metrics.enable.count.disabled.members | true | Count disabled members in metrics. |
federated.metrics.collector.job.sec | 30 | Metrics collector job interval. |
federated.metrics.collector.job.init.delay.sec | 60 | Metrics collector initial delay. |
federated.metrics.number.of.events.lag.threshold | 100 | Event lag threshold for alerts. |
federated.status.mirrors.lag.threshold.milliseconds | null | Custom lag threshold for mirror status. |
federated.status.mirrors.lag.limit | 1000 | Maximum mirrors to check for lag. |
federated.status.http.socketTimeoutMs | 15000 | HTTP socket timeout for status checks. |
Authentication and Tokens
These properties configure authentication and token behavior.
| Property | Default | Description |
|---|---|---|
federated.master.tokens.refresh.job.cron | 0 0 * * * ? * | Cron for token refresh job. |
federated.master.tokens.refresh.grace.days | 7 | Days before expiry to refresh tokens. |
federated.auth.token.expiry.margin.sec | 900 (15 min) | Token expiry margin. |
federated.exchange.token.limit.scope.enabled | true | Limit token exchange scope. |
federated.exchange.token.expiration.time.hours | 3600 (1 hour, stored in seconds) | Token exchange expiration time. Despite the property name containing "hours", the value is in seconds. |
Bulk Properties
These properties configure bulk property fetching.
| Property | Default | Description |
|---|---|---|
federated.bulk.properties.enabled | false | Enable bulk property fetching from the database (introduced in 7.100.x). |
federated.bulk.properties.size | 500 | Batch size for bulk property operations. |
Request Tunneling
These properties configure request tunneling.
| Property | Default | Description |
|---|---|---|
federated.request.tunneling.allowlist | "" | Allowlist for request tunneling endpoints. |
federated.request.tunneling.thread.pool.size | 4 * CPU cores | Thread pool for request tunneling. |
Binary Tasks
These properties configure binary task processing. See the Binary Task State Machine for the states these tasks pass through.
| Property | Default | Description |
|---|---|---|
federated.binaries.tasks.v2.enabled | false | Enable v2 binary tasks. |
federated.binaries.tasks.data.migration.retries | 10 | Migration retry count. |
federated.binaries.tasks.data.migration.backoff.max.delay.minutes | 600000 (10 minutes, stored in milliseconds) | Max backoff delay for migration retries. Despite the property name containing "minutes", the value is in milliseconds. |
federated.binaries.tasks.data.migration.exponential.backoff.multiplier | 2 | Exponential backoff multiplier. |
federated.binaries.tasks.data.migration.timeout | 5000 (5s) | Migration timeout. |
gRPC Client
These properties configure the gRPC client.
| Property | Default | Description |
|---|---|---|
federated.client.grpc.max.inbound.message.size | 4194304 (4MB) | Max inbound gRPC message size. |
federated.client.grpc.max.outbound.message.size | 4194304 (4MB) | Max outbound gRPC message size. |
federated.client.grpc.request.timeout.sec | 60 | gRPC request timeout. |
federated.client.full.validation.batch.size | 50 | Batch size for full validation. |
federated.client.full.validation.threads | 10 | Thread count for full validation. |
Miscellaneous
These properties configure miscellaneous Federation behavior.
| Property | Default | Description |
|---|---|---|
unsupported.federation.packages.types | terraformbackend | Package types that do not support Federation. |
federated.as.local.enabled | false | Treat Federated repositories as local. |
remote.repo.federation.enabled | false | Enable Federation for remote repositories. |
federated.metadata.max.cache.time.hours | 3 | Max cache time for Federation metadata. |
federated.metadata.fail.on.conflicts | false | Fail on metadata conflicts. |
federated.checksum.response.lenient | false | Lenient checksum response handling. |
policy.cleanup.federated.package.enabled | true | Enable cleanup policies for Federated repositories. |
federated.repo.cleanup.lazy.temp.dir.deleted.interval.secs | 86400 (1 day) | Cleanup interval for temp directories. |
federated.repo.cleanup.lazy.temp.dir.orphan.artifacts.interval | 86400 (1 day) | Cleanup interval for orphan artifacts. |
federated.queue.consistency.check.job.sec | 1200 | Queue consistency check interval. |
federated.queue.consistency.check.job.init.delay.sec | 60 | Queue consistency check initial delay. |
federated.repo.config.inconsistency.job.sec | 30 | Configuration inconsistency check interval. |
federated.repo.config.inconsistency.job.init.delay.sec | 60 | Configuration inconsistency check initial delay. |
federated.repo.config.sync.v2.enabled | true | Enable v2 config sync. |
federated.file.list.preparing.tasks.allowed | 5 | Max concurrent file list preparation tasks. |
federated.file.list.tasks.job.cron | 0/30 * * * * ? * | Cron for file list tasks. |
federated.file.list.tasks.clean.up.job.cron | 0 0 0 ? * * * | Cron for file list cleanup. |
federated.file.list.task.heart.beat.expired.minutes | 360000 (6 minutes, stored in milliseconds) | File list task heartbeat expiration. Despite the property name containing "minutes", the value is in milliseconds. |
Related Topics
Updated about 7 hours ago
