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=8

Thread Pools and Connections

These properties configure Federation thread pools and connection limits.

PropertyDefaultDescription
federated.max.config.threads5Maximum threads for configuration sync operations.
federated.repo.max.total.http.connections50Maximum total HTTP connections for Federation traffic.
federated.repo.executor.enabledtrueEnable the Federation task executor.
federated.repo.executor.maxPoolSize4 * CPU coresMaximum thread pool size for Federation executors.
federated.work.queue.maxPoolSize12Maximum thread pool size for the work queue.
federated.repo.executor.poolTtlSecs60Thread pool TTL in seconds.
federated.repo.executor.poolMaxQueueSize10000Maximum queue size for the executor pool.
federated.state.executor.thread.pool.size20Thread pool size for state operations.
federated.task.handler.threads10Number of threads for task handling.

Full Sync

These properties configure Full Sync behavior.

PropertyDefaultDescription
federated.repo.full.sync.enabledtrueEnable full sync for Federated repositories.
federated.full.sync.batch.size1000Number of artifacts per full sync batch.
federated.repo.full.sync.lock.time.min1440 (24 hours)Full sync lock duration in minutes.
federated.repo.full.sync.stale.lock.time.min60 (1 hour)Duration after which a stale full sync lock is released.
federated.repo.full.sync.enabled.inMemorySorterfalseUse in-memory sorting for file lists during full sync.
federated.repo.full.sync.limit.entries.for.split400000Threshold for splitting file lists into multiple files.
federated.full.sync.use.aqltrueUse AQL for file list generation.
federated.full.sync.page.size100000Page size for AQL file list queries.
federated.full.sync.pages.per.file4Number of pages per file list file.
federated.full.sync.paging.threshold400000Threshold for enabling paged file list generation.
federated.full.sync.pooling.limit.time.hours24Maximum time to wait for file list polling.
federated.full.sync.pooling.wait.time.sec30Wait time between file list polling attempts.
federated.full.sync.exclude.reposnullComma-separated list of repository keys to exclude from full sync.
federated.full.sync.system.repo.clean.up.job.cron0 0/10 * * * ? *Cron for full sync cleanup job.
federated.full.sync.system.repo.clean.up.job.expiration10Expiration time for cleanup in minutes.

Event Processing

These properties configure event processing behavior.

PropertyDefaultDescription
federated.event.queue.max.error.retries6Maximum error retries before overflow.
federated.event.queue.max.bulk.size1000Maximum events in a single bulk operation.
federated.event.queue.backoff.supplier.factor4Backoff factor for retry delays.
federated.event.queue.backoff.supplier.max.wait.hours30Maximum backoff wait time in hours.
federated.subsequent.event.grace.period60000 (60s)Grace period between subsequent events in milliseconds.
federated.mirror.events.batch.message.bulk.size100Batch message bulk size for mirror events.
federated.mirror.events.bulk.max.pools4 (maximum: 5)Number of available thread pools for bulk event processing.
federated.mirror.events.bulk.threadsPerPool4 (maximum: 5)Threads per pool for bulk event processing.
federated.mirror.events.bulk.fullSync.threadsPerPool10Threads per pool for full sync events.
federated.mirror.events.bulk.fullSync.executor.wait.timeout.minutes2Executor wait timeout for full sync in minutes.
federated.mirror.events.bulk.executor.poll.timeout.minutes2Executor poll timeout in minutes.
federated.mirror.events.upload.info.propagate.enabledfalsePropagate upload info in mirror events. See Synchronized Metadata Reference for what this enables.
federated.mirror.events.bulk.exclude.repo.typesnullRepository types to exclude from bulk event processing.
federated.skip.create.eliminate.delete.on.deduplicationfalseSkip create-eliminate-delete deduplication.
federated.event.total.time.per.event.threshold10Per-event time threshold for logging.
federated.event.per.event.threshold.ms100Per-event threshold in milliseconds.
federated.event.total.time.threshold500Total time threshold for event batch.

Heartbeat and Health

These properties configure heartbeat and health check behavior.

PropertyDefaultDescription
federated.repo.heartbeat.stale.sec600 (10 min)Time in seconds before a heartbeat is considered stale.
federated.client.connection.timeout.minutes5Connection timeout for Federation clients.
federated.repo.remote.validate.timeout.sec60Timeout for remote server validation.

Metrics and Monitoring

These properties configure metrics collection and monitoring, which feed the Federation Dashboard.

