Create a Federated Repository
Create a Federated repository in JFrog Artifactory and add members to form a Federation.
Create a Federated repository and add members to form a Federation. Once created, changes made to artifacts on one site are automatically synchronized to the other JPDs in the Federation.
Who can perform this task: Platform Administrators
Prerequisites:
- All Prerequisites are met
- Self-managed customers have configured a Custom Base URL
Using the Platform UI
To create a Federated repository:
-
In the Administration module, click Repositories.
-
Click Create a Repository and select Federated.

-
In the Select Package Type window, select the package type.

-
In the Basic tab, configure the basic repository settings. For more information, see Basic Settings for Local Repositories.
Warning
You must assign a Repository Key. Artifactory adds this key as the prefix to the Federated repository and displays it on all the sites.

5. In the Advanced tab, configure additional repository settings as required. For more information, see Advanced Settings for Local Repositories.

6. In the Federation tab, click Add Repository to add members to the Federation.

7. In the Add Federated Repositories dialog, add members using one of these tabs:
- Deployments: If you have JFrog Mission Control installed, existing repositories on the remote JPDs are listed so you can select them as members. If the repository doesn't exist yet on a remote JPD, use the URL method instead.
- URL: Manually add a predefined URL path to the repository using the syntax:
<BASE_URL>/artifactory/<repository_name>(for example,http://<ip address>:8082/artifactory/fed117). If the repository does not exist on the remote JPD, it is created automatically.
Note
JPDs appear only if you have set up bindings or established a Circle of Trust.
- Click Done. You are returned to the Federation tab.
- Click Create Federated Repository.
Note
When you add a new Federation member, Xray configuration is copied from the repository on the JPD where you add the member to the new member. Configure Enable Indexing in Xray on the source repository in the Advanced tab before adding members. Changes to Xray settings on existing members are not synchronized across the Federation. For more information, see Xray Configuration Synchronization.
Note
Federated repositories have the following package-type limitations.
- Terraform Backend: You can't connect a Terraform Backend repository to a Federated repository. This limitation prevents inconsistencies in the system state, which could lead to unexpected behavior or errors.
- Cargo: Federation and virtual repositories aren't supported for Cargo without a workaround. See Cargo Package Federation Limitation and Workaround.
- Hugging Face: Machine Learning repositories can't be federated to legacy Hugging Face repositories because the layouts aren't compatible. See Hugging Face Repositories.
- NuGet: Federated peers must use the same NuGet layout type (normalized or non-normalized). See NuGet Repositories.
Using the REST API
The dedicated Federated repository configuration JSON file is:
application/vnd.org.jfrog.artifactory.repositories.FederatedRepositoryConfiguration+json
The following REST APIs support working with Federated repositories:
- Create Repository API
- Update Repository Configuration API
- Get Repositories API (filter by type or project)
- Delete Repository API
For example, to create a Federated repository using the Create Repository API:
PUT <JPD_URL>/artifactory/api/repositories/<REPO_KEY>
Content-Type: application/json
{
"rclass": "federated",
"packageType": "generic",
"members": [
{ "url": "<MEMBER_URL>/artifactory/<TARGET_REPO_NAME>" }
]
}Where:
<JPD_URL>: The base URL of the JPD where you create the repository<REPO_KEY>: The key for the new Federated repository<MEMBER_URL>: The base URL of a member JPD<TARGET_REPO_NAME>: The key of the repository on the member JPD
For example:
{
"rclass": "federated",
"packageType": "generic",
"members": [
{ "url": "https://member-jpd.example.com/artifactory/libs-release-federated" }
]
}Warning
When working inside a specific project, the Federated repositories that comprise the Federation must all share the same project key.
Result
The Federated repositories are automatically displayed in your artifact browser after creation. Monitor their sync status on the Federation Dashboard.
Next Steps
Frequently Asked Questions
This section provides answers to frequently asked questions.
FAQs
Q: What happens to Xray configuration when I add a new Federation member?
A: Xray configuration is copied from the repository on the JPD where you add the member to the new member. Configure Xray indexing before adding members, since changes to Xray settings on existing members aren't synchronized across the Federation afterward.
Q: Can I federate a Terraform Backend, Cargo, or Hugging Face repository?
A: Terraform Backend repositories can't be connected to a Federated repository at all. Cargo and legacy Hugging Face repositories have federation limitations — see the package-type limitations note in Using the Platform UI for workarounds.
Q: Where do I manage or remove Federation members after creating the repository?
A: Use the Federation tab on the repository to add or remove members after creation. See Add and Remove Federation Members.
Q: Do all Federated repositories in a Federation need the same project key?
A: Yes, when working inside a specific project. The Federated repositories that comprise the Federation must all share the same project key.
Related Topics
Updated about 7 hours ago
