Using the latest version?
JFrog Container Registry Guide


Skip to end of metadata
Go to start of metadata

Overview

A smart remote repository is a remote repository that proxies a local or remote repository from another instance of JFrog Container Registry. In addition to the usual benefits of remote repositories, smart remote repositories offer several additional benefits:

Reported download statistics

JFrog Container Registry maintains download statistics for repositories so you are able to evaluate if artifacts are still being used and manage your cleanup policies. When you proxy a repository in another instance of JFrog Container Registry, and cache an artifact downloaded from the other instance, the distant JFrog Container Registry is not aware if users on your end continue to use the artifact (downloading it from your local cache), and may end up cleaning up the original artifact. A JFrog Container Registry Smart Remote Repository lets you notify the distant instance whenever a cached artifact is downloaded, so it can update an internal counter for remote downloads.

Page Contents

 

Download statistics may vary between JFrog Container Registry instances

Downloads are only reported through the proxy chain from the time this option is set, so the actual download statistics reported for an artifact may be different in the local JFrog Container Registry instance compared the numbers reported in the remote JFrog Container Registry instance.

Synchronized properties

When you proxy a repository in another instance of JFrog Container Registry and cache an artifact downloaded from it, you may not be aware of changes that may have been made to the original artifact’s properties if they are done after you cache it. By synchronizing properties, any changes to artifact properties in the remote instance are propagated to your cached instance of the artifact.

Remote repository browsing

You can browse the contents of the repository in the remote JFrog Container Registry instance for all package types, even if none have been cached in your instance of JFrog Container Registry.

Source absence detection

When viewing a cached artifact, JFrog Container Registry will indicate if the original artifact in the remote instance has been deleted. This gives you an opportunity to copy the artifact over from your remote repository cache to a local repository in case you need to maintain access to it.



Configuration

To create a Smart Remote Repository, set the repository URL to point to a repository in another instance of JFrog Container Registry. 

Repository URL must be prefixed with api/<type>

To accommodate different packaging format clients, for several repository types, when accessing the repository through JFrog Container Registry, the repository URL must be prefixed with api/<type> in the path.

For example,

http://ARTIFACTORY_URL/api/docker/<repository key>

Or, if you are using JFrog Container Registry Cloud the URL would be:

https://<server name>.jfrog.io/<server name>/api/docker/<repository key>



Once you have finished entering the URL and move to another field, JFrog Container Registry automatically detects that the remote URL is on another instance of JFrog Container Registry and displays a dialog where you can configure the behavior of your smart remote repository.

Note also that the package type icon is overlaid with a JFrog Container Registry logo to indicate a smart remote repository.


Report Statistics

If set, JFrog Container Registry will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so the it can update its download counter.

Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different JFrog Container Registry instances of the proxy chain.

Sync Properties

If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote JFrog Container Registry instance.

The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local JFrog Container Registry instance.

List Remote Folder Items
If set, enables Remote List Browsing.
Source Absence Detection
If set, JFrog Container Registry displays an indication on cached items if they have been deleted from the corresponding repository in the remote JFrog Container Registry instance.


You can modify these settings at any time from the Edit Repository screen.



Remote List Browsing

When List Remote Folder Items is checked for a repository, JFrog Container Registry lets you navigate the contents of the repository at the remote JFrog Container Registry instance, for all package types, even if the artifacts have not been cached in the repository defined in your instance of JFrog Container Registry.


REST API

For a repository to be identified as a Smart Remote Repository, you need to set the “enabled” flag to true under “contentSynchronisation” (under Repository Configuration JSON).

  • No labels