Migrate to the Artifactory Federation Service

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide

Important

Self-hosted customers who wish to become early adopters of this service are asked to contact JFrog so that we can evaluate your needs and guide you through the migration process.

Please note that the current version of the Artifactory Federation Service does not support the use of self-signed certificates or certificates signed by a custom Certificate Authority (CA). Self-hosted customers must use certificates signed by a trusted CA when setting up their Federation.

Self-hosted customers can use the JFrog CLI to migrate their repository Federations (including configuration, states, and events) from the legacy Federation service in Artifactory to the standalone Artifactory Federation Service (RTFS) that was introduced in release 7.104.5. This topic also describes how to return (rollback) to the legacy service, if required.

Prerequisite

You must activate the Artifactory Federation Service before performing migration. For more information, see Install the Artifactory Federation Service.Installing Artifactory Federation Service

Note

Please verify that no Full Sync operations are in progress before starting migration. This can be done using the Get Federation Sync State REST API. For example, issue the following command to list the repositories currently running a Full Sync operation:Get Federation Sync State

jf rt curl api/federation/state | jq '.[] | select(.status == "FULL_SYNC_RUNNING")'

Install the Plugin

Run the following command to install the migration plugin from the official registry of JFrog CLI plugins:

jf plugin install federation-migrator

This command installs the plugin and the jar of the migration tool, which performs all required operations with one command.

Note

If a previous installation of the plugin exists, we recommend that you remove or uninstall it before running the plugin installer. On rare occasions, the previous installation can cause the plugin installer to fail.

Migration Procedure

Run the following command to execute the migration to the standalone Federation service:

jf federation-migrator migrate_rtfs <base url without /artifactory> <scoped token>

Note

The operation can take anywhere from a few seconds to several minutes to complete. You do not need to restart Artifactory after performing the migration.

Note

For details about generating a scoped access token, see Generate Scoped Tokens.Generate Scoped Tokens

Verify Migration Status

Perform the following steps to verify that the migration has succeeded:

  1. Execute the following API: curl -X GET -uadmin:password "http://{{artifactory_url}}/artifactory/api/federation/migration/status"

    If the service has been enabled, this API will return the status of the migration:

    MIGRATION_STARTED
    MIGRATING_EVENTS_TO_RTFS
    MIGRATION_COMPLETED
    COMPLETED_WITH_ERRORS

    If the service has not been enabled, this API returns: Status not configured

  2. Execute the following API to verify that migration has completed: curl -X GET -uadmin:password "http://{{platform_url}}/artifactory/api/federation/rtfs"

    The API will return true if migration has completed successfully.

  3. The new Federation monitoring dashboard should be available in the platform UI. In the Administration module, go to Monitoring > Federation. For more information, see View the Status of All Repository Federations.

Rollback Procedure

Run the following command to return to the legacy Federation service:

jf federation-migrator migrate_rt <base url without /artifactory> <access token>

Note

The rollback command features the same command options as the migration command. For more information, see Migration Procedure.

Note

The operation can take anywhere from a few seconds to several minutes to complete. You do not need to restart Artifactory after returning to the legacy Federation service.

Tip

For additional information, add --help after each command:

  • jf federation-migrator --help

  • jf federation-migrator migrate_rtfs --help

  • jf federation-migrator migrate_rt --help