JFrog Help Center

Our new portal is coming soon!
Documentation + Knowledge Base







Overview

From JFrog Artifactory 7.18.3, the JFrog Platform enables you to create Federated repositories which allow mirroring of artifacts and their metadata with other repositories of a Federated type located on remote JFrog Platform Deployments (JPDs) in a multisite environment. The Federated repository functions similarly to a local repository on the JPD, but is grouped together logically with other Federated members located on other JPDs, to create a Federation.

A Federation is a collection of repositories of Federated type in different JPDs that are automatically configured for full bi-directional mirroring. Once you have created a Federation, changes made to artifacts on one member of the Federation will be replicated asynchronously to the other federated members. The Federated repository configuration is also aligned across all members in the Federation.

Federated repositories provide Enterprise organizations running software in more than one geographical site with a single source of truth for the binaries, as if they were one seamless unit, and support the following use cases:

  • Distributed Development teams
  • Remote Production environment
  • Increase artifacts availability in a multi-site environment


Available JFrog subscription levels:
Self-Hosted/ Cloud

ENTERPRISE
ENTERPRISE+
 

Page Contents


Federated Topology

Federated repositories are easy to set up and support bi-directional synchronisation of local repositories without the need to set up complex topologies. These types of repositories are based on bidirectional replication, whereby artifact metadata is replicated constantly separately from the binary content. 

As displayed in the following example, setting up mirroring across three sites using the traditional Replication feature, would have required setting up quite a complex mesh topology consisting of setting up multiple virtual repositories with a local repository and 3 remote repositories, whereas Federated repositories inherently support mirroring removing the need to create the mesh topology.


                                          REPLICATION                                                    BIDIRECTIONAL SYNCHRONIZATION



Multi-Version Support

Artifactory version 7.49.3 and above includes multi-version support, which enables the members of a Federation to run different versions of Artifactory, even if the version at one site includes configuration features and values that are not supported on the versions running at other sites. Thanks to multi-version support, future upgrades after 7.49.3 can be performed on one site at a time, eliminating the need for simultaneous upgrades across all locations.

Whenever an instance with a new Artifactory version is introduced to the Federation, the configurations of the other members are retrieved and a negotiation process checks for new and upgraded features that are not supported on the older versions. If there are new features that older versions do not support, the new feature is disabled. For upgraded features, a default value is chosen that is supported on all member versions.

It is a prerequisite of the multi-version support feature to upgrade all Federated repository members to Artifactory 7.49.3. After this has been done, multi-version support is enabled for all versions going forward.


Get Started

To start working with Federated repositories, you will first need to set up cross-instance authentication (Circle-of-Trust) between the JPDs to allow the Platform Administrator to perform a set of CRUD (Create, Remove, Update and Delete) actions on the repositories based on their predefined set of permissions. All the actions performed on one of the Federated repositories will automatically be synchronized and reflected on all of the Federated members, including not just the repository content, but also certain configuration changes. For example, if Federated repository A in "JPD A" and Federated repository B in "JPD B" are members of the same Federation, deploying a file to Federated Repository A in "JPD A", will trigger a copy the file action to the Federated Repository B in "JPD B". Similarly, deploying a file to Federated Repository B in "JPD B", will trigger a copy the file action to the Federated Repository A in "JPD A". The configuration changes are also synchronized based on the latest update (e.g. latest update to the configuration is propagated to all members of Federation).

To start creating your first Federated repository, click here.

  • No labels
Copyright © 2023 JFrog Ltd.