Configure a Smart Remote Repository

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide

To create a Smart Remote repository, set the repository URL to point to a repository in another instance of Artifactory. Many package types require you to add the prefix api/<package_type> to the URL.

For example:

http://<JFrog URL>/artifactory/api/<package_type>/<repository key>

The prefix is required for the following repository types:

Type

Prefix

AI Editor Extensions

api/aieditorextensions

Ansible

api/ansible

Bower

api/bower

Cargo

api/cargo

Note: The prefix is not required when working in Git mode.

Chef

api/chef

CocoaPods

api/pods

Composer

api/composer

Conan

api/conan

Conda

api/conda

Docker

api/docker

FrogML

api/frogml

Gems

api/gems

GitLFS

api/lfs

Go

api/go

For more information, see Create a Go Smart Remote Repository.

Helm

api/helm

Helm OCI

api/oci

HuggingFace

api/huggingfaceml

Machine Learning

api/machinelearning

NIM Model

api/nimmodel

npm

api/npm

NuGet

api/nuget

For more information, see Create a NuGet Smart Remote Repository.

OCI

api/oci

Pub

api/pub

Puppet

api/puppet

PyPI

  • When pointing to a local repository: api/pypi

  • When pointing to a remote repository: no prefix required

For more information, see Create a PyPI Smart Remote Repository.

Swift

api/swift

VCS

api/vcs

All other package types do not require the api/<package_type> prefix.

Note

Additional configuration is required for a Terraform Smart Remote repository. For more information, see Create a Terraform Smart Remote Repository.

After you finish entering the URL and move to another field, Artifactory detects automatically that the remote URL is on another instance of Artifactory and displays a banner above the URL.

Smart-Remote-repo-detected_banner.png

The Basic tab of the New Remote Repository screen contains additional fields where you can configure the behavior of your Smart Remote repository.

Smart-Remote-repo_basic-fields.png

Field

Description

Report Statistics

If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that 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 local and remote Artifactory instances.

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 Artifactory instance.

The trigger to synchronize the properties is a download of the artifact from the remote repository cache of the local Artifactory instance.

List Remote Folder Items

If set, enables Remote List Browsing.

Source Absence Detection

If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance.

Note

Generic repositories do not support this option.

Add User Context for Curation

If enabled, Artifactory will include the user's context in requests sent to the configured remote repository. The user's context will be used by Curation for traceability. This context includes the user's email address as well as repository information, such as the repository ID. Please ensure this is compliant with your regulatory and security requirements.

Relevant for users with JFrog Curation.

Enable Pass-through for Curation Audit

To enable pass-through, first enable Add User Context for Curation. This allows the curation-audit CLI command to download packages from upstream curated remotes. These packages are not cached by the remote repository. Malicious packages are blocked regardless of the pass-through status. For more information, see Configure Curation Pass Through.

Relevant for users with JFrog Curation.

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

REST API

For a repository to be identified as a Smart Remote repository, go to the Repository Configuration JSON and under contentSynchronisation set the enabled flag to true.Repository Configuration JSON