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.
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:
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.
Verify Migration Status
Perform the following steps to verify that the migration has succeeded:
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 configuredExecute 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
trueif migration has completed successfully.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 --helpjf federation-migrator migrate_rtfs --helpjf federation-migrator migrate_rt --help