PropertyDefaultDescription
federated.metrics.enabledfalseEnable Federation metrics collection.
federated.metrics.monitoring.interval.time.sec30Metrics collection interval in seconds.
federated.metrics.sync.threshold.time.ms20000Sync threshold for metric alerts.
federated.metrics.exclude.disabledtrueExclude disabled members from metrics.
federated.metrics.enable.count.disabled.memberstrueCount disabled members in metrics.
federated.metrics.collector.job.sec30Metrics collector job interval.
federated.metrics.collector.job.init.delay.sec60Metrics collector initial delay.
federated.metrics.number.of.events.lag.threshold100Event lag threshold for alerts.
federated.status.mirrors.lag.threshold.millisecondsnullCustom lag threshold for mirror status.
federated.status.mirrors.lag.limit1000Maximum mirrors to check for lag.
federated.status.http.socketTimeoutMs15000HTTP socket timeout for status checks.

Authentication and Tokens

These properties configure authentication and token behavior.

PropertyDefaultDescription
federated.master.tokens.refresh.job.cron0 0 * * * ? *Cron for token refresh job.
federated.master.tokens.refresh.grace.days7Days before expiry to refresh tokens.
federated.auth.token.expiry.margin.sec900 (15 min)Token expiry margin.
federated.exchange.token.limit.scope.enabledtrueLimit token exchange scope.
federated.exchange.token.expiration.time.hours3600 (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.

PropertyDefaultDescription
federated.bulk.properties.enabledfalseEnable bulk property fetching from the database (introduced in 7.100.x).
federated.bulk.properties.size500Batch size for bulk property operations.

Request Tunneling

These properties configure request tunneling.

PropertyDefaultDescription
federated.request.tunneling.allowlist""Allowlist for request tunneling endpoints.
federated.request.tunneling.thread.pool.size4 * CPU coresThread 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.

PropertyDefaultDescription
federated.binaries.tasks.v2.enabledfalseEnable v2 binary tasks.
federated.binaries.tasks.data.migration.retries10Migration retry count.
federated.binaries.tasks.data.migration.backoff.max.delay.minutes600000 (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.multiplier2Exponential backoff multiplier.
federated.binaries.tasks.data.migration.timeout5000 (5s)Migration timeout.

gRPC Client

These properties configure the gRPC client.

PropertyDefaultDescription
federated.client.grpc.max.inbound.message.size4194304 (4MB)Max inbound gRPC message size.
federated.client.grpc.max.outbound.message.size4194304 (4MB)Max outbound gRPC message size.
federated.client.grpc.request.timeout.sec60gRPC request timeout.
federated.client.full.validation.batch.size50Batch size for full validation.
federated.client.full.validation.threads10Thread count for full validation.

Miscellaneous

These properties configure miscellaneous Federation behavior.

PropertyDefaultDescription
unsupported.federation.packages.typesterraformbackendPackage types that do not support Federation.
federated.as.local.enabledfalseTreat Federated repositories as local.
remote.repo.federation.enabledfalseEnable Federation for remote repositories.
federated.metadata.max.cache.time.hours3Max cache time for Federation metadata.
federated.metadata.fail.on.conflictsfalseFail on metadata conflicts.
federated.checksum.response.lenientfalseLenient checksum response handling.
policy.cleanup.federated.package.enabledtrueEnable cleanup policies for Federated repositories.
federated.repo.cleanup.lazy.temp.dir.deleted.interval.secs86400 (1 day)Cleanup interval for temp directories.
federated.repo.cleanup.lazy.temp.dir.orphan.artifacts.interval86400 (1 day)Cleanup interval for orphan artifacts.
federated.queue.consistency.check.job.sec1200Queue consistency check interval.
federated.queue.consistency.check.job.init.delay.sec60Queue consistency check initial delay.
federated.repo.config.inconsistency.job.sec30Configuration inconsistency check interval.
federated.repo.config.inconsistency.job.init.delay.sec60Configuration inconsistency check initial delay.
federated.repo.config.sync.v2.enabledtrueEnable v2 config sync.
federated.file.list.preparing.tasks.allowed5Max concurrent file list preparation tasks.
federated.file.list.tasks.job.cron0/30 * * * * ? *Cron for file list tasks.
federated.file.list.tasks.clean.up.job.cron0 0 0 ? * * *Cron for file list cleanup.
federated.file.list.task.heart.beat.expired.minutes360000 (6 minutes, stored in milliseconds)File list task heartbeat expiration. Despite the property name containing "minutes", the value is in milliseconds.

Related Topics


Did this page help you?