Geo Synchronized Topology Use Case: Setting a Federated Base URL

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

The geo-synchronized topology is an extension of the full mesh topology whereby several Artifactory instances are connected to a GeoDNS. In this use case, the desired outcome is to have the exact same configuration (repository names, users, groups, permission targets) in all of the instances connected to the routing server. Users can then deploy and resolve from the same repositories without the need to change the configuration in their build tool according to the server to which they are routing (for example, to divide a load among multiple instances in different locations). For these users, everything is behind the scenes and they just connect to Artifactory through one dedicated URL.

Note

Federated repositories do not operate synchronously, and therefore it is recommended to work with one fixed site. If the decision is made to move between one site and another, you must take into account that it takes time for all events to be synchronized between those sites.

Setting an Initial Federated Repository URL

A geo-synchronized topology requires that all platform deployments (Artifactory instances) be configured with the same Custom Base URL. However, Federated repositories also need a unique Federated Base URL to distinguish between the Federated members in the different platform deployments.General Settings

To work with Federated repositories within a geo-synchronized topology, add the federatedRepoUrlBase parameter to the Global Configuration Descriptor file, which is the global Artifactory configuration file used to provide a default set of configuration parameters.

The following XML tag should be added under the <systemProperties> section in the Global Configuration Descriptor:

<urlBase>https://<ART_LB_URL></urlBase> <!-- NOTE: Enter your Geo-LB URL -->
<federatedRepoUrlBase>https://ARTIFACTORY_SERVER_HOSTNAME/artifactory</federatedRepoUrlBase>

For information on how to modify the Global Configuration Descriptor, see the Configuration Files Overview.Artifactory Configuration Files

Important

The federatedRepoUrlBase described above is relevant ONLY for Federated repositories and cannot be applied to other features. For a detailed guide that describes how to set the urlBase and still allow redirects and metadata to map to the Geo-LB, see Geo-Location LB Setup Steps.

Migrating Federated Repositories to a Geo-Synchronized Topology

From Artifactory version 7.21.13, you can migrate your existing Federated repositories to be configured with a dedicated Federated Repository URL instead of the Artifactory base URL.

Migrating in an HA Environment

When setting up Federated Repositories in an HA environment, ensure on both sites that only one HA node is up and running

To migrate Federated repositories to a geo-synchronized topology:

  1. Disconnect all the Federated repositories in either one of the sites, using one of the following methods:

    • One at a time on the Federated Repository page in the UI

    • Directly through the Config Descriptor file.

  2. Wait for a while and then validate that all the Fed repositories are disconnected on the member site.

  3. Navigate to $JFROG_HOME/artifactory/var/etc/artifactory/artifactory.config.xml and add the following XML tag.

    <federatedRepoUrlBase>https://<address>/artifactory</federatedRepoUrlBase>
  4. Reconnect all the Federated repositories.

  5. Validate that the configuration was applied in the member site.

  6. Monitor the logs for related errors.

  7. [Test] Upload a new file for each Repo to site 1 and download it to site 2.

  8. [Optional] Perform full synchronization if during the time that the Fed Repos were disconnected changes occurred on one of the sites (For example upload, override, change in properties, or delete actions).