Configuration Overview

Understand the three configuration layers for Federation: Artifactory backend, RTFS service, and Helm deployment.

Federated repositories are configured at multiple levels: the Artifactory backend, the Federation Service (RTFS), and the Helm deployment. This section provides a guide to all configurable aspects of federation.

Configuration Layers

flowchart TB
    subgraph helm ["Helm / Kubernetes"]
        values["values.yaml"]
    end

    subgraph rtfs ["RTFS Service"]
        appProps["application.properties"]
    end

    subgraph art ["Artifactory Backend"]
        constVals["System Properties"]
    end

    subgraph ui ["Artifactory UI"]
        repoForm["Repository Form"]
        dashboard["Federation Dashboard"]
    end

    subgraph access ["Access / Platform Config"]
        kv["Federation repo\nconfigs (KV store)"]
    end

    values --> rtfs
    appProps --> rtfs
    constVals --> art
    repoForm --> art
    dashboard --> rtfs
    art -->|"repo config (gRPC)"| rtfs
    rtfs -->|"setRepoConfig"| access

    classDef component fill:#41b375,stroke:#389b65,stroke-width:1px,color:#fff;
    class values,appProps,constVals,repoForm,dashboard,kv component;

    style helm fill:none,stroke:#41b375,stroke-width:1px;
    style rtfs fill:none,stroke:#41b375,stroke-width:1px;
    style art fill:none,stroke:#41b375,stroke-width:1px;
    style ui fill:none,stroke:#41b375,stroke-width:1px;
    style access fill:none,stroke:#41b375,stroke-width:1px;

    linkStyle default stroke:#8e9aaf,stroke-width:1.5px;

Per-repository settings entered in the Repository Form (Members, Mirror Mode, Sync Toggle) don't stay in Artifactory's own database. Artifactory forwards them to RTFS, which stores them in Access / Platform Config, a distributed key-value store, and propagates them to remote Federation members. See Push Configuration to Federation Members for the detailed flow.

Artifactory Backend System Properties

System-level properties that control the Artifactory backend's federation behavior. These are set via JVM system properties, artifactory.system.properties, or environment variables.

Key areas:

  • Thread pools and connection limits
  • Full sync scheduling and batch sizes
  • Event processing and error handling
  • Metrics and monitoring
  • Token management and authentication

See Federation Configuration Reference for the complete list.

RTFS Service Properties

Configuration for the dedicated Federation Service. Set via application.properties in the RTFS deployment, Helm chart values, or environment variables.

Key areas:

  • Full sync parameters (batch size, grace period, scheduling)
  • Auto-healing configuration
  • Event stream and worker settings
  • HTTP and gRPC client timeouts
  • Binary tasks configuration
  • Cron schedules for maintenance jobs

See RTFS Configuration for the complete list.

Helm Deployment

Kubernetes deployment configuration for the RTFS service, including container images, resource limits, service ports, database connection, and router settings.

See Helm Deployment Configuration for details.

UI-Level Configuration

Per-repository settings configured through the Artifactory UI include the following.

SettingLocationDescription
Repository KeyBasic tabThe repository identifier
Package TypeCreation wizardType of artifacts stored
MembersFederation tabJPD instances in the federation
Receiving OnlyFederation tab (per-member checkbox)When checked, the member only receives events and binaries (never sends). Unchecked (default) is bidirectional sync. Transmitter-only mode is never set directly. It's the mirror-image state shown when a remote member enables Receiving Only.
Sync ToggleFederation tabEnable or disable sync
ProxyAdvanced tabProxy for outbound traffic
PriorityFederation Status dashboardSync priority level

Configuration Best Practices

  1. Start with defaults. The default configuration works well for most environments. Only change settings when you have a specific need.
  2. Monitor before tuning. Use the Federation Status dashboard to observe sync behavior before adjusting batch sizes or thread pools.
  3. Scale thread pools with load. If you have many federated repositories, increase rtfs.jobs.thread.pool.size and rtfs.tenant.thread.pool.size proportionally.
  4. Adjust timeouts for network conditions. If members are geographically distant, increase HTTP client timeouts (rtfs.reactive.http.client.connect.timeout.sec, rtfs.reactive.http.client.response.timeout.sec).
  5. Use priority sparingly. Set only truly critical repositories to HIGH or URGENT to avoid priority inflation.

Frequently Asked Questions

This section provides answers to frequently asked questions.

plusFAQs
Q: What are the three configuration layers for Federated repositories?

A: Federated repositories are configured at the Artifactory backend (system properties), the RTFS service (application.properties, Helm values, or environment variables), and the Helm deployment (Kubernetes resources). See Configuration Layers.

Q: Where are per-repository settings like Members and Sync Toggle stored?

A: Settings entered in the Repository Form aren't stored in Artifactory's own database. Artifactory forwards them to RTFS, which stores them in Access / Platform Config and propagates them to remote Federation members.

Q: When should I increase RTFS thread pool sizes?

A: Increase rtfs.jobs.thread.pool.size and rtfs.tenant.thread.pool.size proportionally when you have many federated repositories. See Configuration Best Practices.

Q: How do I adjust for Federation members that are geographically distant?

A: Increase the HTTP client timeouts rtfs.reactive.http.client.connect.timeout.sec and rtfs.reactive.http.client.response.timeout.sec to accommodate higher network latency.

Related Topics


Did this page help you?