Smart Archiving

Archiving transfers data from an active server to a backup system to free up space, enhance performance, and ensure data is available for future retrieval (for example, to audit regulatory compliance).

General_Archive_Architecture.png

Archive in JFrog

The JFrog Smart Archiving solution facilitates the seamless transfer of critical but inactive packages from an Active Artifactory instance to a dedicated Archive instance. This architectural separation allows organizations to strictly enforce long-term retention policies for regulatory compliance, while simultaneously protecting the speed and performance of their active CI/CD pipelines.

Archive Policies enable Platform and Project Administrators to define customized rules for archiving dormant binaries based on specific criteria across the JFrog platform. This approach offers the following benefits:

  • Reduced storage costs: Enhances system performance and improves loading times within the JFrog Platform.
  • Boosted efficiency: Enhances system performance and improves loading times within the JFrog Platform.
  • Enhanced user experience: Minimizes the number of items to navigate, saving time and improving overall user experience.
  • Ensure compliance: Ensures compliance by archiving artifacts and restoring them when needed.

Smart Archiving is a new solution that enhances user experience, features, and infrastructure while addressing current limitations. Upgrade for better performance.

📘

Subscription Information

Currently, this feature is supported from 7.111 for the Multi-Cloud platform, with an Enterprise+ license. Supported cloud providers are as follows:

  • AWS
  • GCP
  • Azure

For a Hybrid Self-hosted Platform, it is supported from 7.117.14.

Smart Archiving Features

This topic outlines smart archiving features. It includes archiving, searching and restoring packages.

  • Archive Policy

    Archive policies define which packages need to be archived. When the policy is executed, packages are moved from the Active Artifactory Instance to the Archive Artifactory Instance, while the corresponding packages are stored in the Storage connected to the Archive Artifactory Instance.

    Scheduled Execution: Scheduling enables you to configure the periodic execution of a policy that can be set to any frequency defined by a cron schedule. You can also define when (or after what period) the policy execution will be stopped, which enables you to perform archiving execution during weekends or maintenance windows.

📘

Note

If required, you can run the archive policy manually. To learn more, refer to the Run Smart Archiving Policy Manually

After packages are successfully archived in the Archive Artifactory Instance, the archived items and corresponding metadata are deleted from the original repository in the Active Artifactory Instance. If the archive process fails, items and the corresponding metadata are not removed, and the incident is logged with an appropriate error message.

As the archive process progresses, the system generates detailed logs in the Artifactory service logs in the Active Artifactory Instance.

Admins can manage archive policies, such as create, view, edit, and delete, using the UI or APIs. To learn more, refer to Manage Smart Archiving - Policies.

📘

Note

Only Platform and Project admins can create and manage archive policies. To learn more about authorizations, refer to Smart Archiving - User Activities and Authorizations

  • Archive Search

    Admins can use the search feature to perform dedicated archive searches in the Active Artifactory Instance, allowing them to locate and restore packages as needed. For more information, refer to Search Archived Packages.

  • Restore Archived Packages

    After searching for archived packages, admins can restore them from the Archive Artifactory Instance to the Active Artifactory Instance.

📘

Note

Restore action does not delete the packages in the Archive Artifactory Instance.

When performing a restore action, the admin can choose one of the following destinations:

  • Restore items to their original repository and provide a fallback repository (if the original repository was deprecated)
  • Restore all the items to a new repository

The system performs the restore operation in the background and updates the Artifactory service logs in the Archive Artifactory instance.

To learn more, refer to Restore Archived Packages.

📘

Note

  • The restore process may take from a few minutes to several hours, depending on the number of items being restored and the cloud provider.
  • If an error occurs during the restore, the process will fail, and error messages will be logged.

Smart Archiving Limitations

This topic outlines the limitations of the smart archiving feature.

Supported Repositories

  • Supports Local and Federated repositories. Does not support Remote and Virtual repositories.
📘

Note

When archiving Federated repositories, the run (dry or actual) can take significantly longer compared to Local repositories. This is because the archive workflow must check the last download status of each package across all federation members. The more members involved, the longer the process will take.

Recommendations to Optimize Archive:

  • Adjust Policy Conditions: Narrow the scope of your archive policies to reduce the number of packages to be archived in each run. This can significantly speed up the run.
  • Increase Run Frequency: Run archive policies more often to process smaller sets of packages. This helps prevent large backlogs and improves long-term performance.

Package Verification

There is no verification if packages are part of a Release Bundle or build. A package-level Archive policy may impact build or release bundle promotion.

Archive Limits

An archive policy can archive up to 100,000 packages in a single run.

Progress Notifications

Notifications on the progress of an archive policy run and restore run are unavailable.

Visibility of Run Results

Run results for global policies are visible only to Platform admins globally.

Archive Policy

The Archive policy does not execute when an ongoing mandatory task is in progress (for example, Garbage Collection).

Search

A project admin can only perform searches within their project context and does not have access to the global scope.

Archive Evidence

From Artifactory Version 7.117, added support for the archival of evidence associated with any packages. This enhancement ensures that relevant evidence is preserved as part of your archiving strategy, streamlining your package management process.

📘

Note

Please note that in Artifactory versions prior to 7.117, if you archive packages that have associated evidence, the evidence will not be archived. When restoring packages archived in these earlier versions, only the packages themselves will be restored, and any associated evidence will not be restored.

Concurrent Execution and Queuing of Archive Policies

  • Archive Policies can run concurrently up to a specified maximum. When this limit is reached, additional triggered policies are queued. Any further triggered policies will be skipped entirely if the queue reaches its maximum capacity.
  • In the current version of Artifactory, queued or skipped policy runs do not appear in the Runs view. You can find a log of skipped policies in the Artifactory Service log. For example, you might see a message like: "Policy: test_policy run: 1 has been rejected since allowed 3 concurrent runs are already in progress."

Supported Topology

  • 1-to-1 Connection

    Only one Active Artifactory Instance can be paired with one Archive Artifactory Instance.

  • Active Artifactory Configuration

    Active Artifactory Instance can only be a Platform or a Mothership, not an Edge

Provider and Region Restriction

Archive Artifactory Instance must be of the same provider and region as the Active Artifactory Instance.

No Unbinding

Unbinding an Archive Artifactory Instance is not supported.

Conversion Restriction

Archive Artifactory Instance cannot be converted to other JPD types.

Unbinding Deleted/unavailable Archive Artifactory Instance

When an Active Artifactory Instance and an Archive Artifactory Instance are paired, and the Archive Artifactory Instance is no longer available (for example, it has been decommissioned or is unreachable), the usual binding revocation may fail. This is because the revocation request relies on the existence of the Archive Artifactory Instance to complete. If the Archive Artifactory Instance no longer exists, the binding cannot be deleted through standard means. Workaround: Refer to the Solution.

Smart Archiving Known Issues

This topic outlines the known issues of the smart archiving solution.

SBT Package

  • When SBT packages are uploaded with the sbt-default repository layout, they are not resolved during archive actions.

    Workaround: Choose Recommended Repository Layouts as described in the Create an sbt Repository.

Smart Archiving Use Cases

This topic outlines sample use cases for creating archive policies. It includes the type of use case, the scenario, the solution, and the expected result. These examples help you understand how to configure archive policies based on specific conditions for archiving packages.

Use Case

Scenario

Solution

Result

Archiving Stale Packages

Large repositories with many stale packages.

Create an archive policy to archive stale packages

  • Frees up storage
  • Keeps repositories clean
  • Restore for future use
Archiving Deprecated/EOL Versions of Packages

Deprecated versions of packages that are no longer needed.

Create an archive policy to archive deprecated/EOL versions.

Automating Archiving Old Packages

Required to retain packages for a set period (for example, 6 months) for compliance.

Create an archive policy to automate archiving packages based on:

  • not used in the last 6 months
  • set version-based criteria to retain only the latest X versions.
  • Ensures compliance with data retention policies/auditing/legal requirements
  • Frees up storage
  • Keeps repositories clean
  • Restore for future use
Archiving for Compliance and Audit Purposes

Required to retain packages for auditing or legal reasons.

Create an archive policy to archive all packages older than a set number of years (for example 2 years).

Smart Archiving Architecture

This topic outlines smart archiving architecture and its components.

Smart_Archiving_Architecture.png

The smart archiving solution is comprised of three main components:

  • Active Artifactory Instance

    Active Artifactory Instance is a standard Artifactory instance, the packages will be archived and restored Archive Artifactory Instance.

    • Archive

      The Archive policy periodically offloads packages based on specific criteria to the Archive Artifactory Instance. Moving these packages can enhance usability, search capabilities, and performance in the Active Artifactory Instance by reducing maintenance load. To learn more, refer to Manage Smart Archiving - Policies

    • Search and Restore

      You can search for and restore archived packages. Restorations can be directed to the original location in the Active Artifactory Instance or to a new destination. The restore process runs in the background, while metadata associated with archived packages remains intact for continued access after restoration.

      To learn more, refer to Manage Restore Runs.

  • Archive Artifactory Instance

    Archive Artifactory is a simplified version of an Artifactory instance designed specifically for archiving. It operates as a dedicated Artifactory instance connected to a binary storage provider, such as GCP Storage.

📘

Note

An Archive Artifactory instance can connect to only one Active Artifactory instance. Each Artifactory cluster that requires archiving needs its own Archive Artifactory instance with a dedicated license.

Archive Topology

The smart archiving supports the topology of one Active Artifactory instance connecting to one Archive Artifactory instance.

📘

Topology Not Supported

Smart Archiving does not support many Active Artifactory instances connecting to one Archive Artifactory instance.

Smart Archiving Supported Packages

This topic outlines the supported packages for smart archiving. It includes the policy conditions that apply to each package type.

Package TypeSupported Release VersionLead ArtifactAge (Packages Older Than)Usage (Packages Not Downloaded Since)Version (Number of Latest Versions to Keep)
Alpine7.111.1.tar.gz, .apk
Docker7.111.1manifest.json
Note: Supported from V 7.115.1
Maven7.111.1.pom
Ansible7.111.1tar.gz
npm7.111.1.tgz
Gradle7.111.1.pom
Generic7.111.1-
RPM7.111.1.rpm
Conan7.111.1conanfile.py
NuGet7.111.1.nupkg
PyPI7.111.1tar.gz, tgz, gz, whl, egg, bz2
Helm7.111.1.tgz
Go7.111.1.mod
Debian7.111.1.deb, .ddeb
Gems7.111.1.gem
Cargo7.111.1.crate
HuggingFaceML7.111.1.jfrog_huggingface_model_info.json, .jfrog_huggingface_dataset_info
Machine Learning7.111.1model-manifest.json
CocoaPods7.111.1.tar.gz, .tgz
Terraform7.111.1.zip
Terraform BE7.111.1.json
OCI7.111.1manifest.json
Note: Supported from V 7.115.1
Helm OCI7.111.1manifest.json
Note: Supported from V 7.115.1
Conda7.111.1tar.bz2
Hex7.111.1-
SBT7.111.1.pom, .xml
Vagrant7.111.1-
Swift7.114.1-
Composer7.116-

Docker Archive Method

Docker images can have multiple tags and use list.manifests to support different architectures. Each list.manifest points to several specific manifests for various systems.

Learn how the policy executes for the following conditions:

❗️

Avoid Policies with Conflicting Criteria

We recommend to avoid configuring two different policies with conflicting criteria (For example, Last N Versions and Not Downloaded Since) for the same Docker, OCI, or Helm OCI repository.

  • Time-based Condition: Time-based condition archives images and tags that have not been used within a certain period. This helps keep the connections between tags intact and ensures the stability of multi-architecture references. We recommend using the Packages Not Downloaded Since condition to prevent the archiving of images that are currently in use.

  • Version-based Condition: From Artifactory V 7.115.1, we support Version-based policy conditions for Docker, OCI, and Helm OCI. It allows you to keep a specified number of image versions in the Docker repository, which considers the structure of Docker images when deciding what to archive. If a Docker image is a list.manifest, it will either be archived with all of its related sub-manifests or not archived at all. This approach maintains the relationships between images. This provides greater control over image management and helps maintain tag relationships and multi-architecture references.

    On the other hand, time-based conditions treat each manifest and list.manifest separately, without considering their hierarchical structure. Each one is evaluated independently based on its status.

📘

Note

  • Tag Retention Logic: When this logic is enabled, previous tag revisions (tag retentions) will be archived only when the most recent revision of a tag is archived.

  • Max Unique Tags Logic: When this logic is enabled, the Last N Versions policy will take precedence.

    Example: With Last N Versions set to 2 and Max Unique Tags set to 5, retains only 2 versions/tags of the same image after the policy is executed.

Get Started with Smart Archiving

This topic outlines how to get started with smart archiving. It includes how to configure the smart archiving solution, grant permission to a project admin, work with archive and restore, and monitor archive and restore operations.

Smart_Archiving_GS.png

Task

Description

Reference Links

1

Configure Archive Instance

This topic describes how to create a new archive instance and connect it to an active instance. The archive instance is used in the smart archiving solution to offload archive items from the active instance.

Configure Smart Archiving Instance

2

Grant Permission to a Project Admin to Create and Edit Archive Policies

This topic outlines how to grant permission to a project admin. Platform admins can enforce and manage archive policies across multiple projects or all projects on the JFrog platform and thereby gain full control over organizational storage management (Global Policies). Platform admins can also delegate permissions to Project admins to manage policies on their project scope only (Project Policies), and Project admins have visibility on Global Policies affecting their projects.

Grant Permission to Project Admin

3

Work with Archive and Restore

This section outlines working with Archive and Restore. It includes creating and managing archive policies, managing archive runs, searching and restoring archived packages and managing restore runs.

Work with Smart Archiving and Restore

4

Monitor Archive and Restore

This section outlines monitoring archive storage, archive and restore runs.

Monitor Smart Archiving and Restore

Configure Smart Archiving Instance

This section describes how to create a new archive instance and connect it to an active instance. The archive instance is used in the smart archiving solution to offload archive items from the active instance.

Here are the possible Smart Archiving Configurations based on the deployments:

Configure Cloud Smart Archiving Instance

This topic describes how to create a new archive instance and connect it to an active instance. The archive instance is used in the smart archiving solution to offload archive items from the active instance.

For more information, see Add Servers to Your Cloud Topology.

Configure Hybrid Smart Archiving Instance

This topic describes how to create a new archive instance and connect it to an active instance. The archive instance is used in the smart archiving solution to offload archive items from the active instance.

Hybrid Smart Archiving is supported on the Self-hosted platform with E+ from version 7.117.14.

Prerequisite

Active Artifactory Instance

Contact your Account Manager to purchase a JFrog E+ Hybrid subscription for your JFrog Smart Archive instance.

Follow these steps to create and associate an archive instance with an active instance:

❗️

Important

Upon successful purchase, you will receive an email from JFrog with the subject line Activate Your JFrog Hybrid Subscription.

  1. Click Go to MyJFrog in the received email.
  2. Log in to MyJFrog Your Customer Portal with your registered credentials.

Navigate to Topology Page

  1. In the My JFrog Dashboard, click Topology.
  2. In the Topology page, click Configure Now.

Configure Archive under Available Smart Archiving Instance (X)

📘

Note

No changes are allowed to the instance configuration once configured.

Contact JFrog support for any changes.

Scroll down in the Configure JPDs page where you can view Available Smart Archiving Instance (x) section and add JPDs:

📘

Note

All fields are mandatory.

  1. In the Archive Name field, enter the name of the archive instance.
📘

Note

  • We recommend giving the archive a meaningful name.

  • The naming convention and criteria for Archive Name must be as follows:

    • unique
    • 3 - 32 characters long
    • start with a letter
    • only lowercase characters or numbers
  1. From the Provider list, select the cloud provider.

  2. From the Region list, select the region.

  3. Enter Password and Validate Password.

📘

Note

The password criteria must be as follows:

  • 8 - 32 characters long
  • at least one uppercase and one lowercase character
  • at least one number
  • at least one special character
  1. Click Update.
📘

Note

  • After you enter all required information, the dialog will display an All Set indicator.

  • The Topology tab now shows an indicator at the top that the JPDs are being added and the environment is being updated.

  • This process may take a few minutes. When the configuration completes:

    • A tree structure is shown with the archive instance status as Active.
    • Upon successful Smart Archiving JPD creation, you will receive an email from JFrog with the subject line Your New JFrog Instance Is Ready.

View Configured Archive Instances

  • JPD Name: The name of the active instance.

  • Type: Indicates the type of JPD.

  • Provider: Indicates the type of Cloud provider.

  • Region: Indicates the region of the deployed instance.

  • Status: Indicates the status of the instance.

    • Active: The archive instance is available to bind with the active instance.
📘

Note

To complete the setup for a Smart Archive instance, you must bind it to an active instance.

Bind Archive Instance

You can bind archive instance via UI or API

Bind Archive Instance via UI
Create Pairing Token: Generate the Pairing Token to connect the Active and Archive instances.

Perform the following steps on the Archive Instance to create a Pairing Token:

  1. From the Administration, click User Management | Access Tokens | Pairing Token.
  2. From the Generate Pairing Token, click Cold Storage.
  3. Click Generate.
  4. This displays the token window, which includes the token's expiration (in seconds, set by default to 300 seconds = 5 minutes), the token ID, and the actual token, which you can copy by clicking Copy.
Establish Trust Between Active and Archive Instances

Perform the following steps on the Active Instance:

  1. Register a Platform Deployment.

  2. From the Administration module, click Topology | Deployment Bindings.

  3. Click the Archive tab. In the top right corner, click + Add Binding, and select Archive from the dropdown list.

  4. In the Create Binding modal, do the following:

    • From the Source JPD (Live Instance), select the Active instance.

    • From the Target JPD (Cold Instance), select the Archive instance.

    • Click Apply.

      The Summary displays the target and source you selected.

    • Click Create.

      Check the Binding Results.

Bind Archive Instance via API
Create Pairing Token: Generate the Pairing Token to connect the Active and Archive instances.

On the Archive instance, execute the following POST request.

curl -u admin:password -X POST https://<archive_instance>/artifactory/api/v1/service_trust/pairing/artifactory-cold

This generates the pairing token. For example:

{ "pairing_token":"IiwiYWxnIjoiUlMyNTYiLCJraWQiOiJaWkhkQzBzenlqd2d..."}
Establish Trust Between Active and Archive Instances

On the Active Instance, use the generated pairing token to execute the following PUT request.

curl -u admin:password -X PUT -H "Content-Type: application/json "-d '{"pairing_token" : "IiwiYWxnIjoiUlMyNTYiLCJraWQiOiJaWkhkQzBzenlqd2d..."}' https://<active_instance>/artifactory/api/v1/service_trust/pairing/artifactory-cold

If the two instances are paired successfully, the request returns the following status:

Trust with service artifactory-cold was established successfully

Get Started with Smart Archiving
Manage Hybrid Smart Archiving Bindings

This topic describes how to manage hybrid smart archiving bindings. It provides guidance on revoking binding and reestablishing trust between the instances.

Revoking a Binding

📘

Note

You cannot remove the binding between the Active Artifactory Instance and Archive Artifactory Instance if the Archive Artifactory Instance is no longer available.

To revoke the binding between Active Artifactory Instance and Archive Artifactory Instance, follow these steps on the Active Artifactory Instance :

  1. From the Administration module, click Topology | Deployment Bindings , and then click the Archive tab.

  2. Select the checkbox for the bindings you wish to remove, and then click Delete icon.

  3. Click OK to confirm.

    Your action is applied and the results of the unbinding are now displayed.

Re-establishing Trust

Re-establish the trust between the Active Artifactory Instance and the Archive Artifactory Instance when the pairing was revoked, such as when a token has been mistakenly revoked.

Follow the same steps performed while binding for the first time as described in Configure Hybrid Smart Archiving Instance.

Smart Archiving - User Activities and Authorizations

This topic outlines smart archiving user activities and their authorizations.

Configure Archive Instance and Grant Permission to Project Admin

ActivityPlatform AdminProject AdminApplication User
Configure Smart Archiving Instance
Grant Permission to Project Admin

Create Archive Policy

Activity

Platform Admin

Project Admin

Application User

Create Smart Archiving Policy

Note: Only from allocated projects

Manage Smart Archiving - Policies

Manage Smart Archiving - Runs

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

View All Smart Archiving Runs

Stop All Smart Archiving Policy Runs

Download and Review Smart Archiving Run Report

Search and Restore Archived Packages

Activity

Platform Admin

Project Admin

Note: Available from Version 7.123

Application User

Search Archived Packages

Restore Archived Packages

Manage Restore Runs

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

View All Restore Runs

Download and Review Restore Run Report

Monitor Smart Archiving and Restore

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

Monitor Smart Archiving Storage Info

Note: This option is shown from the Global Context only.

Monitor Smart Archiving and Restore - via UI and Logs

As per the User persona, you can perform the operations described in this section within the contexts described below:

Global Context

📘

Note

Applies to Platform Admin only.

  1. From the Projects dropdown list, click All Projects.

  2. From the Administrator module, click Artifactory Settings, and then click Retention Policies.

    The Retention Policies page appears.

Project Context

📘

Note

Applies to both Platform Admin and Project Admin.

  1. From the Projects dropdown list, choose the desired project.

  2. From the Administrator module, click Artifactory, and then click Retention Policies.

    The Retention Policies page appears.

Grant Permission to Project Admin

This topic outlines how to grant permission to a project admin. Platform admins can enforce and manage archive policies across multiple projects or all projects on the JFrog platform and thereby gain full control over organizational storage management (Global Policies). Platform admins can also delegate permissions to Project admins to manage policies on their project scope only (Project Policies), and Project admins have visibility on Global Policies affecting their projects.

Global Policy: For maintaining consistent archive policies across multiple projects, ensuring compliance and standardization.

  • Scope: Applies to all packages across the entire Artifactory instance.
  • Configuration: Set by platform administrators and affects all projects at global level.

Project Policy: For addressing unique archive policies for a project that differ from the global standard, allowing flexibility to project administrators.

  • Scope: Applies to individual projects.
  • Configuration: Set by project/platform administrators for specific needs and requirements of a project.

To grant permissions to project admins, follow these steps:

  1. From the Administration module, click Projects.

  2. In the Projects screen, select the project where you want to give permissions to the Project Admin.

    The project details appear in read-only mode.

  3. Click Edit Settings in the upper right of the project details screen.

  4. Go to the section Project Admins, and then click Manage Resources.

  5. Add the user to the project from the Users tab.

  6. Click Save.

Work with Smart Archiving and Restore

This section outlines working with Archive and Restore. It includes creating and managing archive policies, managing archive runs, searching and restoring archived packages and managing restore runs.

Smart_Archiving_Workflow.png

Task

Description

For UI, see...

For API, see...

1

Create Smart Archiving Policy

This topic outlines how to create a smart archiving policy. You create the smart archiving policy to archive unintended packages from Active Artifactory Instance to Archive Artifactory Instance.

Create Smart Archiving Policy

Create Smart Archiving Policy API

2

Manage Smart Archiving - Policies

This section outlines the actions you can perform on the smart archiving Policies from the Active Artifactory Instance. It includes enable/disable, search, manual run, dry run, edit, stop, delete, view and delete policies.

Manage Smart Archiving - Policies

N/A

3

Manage Smart Archiving - Runs

This section outlines the actions you can perform on the smart archiving Runs from the Active Artifactory Instance. It includes view, stop all runs and downloading run reports.

Manage Smart Archiving - Runs

N/A

4

Search and Restore Archived Packages

This section outlines the actions you can perform on the global search bar from the Active Artifactory Instance. It includes searching and restoring archived packages.

Search and Restore Archived Packages

5

Manage Restore Runs

This section outlines the actions you can perform on the Restore Runs from the Active Artifactory Instance. It includes view, stop all runs and downloading run reports.

Manage Restore Runs

N/A

Create Smart Archiving Policy

This topic outlines how to create a smart archiving policy. You create the smart archiving policy to archive packages from Active Artifactory Instance to Archive Artifactory Instance.

Ideal_Smart_Archiving_Workflow.png

Authorization

Activity

Platform Admin

Project Admin

Application User

Create Smart Archiving Policy

Note: Only from allocated projects

To create Archive policies:

❗️

Important

Archive Evidence

From Artifactory Version 7.117, added support for the archival of evidence associated with any packages. This enhancement ensures that relevant evidence is preserved as part of your archiving strategy, streamlining your package management process.

Note

Please note that in Artifactory versions prior to 7.117, if you archive packages that have associated evidence, the evidence will not be archived. When restoring packages archived in these earlier versions, only the packages themselves will be restored, and any associated evidence will not be restored.

  1. From the Administration module, select Artifactory > Retention Policies.
  2. In the Retention Policies page, from the Create Policy dropdown list, click Archive Policy.
  3. Configure the following in the Create New Archive Policy page:

Field

Description

Media

Policy Name

Enter a unique and meaningful name for the policy.

Description

Enter information regarding why this policy was created, and details that help users understand its configuration.

Policy Scope

Include Projects / Include All Projects

📘

Note

This setting is applicable only at the global level for Platform Admins. It does not appear when creating a policy at the project level. When this setting is visible, it is mandatory.

Select the projects where you want the policy to apply, or choose Include All Projects to run the policy across all projects on the platform. You can also select Unassigned Repositories to apply the policy to repositories not linked to any projects.

Package Types

Select one or more of the package types you want to archive.

📘

Note

If a policy includes a repository with retention settings, packages designated for retention may be inadvertently removed.

Include Repository Patterns

  • Enter one or more patterns for the repository names where you want the archive policy to apply, then click Add. Alternatively, you can select Include All Repositories or specify explicit repository names. At least one pattern or explicit name is required, as only packages in repositories matching these will be archived.

  • Auto-complete will suggest options based on the project and package type, and both local and federated repositories are supported.

📘

Note

It is not possible to specify a path within a repository.

📘

Note

Set Patterns: Use wildcards at the end to match any suffix, or at the start to match any prefix

For example, npm-local* includes all repositories starting with npm-local.

Regex is not supported.

Exclude Repository Patterns

Enter patterns or explicit repository names to exclude from the archive policy. Auto-complete will suggest options based on the project and package type.

📘

Note

Set Patterns: Use wildcards at the end to match any suffix, or at the start to match any prefix.

For example, npm-local* excludes all repositories starting with npm-local.

Regex is not supported.

Include Package Name Pattern

Enter a pattern for a package name or an explicit package name for the archive policy, then click Add or select Include All Packages. Only one pattern or explicit name is allowed.

📘

Note

Set Patterns: Use wildcards at the end to match any suffix, or at the start to match any prefix.

For example, mypackage* includes all packages starting with mypackage.

Regex is not supported.

Exclude Package Name

Enter explicit package names to exclude from the policy and click Add. Only explicit names are accepted and not patterns.

Include Package Version Pattern

Enter a pattern for a package version or an explicit package version for the policy, or select Include All Versions.

📘

Note

Set Patterns: Use wildcards at the end to match any suffix, or at the start to match any prefix.

For example, 1.0.* includes all packages starting with 1.0.

Regex is not supported. Only 1 pattern or explicit version can be entered.

Available from V 7.127 (Cloud) and V 7.125.7 (Self-managed)

Exclude Package Version Patterns

Enter explicit package version to exclude from the policy. Only explicit versions are accepted and not patterns.

Available from V 7.127 (Cloud) and V 7.125.7 (Self-managed)

Policy Conditions

Time & Property-based/Version-based

Do one of the following to define under what conditions the policy finds packages:

📘

Note

A policy must include one of the two conditions below:

  • Time & Property-Based

    • Packages Older Than
    • Packages Not Downloaded Since
    • Packages based on a specified key-value pair
  • Version-Based: Number of Latest Versions to Keep.

We recommend using the Packages Not Downloaded Since condition to prevent the archive of packages that are currently in use.

  • Time-based

    • Select Packages Older Than checkbox, and apply the number of days/weeks/months/years for the older packages.
📘

Note

A day in this context is a 24-hour period from the moment the policy is executed. Other units are considered as follows:

  • 1 week = 7 days
  • 1 month = 30 days
  • 1 year = 365 days

The system will convert them to appropriate time unit if the matching value is entered. For example, if you enter 7 days, the system changes it to 1 Week.

When enabled, this setting archives packages based on their creation date. For example, you can archive packages created more than a year ago. By default, it is set to archive packages created more than 2 years ago.

  • Select Packages Not Downloaded Since checkbox, and apply the number of days/weeks/months/years for the not downloaded packages.
📘

Note

A day in this context is a 24-hour period from the moment the policy is executed. Other units are considered as follows:

  • 1 week = 7 days
  • 1 month = 30 days
  • 1 year = 365 days

The system will convert them to appropriate time unit if the matching value is entered. For example, if you enter 7 days, the system changes it to 1 Week.

When enabled, this setting archives packages based on their last download date. For example, it can archive packages that have not been downloaded in the past year. By default, it is set to archive packages that have not been downloaded for more than 2 years.

📘

Note

If a package was never downloaded, the policy will archive it based only on the age condition (Packages Older Than).

  • Version-based - Number of Latest Versions To Keep

    Select the number of the latest versions to keep. The archive policy will archive all versions that exceed this number, with the latest version always excluded from archiving.

📘

Note

  • This setting appears only if Version-based is selected.
  • Versions are determined by creation date.
  • Not all package types support this condition. For information on which package types support this condition, refer to Smart Archiving Supported Packages.
  • Property-based

    Enter the property name and value applied to the lead artifact of a package. Packages with this property will be archived. For information, refer to Smart Archiving Supported Packages.

Exclude based on property

Enable the checkbox and enter the property name and value applied to the lead artifact of a package. Packages with this property will be excluded from archiving. For information, refer to Smart Archiving Supported Packages.

Additional Settings

Cron Expression

A cron expression is a string comprised of five or six fields separated by spaces. Each field represents a different unit of time, which collectively define the schedule for policy execution. The standard format is as follows:

* * * * * *     (Seconds - Optional)
| | | | | |
| | | | | +---- Day of the week (0 - 6) (Sunday=0)
| | | | +------ Month (1 - 12)
| | | +-------- Day of the month (1 - 31)
| | +---------- Hour (0 - 23)
| +------------ Minute (0 - 59)
+-------------- Second (0 - 59) (Optional)
📘

Note

This cron expression must follow the Quartz scheduler format as used in the CronTrigger class. It differs from the standard Unix cron format. For example, Quartz supports a sixth optional field for seconds and uses ? for non-specific values. Refer to the Quartz documentation for more details: Quartz Cron Expression Format

Example Cron Expression

To illustrate how to construct a cron expression, consider the example below:

Expression: 0 0 2 * * ?

  • 0 - At second 0
  • 0 - At minute 0
  • 2 - At hour 2 (2:00 AM)
      • Every day of the month
      • Every month
  • ? - No specific value for the day of the week

This expression schedules the policy to run every day at 2:00 AM.

Guidelines for Scheduling

  • Run Interval: The minimum interval between policy executions is 6 hours. If you attempt to set a cron expression that results in a runtime shorter than this duration, you will encounter an error when saving the configuration.
  • Off-Hours Scheduling: It is recommended to tune your cron expression so that policies run during off-hours. This helps to reduce the impact on system performance during peak usage times.

Leaving the Cron Expression Empty: If you leave the cron expression empty, you can only Run Smart Archiving Policy Manually manually. This means that there will be no automatic scheduling and the policy will not run unless you initiate it.

Max Run Duration

This setting limits the maximum duration the policy can run when enabled. The maximum allowed duration is 5 hours.

📘

Note

The policy stops before the completion of the run if it exceeds the applied run duration. In one run, within this duration, it archives all or part of your packages depending on the size and number of items. If there are any pending packages to be archived, they are archived incrementally in the next scheduled run and the subsequent runs.

Skip Trash Can

When enabled, this setting will cause packages to be permanently deleted from Artifactory instance without an option to restore them immediately after the archive policy is executed, bypassing the Trash Can repository. To restore, refer to Restore Archived Packages.

📘

Note

If you want deleted items to be transferred to the trash can, you must enable the global Trash Can setting. To learn more, refer to Trash Can Settings.

The packages are copied from Active Artifactory Instance to Archive Artifactory Instance, and then deleted in the Active Artifactory Instance.

  1. Click Save to save the policy.

    The newly created smart archiving policy appears in the Policies list and executes on the scheduled date and time.

What Happens After the Smart Archiving Policy is Created?

This topic outlines what happens after a smart archiving policy is created.

After the Smart Archiving policy has been defined and created:

  • Enabled smart archiving policies execute on the scheduled date and time.

    The archiving policy can also be manually executed. To learn more, refer to Run Smart Archiving Policy Manually.

📘

Note

We recommend not to run more than 10 policies at the same time.

The Archive policy does not execute when an ongoing mandatory task is in progress (for example, Garbage Collection). If you want to manually Run Smart Archiving Policy Manually or Perform Dry Run on Smart Archiving Policy, try at a later time.

  • The system archives the packages, along with the associated metadata, and moves them to the Archive Artifactory Instance.
  • When an item is archived, the system dynamically creates dedicated archiving repositories in the Archive Artifactory Instance.
  • As the archive process progresses, View All Smart Archiving Runs from the Active Artifactory Instance.

Manage Smart Archiving - Policies

This section outlines the actions you can perform on the smart archiving Policies from the Active Artifactory Instance. It includes enable/disable, search, manual run, dry run, edit, stop, delete, view and delete policies.

The following table lists all the possible actions on the policies and their equivalent links to REST API.

TaskDescriptionFor UI, see...For API, see...
View All PoliciesThis section outlines how to view all smart archiving policies. It guides you in reviewing key details such as the policy status, associated projects with the policy, timestamps for the last and next scheduled runs, last run status, actions performed on each policy, and options for customizing table columns.View All Smart Archiving PoliciesGet All Smart Archiving Policies API
Perform a Dry RunThis section outlines how to perform a dry run on a smart archiving policy. A dry run lets you preview which packages will be archived based on your defined policy criteria, without performing the actual archiving. This helps you understand the potential outcome before executing the policy. After the dry run, a CSV report is generated, listing all packages that would be archived along with relevant details. Review this list to decide whether to proceed with the policy or adjust the settings.Perform Dry Run on Smart Archiving PolicyRun Smart Archiving Policy API
Download the Last Run ReportThis section outlines how to download the last run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the archived packages.Download Smart Archiving Policy Last Run ReportDownload Smart Archiving Policy Run Report API
Enable/Disable PolicyThis topic outlines how to enable/disable a smart archiving policy. By default, newly created archive policies are disabled. You must activate a policy before it can execute automatically according to the schedule or be triggered manually.Enable/Disable Smart Archiving PolicyEnable/Disable Smart Archiving Policy API
Run NowThis topic outlines how to run a smart archiving policy manually. In addition to the periodic automated execution of the smart archiving policy that occurs if you enable the policy and set its Cron Expression, you can also manually run the archive policy at any time.Run Smart Archiving Policy ManuallyRun Smart Archiving Policy API
Search PoliciesThis topic outlines how to search smart archiving policy to locate the desired policy easily.Search Smart Archiving PolicyGet Single Smart Archiving Policy by Key API
Disable All PoliciesThis topic outlines how to disable all smart archiving policies. As a Platform Admin, you can disable all policies globally, making them inactive. Once this is done, you can activate policies individually as needed.Disable All Smart Archiving PoliciesDisable All Smart Archiving Policies API
Edit PolicyThis topic outlines how to edit a smart archiving policy. After a smart archiving policy has been created, you can change the settings or archive criteria.Edit Smart Archiving PolicyUpdate Smart Archiving Policy API
Stop PolicyThis topic outlines how to stop a running smart archiving policy. For some reason, you may want to stop the smart archiving policy that is currently running before it finishes completion.Stop Running Smart Archiving PolicyStop Running Smart Archiving Policy API
Delete PolicyThis topic outlines how to delete a smart archiving policy. If you decide that the smart archiving policy is no longer needed, you can delete it.Delete Smart Archiving PolicyDelete Smart Archiving Policy API
Stop All RunsThis topic outlines how to stop all smart archiving policy runs. You can perform this action from the policies tab and runs tab. As a Platform Admin, you can stop all currently running policies. Once a policy run is stopped, it cannot resume from its last point. You must restart the policy from the beginning to rerun it.Stop All Smart Archiving Policy RunsStop All Running Smart Archiving Policies API

Authorization

View All Smart Archiving Policies

This section outlines how to view all smart archiving policies. It guides you in reviewing key details such as the policy status, associated projects with the policy, timestamps for the last and next scheduled runs, last run status, actions performed on each policy, and options for customizing table columns.

To view all smart archiving policies:

  1. From the Administration module, select Artifactory > Retention Policies.
  2. In the Retention Policies page, click Archive.
  3. Under the Policies tab, you can view all the policies.

Archive Policy Table Fields

The following table describes the columns of the archive policy table fields.

Field

Description

Policy Name

Indicates the name of the policy

Project

Indicates the name of the project

Note: Unassigned Repos: Only repositories not assigned to a project will be affected.

Last Run Status

Indicates the status of each policy execution, which can be one of the following:

Last Run Status
  • Completed (dry run): The policy has been executed successfully, with no errors

  • Completed: The policy has been executed successfully, with no errors

  • Completed with Errors: The policy execution has been completed, but there were some errors. Please refer to the logs for details

  • Completed with Errors (dry run): The policy has been executed with errors

  • In Progress: The policy execution is in progress and there are no errors

  • In Progress with Errors: The policy execution is in progress and there are errors

  • Stopping: The user has manually stopped the policy execution, and it is currently being stopped

  • Stopped: The user manually stopped the policy execution

  • Failed: The policy execution has failed

Next Run

Indicates the next scheduled run

Enabled

Indicates whether the policy is enabled or disabled

  • Enabled: Indicates the policy has been enabled. You can run the policy manually or it runs as per the defined schedule.

  • Disabled: Indicates the policy has been disabled. You can perform dry run but not manual or scheduled runs.

More Actions - Icon Status

From the more icon you can perform various actions on the policies. The status of the icon is as follows:

Icon

Status

Description

Active

The more actions have been active. Following are the actions you can perform on a policy:

  • Run Now: Manually run the enabled policy

  • Perform a Dry Run: Review which packages will be archived on the actual run

  • Edit: Edit the policy to make necessary changes

  • Stop: Stop a running policy

  • Download Last Report: On completing the run, download the last run report based on the Last Run Status to review:

    • For Actual Run: What packages were archived for the actual run
    • For Dry Run: What packages will be archived on the actual run
  • Delete: Delete the policy from the system.

Hover

Hovered the mouse pointer over more icon

Disabled

The more actions have been disabled

New

Indicates the policy is newly created.

Customize Table Columns

Arrange the table columns according to how you want to view them.

To display and arrange the columns:

  1. From the Table header, click the Customize Columns at the end.

  2. Select which columns to display in the Customize Columns pop-up and drag and drop to reorder them.

  3. Click Apply.

    HC_ViewAllPoliciesCustomizeColumns.png

Refresh Policies

To refresh policies, click the Refresh icon from the top right above the table header.

HC_ViewAllPoliciesRefresh.png
Search Smart Archiving Policy

This topic outlines how to search for a smart archiving policy to locate the desired policy easily.

To search the smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. Click the Policies tab, enter the policy name in the Search field, and then press enter on the keyboard.

    HC_ViewAllPoliciesSearch.png
Perform Dry Run on a Smart Archiving Policy

This section outlines how to perform a dry run on a smart archiving policy. A dry run lets you preview which packages will be archived based on your defined policy criteria, without performing the actual archiving. This helps you understand the potential outcome before executing the policy. After the dry run, a CSV report is generated, listing all packages that would be archived along with relevant details. Review this list to decide whether to proceed with the policy or adjust the settings.

📘

Note

  • We recommend performing a dry run and reviewing the results before activating a policy to prevent unintended archive.
  • Dry run results reflect the specific point in time when the dry run is performed. The results of an actual policy execution may differ, as it occurs at a later scheduled time.

To perform a dry run on a smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to run, click ••• icon and then click Perform a Dry Run.

    HC_ViewAllPoliciesDryRun.png

  4. After the dry run is completed:

    1. Download the report from Download Smart Archiving Policy Last Run Report or Download and Review Smart Archiving Run Report.
    2. Review its status report, as explained in Smart Archiving Run Report Overview.
Enable/Disable Smart Archiving Policy

This topic outlines how to enable/disable a smart archiving policy. By default, newly created archive policies are disabled. You must activate a policy before it can execute automatically according to the schedule or be triggered manually.

📘

Note

We recommend that you first perform a dry run and review its results before you enable a policy. This helps prevent unintended deletion. For more information on performing a dry run, refer to Perform Dry Run on Smart Archiving Policy.

The following actions can be performed on a disabled policy:

To enable or disable the smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to enable/disable, and then toggle the slider under the Active column.

    HC_ViewAllPoliciesEnable.png

    Once enabled, the policy will run automatically based on the schedule you set during creation. You can also run it manually, as detailed in the Run Smart Archiving Policy Manually.

Disable All Smart Archiving Policies

As a Platform Admin, you can disable all smart archiving policies globally, making them inactive. Once this is done, you can activate policies individually as needed.

📘

Note

The option to disable all policies is not available to Project Admins. The Disable All Policies option can be viewed in the global context only.

To disable all the smart archiving policies:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, click Global Stop/Disable dropdown list, and then click Disable All Policies.

    HC_ViewAllPoliciesDisableAllPolicies.png

  4. Check the Active column in the policies list to verify that all policies are now disabled.

Run Smart Archiving Policy Manually

In addition to the periodic automated execution of the smart archiving policy that occurs if you enable the policy and set its Cron Expression, you can also manually run the archive policy at any time.

📘

Note

To manually run a smart archiving policy, the policy must first be activated. To learn more, refer to Enable/Disable Smart Archiving Policy.

To run the smart archiving policy manually:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to run, click ••• icon and then click Run Now.

    HC_ViewAllPoliciesRunNow.png

  4. After the run is completed:

    1. Download the report from Download Smart Archiving Policy Last Run Report or Download and Review Smart Archiving Run Report.
    2. Review its status report, as explained in Smart Archiving Run Report Overview.
Download Smart Archiving Policy Last Run Report

This section outlines how to download the last run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the archived packages.

To download the report:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy for which you want to download the report, click ••• icon, and then click Download Last Report.

    HC_ViewAllPoliciesDownloadLastReport.png

    A zip file is downloaded including one .csv files.

  4. After the run is completed:

    1. Download the report from Download Smart Archiving Policy Last Run Report or Download and Review Smart Archiving Run Report.
    2. Review its status report, as explained in Smart Archiving Run Report Overview.
Stop Running Smart Archiving Policy

You have the option to stop the smart archiving policy that is currently running before it finishes completion.

📘

Note

Once a policy has been stopped, it cannot resume from the point where it stopped. The only way to run the policy again is to restart it from the beginning.

To stop the running smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to stop, click ••• icon and then click Stop.

    HC_ViewAllPoliciesStop.png

  4. In the Status column of Runs tab, the status changes to Stopped for that run.

Stop All Smart Archiving Policy Runs

You can stop all smart archiving policy runs from either the Policies tab or the Runs tab. As a Platform Admin, you can stop all currently running policies. Once a policy run is stopped, it cannot resume from its last point. You must restart the policy from the beginning to rerun it.

📘

Note

The option to stop all running policies is not available to Project Admins. The Stop All Runs option can be viewed in the global context only.

To stop all the smart archiving policy runs:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, click Global Stop/Disable, and then click Stop All Runs.

    To verify that all runs have stopped, under the Policies tab, check the Last Run Status column to ensure that all runs have stopped.

    HC_ViewAllPoliciesStopAllRuns.png

Edit Smart Archiving Policy

After a smart archiving policy has been created, you can change the settings or archive criteria.

📘

Note

You cannot update a running policy. If you want to update a policy that is running, you need to either wait for the run to complete or Stop Running Smart Archiving Policy.

To edit the smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to edit, click ••• icon and then click Edit.

    Edit <Policy Name> Archive Policy page appears.

    HC_ViewAllPoliciesEdit.png

  4. In the <Policy Name> Archive Policy page, update the settings as needed, and then click Save.

    HC_ViewAllPoliciesEditPolicy.png
Delete Smart Archiving Policy

If you decide that the smart archiving policy is no longer needed, you can delete it.

📘

Note

You cannot delete a running policy. If you want to delete a running policy, you need to either wait for the run to complete or Stop Running Smart Archiving Policy.

To delete the smart archiving policy:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, under Policies, locate the policy you want to delete, click ••• icon and then click Delete.

    The policy is deleted and removed from the Policies list.

    HC_ViewAllPoliciesDelete.png

Manage Smart Archiving - Runs

This section outlines the actions you can perform on the smart archiving Runs from the Active Artifactory Instance. It includes view, stop all runs and downloading run reports.

Task

Description

For UI, see...

For API, see...

View All Archive Runs

This section outlines how to view the status of both past and ongoing smart archiving runs. It provides guidance on how to review specific details, including the items that have been archived, the associated timestamps, the status of each archive operation, customizing table columns, and applying filters to view the desired information.

View All Smart Archiving Runs

Stop All Archive Policy Runs

This topic outlines how to stop all smart archiving policy runs. You can stop all currently running policies. Once a policy run is stopped, it cannot resume from its last point. You must restart the policy from the beginning to rerun it.

Stop All Smart Archiving Policy Runs

Stop All Running Smart Archiving Policies API

Download and Review Archive Run Report

This section outlines how to download a smart archiving run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the archived packages.

Download and Review Smart Archiving Run ReportSmart Archiving Run Report Overview

Authorization

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

View All Smart Archiving Runs

Stop All Smart Archiving Policy Runs

Download and Review Smart Archiving Run Report

View All Smart Archiving Runs

This section outlines how to view the status of both past and ongoing smart archiving runs. It provides guidance on how to review specific details, including the items that have been archived, the associated timestamps, the status of each archive operation, customizing table columns, and applying filters to view the desired information.

To view the smart archiving policy runs:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Runs tab, under Runs, locate the Run Id you want to learn about it.

    In this list, you can review a comprehensive history of executed archive policies, including the start time, number and physical size of archived items, and run status. The list is sorted chronologically, with the most recent run at the top. For more information on run statuses, see the table below.

  4. To view a report on a specific policy run, locate the run, and then click Report icon.

    A zip file will be downloaded containing one .csv files. If the report is for a dry run, it will show the items that would be archived in a real run. If it’s for an actual archive run, it will detail what was archived.

📘

Note

  • Reports are created and stored in a dedicated repository called jfrog-policy-reports-local. We recommend not deleting this repository to maintain a history of policy executions and their results. Deleting it will result in the loss of this history.
  • If no packages are archived (for a real run) or archived (for a dry run), a report will not be generated.
  • The number of previous runs included in the history is defined by the artifactory.policy.cleanup.nodes_cleaned.expiration.days system property.
HC_ViewAllArchiveRuns.png

Archive Runs Table Fields

The following table describes the columns of the archive runs table fields.

Field

Description

Run ID

Indicates the number of the run id

Global

Indicates the policy is applicable at the global level

Note: Global Policy may affect multiple projects. It can be managed by a Platform Admin on the Global Scope only.

Project

Indicates the name of the project

Policy Name

Indicates the name of the policy

Start Time

Indicates the date and time when the archive operation started running

Archived Items (Physical Size)

The number of total archived items, and the total items (The archived size)

Status

Indicates the status of each policy execution, which can be one of the following:

Last Run Status
  • Completed (dry run): The policy has been executed successfully, with no errors

  • Completed: The policy has been executed successfully, with no errors

  • Completed with Errors: The policy execution has been completed, but there were some errors. Please refer to the logs for details

  • Completed with Errors (dry run): The policy has been executed with errors

  • In Progress: The policy execution is in progress and there are no errors

  • In Progress with Errors: The policy execution is in progress and there are errors

  • Stopping: The user has manually stopped the policy execution, and it is currently being stopped

  • Stopped: The user manually stopped the policy execution

  • Failed: The policy execution has failed

Report

Indicates the report download state as follows:

  • Enabled: Indicates the report is available for download

  • Selected: Indicates the download icon is clicked

  • Disabled: Indicates the report is not available

Customize Table Columns

Arrange the table columns according to how you want to view them.

To display and arrange the columns:

  1. From the Table header, click Customize Columns icon at the end.

  2. Select which columns to display in the Customize Columns pop-up and drag and drop to reorder them.

  3. Click Apply.

    HC_ViewAllRunsCustomizeColumns.png

Apply Filters to Sort Run Results

You can apply the filter to the run results to easily access your desired view.

To apply filters:

  1. Click the Filter icon from the top right above the table header.

  2. Apply the following fields as you want to sort:

NameDescription
Policy NameEnter the name of the policy and choose the policy from the list
ProjectEnter the name of the project and choose the project from the list
Start TimeSelect from the dropdown list or customize as per the timelines using the calendar
StatusSelect the run status from the available list. To learn about statuses, refer to Archive Runs Table Fields and Status field.
OtherSelect the available options as applicable
  1. To remove applied filters, click Clear all.

    HC_ViewAllRunsFilters.png

Refresh Archive Runs

If you don't see the latest created runs in the list, you can refresh the runs to view them.

To refresh runs, click Refresh icon from the top right above the table header.

HC_ViewAllRunsRefresh.png
Stop All Smart Archiving Policy Runs

This topic outlines how to stop all smart archiving policy runs. You can perform this action from the policies tab and runs tab. As a Platform Admin, you can stop all currently running policies. Once a policy run is stopped, it cannot resume from its last point. You must restart the policy from the beginning to rerun it.

📘

Note

The option to stop all running policies is not available to Project Admins. The Stop All Runs option can be viewed in the global context only.

To stop all the smart archiving policy runs:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Policies tab, click Global Stop/Disable, and then click Stop All Runs.

    To verify that all runs have stopped, under the Policies tab, check the Last Run Status column to ensure that all runs have stopped.

    HC_ViewAllPoliciesStopAllRuns.png
Download and Review Smart Archiving Run Report

This section outlines how to download a smart archiving run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the archived packages.

📘

Note

The report is generated for both actual run and dry run.

To download the smart archiving run report:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Runs tab, under Runs, locate the run for which you want to download the report, and then click Download icon.

    HC_ViewAllRunsDownloadRunReport.png

    A zip file is downloaded including one .csv files.

    Possible Download icon statuses are as follows:

IconStateDescription
EnabledIndicates the report is available for download
HoverOn hovering the mouse pointer
SelectedIndicates the download icon is clicked
DisabledIndicates the report is not available
  1. Reveiw the downloaded report. To learn more, refer to Smart Archiving Run Report Overview.
Smart Archiving Run Report Overview

The downloaded CSV report provides a detailed summary of the archive process, including information on the policy used, the status of the run, and the packages processed.

Following are the fields available in Archive Report:

Field

Description

Run General Details

The general details of the archive run

archive run for <policy-name> <status>

The policy name and current status of the archive run.

isDryRun

Indicates whether the run was a dry run or an actual run.

  • True: Dry run (no changes made)
  • False: Actual run (changes applied)

Run Start Time

The timestamp when the archive process started

Duration

The total time taken for the archive process

Run Summary

The summary of the archive run

archive packages count

The total number of packages successfully archived

Total packages count

The total number of packages processed during the archive

Packages virtual size

The virtual size of all archived packages

Packages physical size

The actual physical size of all archived packages

Policy Configuration For This Run

Indicates the configuration details of the policy

Policy Key

The name of the archive policy used for this run

Description

A description of the archive policy

Cron Expression

The cron expression used to schedule the archive runs

Max Run Duration

The maximum duration allowed for the policy to run

Skip Trash Can

Indicates if the trash can was skipped during the archive

  • Enabled: Trash can is skipped
  • Disabled: Trash can is not skipped

Created By

The user who created the policy

Creation Time

The timestamp when the policy was created

Last Modified By

The user who last edited the policy

Last Modification Time

The timestamp when the policy was last edited

Projects

The project name associated with the policy

Included in Projects

The projects to which the policy is assigned

Package Types

Indicates which projects the Global policy applies to. It includes:

All: This option indicates that the policy is shared with all projects. This is selected when the Include All Projects checkbox is checked in the policy settings.

N/A: This option indicates that the policy is not applicable to any specific projects.

Included in Repositories

Excluded from Repositories

The repositories not affected by the policy

Include Package Name Pattern

The name pattern applied to select packages for archiving

Exclude Package Name

The name pattern applied to exclude packages from archiving

Age Condition (older than)

The age-based condition for selecting packages (e.g., older than a specified time)

Usage Condition (not downloaded since)

The condition for selecting packages based on usage (e.g., not downloaded since a certain date)

Version (keep last N)

The number of latest versions to retain; older versions are archived

Run Detailed Summary

Indicates the detailed archive run summary:

  • Package name: The name of the archived package

  • Version: The version of the archived package

    📘

    Note For Generic packages or any other package types without version information, the system uses the package creation time (epoch timestamp) as the version.

  • Size: The size of the package on the disk

  • Repository: The repository from which the package was archived

  • Repository Type: The type of the repository (For example, Local, Federated)

  • Status: The status of the archive operation (For example, Archived)

  • Status Message: A brief message indicating the result of the archive operation

  • Package path: The full path to the package location

  • Created date: The timestamp when the package was created

  • Modified date: The timestamp when the package was last edited

  • Last Downloaded date: The timestamp when the package was last downloaded

Search and Restore Archived Packages

This section outlines the actions you can perform on the global search bar from the Active Artifactory Instance. It includes searching and restoring archived packages.

Archive_Search_and_Restore.png

Task

Description

For UI, see...

For API, see...

Search Archived Packages

This topic outlines how to search archived packages. Perform a dedicated search for archived packages in the Active Artifactory Instance. The search results indicate the original repository of each package found.

Search Archived Packages

Search for Archived Packages

Restore Archived Packages

Restore is a non-destructive process, ensuring that none of the restored packages are deleted from the Archive Artifactory Instance.

📘

Note

Restore is a non-destructive process, ensuring that none of the restored packages are deleted from the Archive Artifactory Instance.

Restore Archived Packages

Restore Archived Packages API

Authorization

Activity

Platform Admin

Project Admin

Note: Available from Version 7.123

Application User

Search Archived Packages

Restore Archived Packages

Search Archived Packages

This topic outlines how to search archived packages. Perform a dedicated search for archived packages in the Active Artifactory Instance. The search results indicate the original repository of each package found.

Authorizations

Context

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

Global Context

Project Context

To search the archived packages:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. Click Archive from the Search dropdown list.

  3. Do one of the following:

    • Free-Text Search

      Enter thepkgType: as <your desired package>, and then click Search icon.

      HC_ArchiveBasicSearch.png

    • Advanced Search

      1. Click Filter icon at the right end of the Search field.

        The search dropdown window appears.

        In the search dropdown window, ensure that Packages is selected in the upper-right section of the window.

      2. Enter search criteria for archived packages, as described in the following table.

FieldDescription
Original RepositorySearch for packages based on the original repository name. Wildcard characters are supported.
Archiving TimeSearch for all packages archived within the specified time period.
Package Name PatternSearch for packages based on the name pattern. Wildcard characters are supported.
Package versionIf you want to search for a specific package version, enter the version number here. Wildcard characters are supported.
Package TypeSelect the package type that you want to search for.
  1. After entering the search criteria, click Search to display results.

    HC_ArchiveSearch2.png

Customize Table Columns

Arrange the table columns according to how you want to view them.

To display and arrange the columns:

  1. From the Table header, click Customize Columns icon at the end.

  2. Select which columns to display in the Customize Columns pop-up.

  3. Click Apply.

    HC_SearchCustomizeColumns.png
Restore Archived Packages

Restore is a non-destructive process, ensuring that none of the restored packages are deleted from the Archive Artifactory Instance.

📘

Note

Restore is a non-destructive process, ensuring that none of the restored packages are deleted from the Archive Artifactory Instance.

To restore the archived packages, follow these steps:

  1. Search Archived Packages
  2. From the list of Search Archived Packages results, do one of the following:

    The following table describes the criteria for Original Location and New Location.

Field

Description

Original Location

Restore to the original repository where the items were located before archiving.

Fallback Location

If the Original Location is selected, it is mandatory to provide a Fallback Location. If the Original Location no longer exists, the Fallback Location is used as the location for restoring packages.

📘

Note

  • Before providing the Fallback Location, ensure that the path already exists.
  • If you are restoring packages, we recommend assigning a Fallback Location that is the same package type as the restored package.

New Location

Restore to a new location

📘

Note

  • Before providing the New Location, ensure that the path already exists.
  • If you are restoring packages, JFrog recommends assigning a New Location that is the same package type as the restored package.
  • Single Package Restoration

    1. Locate the package you want to restore, and then click Restore icon.

    2. Select Original Location or New Location, enter the repository name, and then click Restore.

      HC_Restore1.png

  • Multiple Package Restoration

    1. Select the checkbox in line with the packages you want to restore, and then click Restore.

    2. Select Original Location or New Location, enter the repository name, and then click Restore.

      HC_Restore2.png

📘

Note

  • The restoration process duration depends on the number and size of the packages, ranging from a few minutes to several hours.
  • If an error occurs during the restoration, the process will fail, and the error details will be logged.
  • The default maximum number of artifacts that can be restored in a single run is 10,000.
📘

Note

If the number of artifacts (across selected packages) exceeds 10,000  limit, the restore process terminates (Restoration does not happen). The reason for termination will be logged. Carry out the restore operation again and make sure that the number of artifacts are less than the defined limit.

Manage Restore Runs

This section outlines the actions you can perform on the Restore Runs from the Active Artifactory Instance. It includes view, stop all runs and downloading run reports.

Task

Description

For UI, see...

For API, see...

View All Restore Runs

This topic outlines how to view the status of both past and ongoing restore runs. It provides guidance on how to review specific details, including the items that have been restored, the associated timestamps, the status of each restoration operation, customizing table columns, and applying filters to view the desired information.

View All Restore Runs

NA

Download and Review Restore Run Report

This topic outlines how to download a restore run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the restored packages.

Download and Review Restore Run ReportRestore Run Report Overview

NA

Authorization

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

View All Restore Runs

Download and Review Restore Run Report

View All Restore Runs

This topic outlines how to view the status of both past and ongoing restore runs. It provides guidance on how to review specific details, including the items that have been restored, the associated timestamps, the status of each restoration operation, customizing table columns, and applying filters to view the desired information.

To view restore runs:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. Click Restored tab.

    HC_ViewRestoreRuns.png

    The restored runs list is displayed.

Restore Table Fields

The following table describes the columns of the restore table fields.

Field

Description

Run ID

Indicates the number of the run id

Project

Indicates the name of the project

Start Time

Indicates the date and time when the restore operation started running

Restored Items (Physical Size)

The number of total restored items, and the total items (The restored size)

Status

Indicates the status of each restore execution, which can be one of the following:

Restore Run Status
  • Requested (Step 1/5): The restoration request is received and waiting for initialization.

  • Initialized (Step 2/5): Restoration Initialized and waiting for processing.

  • Processing (Step 3/5): Restoration is processing. Partially available in Active storage.

  • Processed (Step 4/5): Restored in Active storage. Accessible after it shows the Completed status.

  • Completed: The restore has been executed successfully, with no errors

  • Completed with Errors: The restore execution has been completed, but there were some errors. Please refer to the logs for details

  • Failed: The restore execution has failed

Report

Indicates the report download state as follows:

Possible Download States
  • Enabled: Indicates the report is available for download

  • Selected: Indicates the download icon is clicked

  • Disabled: Indicates the report is not available

Customize Table Columns

Arrange the table columns according to how you want to view them.

To display and arrange the columns:

  1. From the Table header, click Customize Columns icon at the end.

  2. Select which columns to display in the Customize Columns pop-up.

  3. Click Apply.

    HC_RestoreRunsCustomizeColumns.png

Apply Filters to Sort Run Results

You can apply the filter to the run results to easily access your desired view.

To apply filters:

  1. Click the Filter icon from the top right above the table header.

  2. Apply the following fields as you want to sort:

NameDescription
Run IDEnter run id
Start TimeSelect from the dropdown list or customize as per the timelines using the calendar
StatusSelect the run status from the available list. To learn more about statuses, refer to Restore Table Fields, Status field.
  1. To remove applied filters, click Clear all.

    HC_RestoreRunsFilters.png

Refresh Restore Runs

If you don't see the latest created runs in the list, you can refresh the runs to view them.

To refresh runs, click Refresh icon from the top right above the table header.

HC_RestoreRunsRefresh.png
Download and Review Restore Run Report

This topic outlines how to download a restore run report. The report is in CSV format and lists all archived packages with relevant information. You can review the list to learn about the restored packages.

To download the report:

  1. From the Administration module, select Artifactory > Retention Policies.

  2. In the Retention Policies page, click Archive.

  3. From the Restored tab, under Restored, locate the run for which you want to download the report, and then click Download Icon.

    HC_RestoreRunsDownloadRunReport.png

    A zip file is downloaded including one or more .csv files.

    Possible Download icon statuses are as follows:

IconStateDescription
EnabledIndicates the report is available for download
HoverOn hovering the mouse pointer
SelectedIndicates the download icon is clicked
DisabledIndicates the report is not available

Restore Run Report Overview

The downloaded CSV Restore Run Report provides a detailed summary of a package restoration process. It includes key information about the restoration status, runtime details, and the packages processed.

Field

Description

Run General Details

The general details of the restore run

Restore run <status>

The current status of the restore operation

Run Start Time

The timestamp when the restore process started

Duration

The total time taken for the restore process to complete

Run Summary

The summary of the restore run

Restored packages count

The total number of packages successfully restored

Total packages count

The total number of packages processed during the restore

Packages virtual size

The virtual size of all restored packages

Packages physical size

The actual physical size of all restored packages

Restoration Query For This Run

Indicates the query executed for this restore

Origin Projects

The source project names from which the packages were restored

Package Type

The types of packages selected for restoration

Fallback Destination Path

The original destination path used for restoring the packages

New Destination Path

The new destination path where the packages were restored

Restore to Original

Indicates whether the restoration was to the original repository from which the package was archived

Run Detailed Summary

Indicates the detailed restore run summary

  • Package name: The name of the restored package
  • Version: The version of the restored package
  • Lead Artifact Path: The path for the lead artifact (if applicable)
  • Size: The size of the package on the disk
  • Source Repository: The repository from which the package was archived
  • Source Repository Type: The type of the source repository (For example, Local, Federated)
  • Destination Repository: The repository to which the package was restored
  • Status: The status of the restoration (For example, Restored)
  • Status Message: A brief message indicating the result of the restore operation
  • Package path: The full path to the package location
  • Created date: The timestamp when the package was created
  • Modified date: The timestamp when the package was last edited

Monitor Smart Archiving and Restore

This section outlines monitoring archive storage, archive and restore runs.

TaskDescriptionFor UI, see...For API, see...
Monitor Smart Archiving Storage InfoThis topic outlines how to view Archive Storage Info and provides guidance on detailed insights into optimization after successful archival.Monitor Smart Archiving Storage InfoNA
Monitor Smart Archiving and Restore via UI and LogsThis topic outlines how to monitor archive and restore runs from the UI and their logs.Monitor Smart Archiving and Restore - via UI and LogsNA

Authorization

Activity

Platform Admin

Project Admin

Note: Applicable within the scope of your project context

Application User

Monitor Smart Archiving Storage Info

Note: This option is shown from the Global Context only.

Monitor Smart Archiving and Restore - via UI and Logs

Monitor Smart Archiving Storage Info

This topic outlines how to view Archive Storage Info and provides guidance on detailed insights into optimization after successful archival.

To view the Archive Storage info:

  1. From the Administration module, select Artifactory > Retention Policies.
📘

Note

The Archive Storage Info can be viewed in the global context only.

  1. In the Retention Policies page, click Archive.

  2. Click any of the following tabs, and then click Archive Storage Info link from the top right of the page.

    • Policies
    • Runs
    • Restored
  3. The Archive Storage info provides the following details:

    HC_ViewArchiveStorageInfo1.png

Field

Description

Archive Storage

Total archive size

For example, 750 GB

Optimization

Percentage of optimization (space saved) after archiving binaries and artifacts

For example:

  • Initial Storage - 1000 GB
  • Archived - 750 GB

Optimization = ((Initial Storage - Archive)/Initial Storage)) X 100 = 25%

Example:

Optimization = ((1000 - 750)/1000)) X 100 = 25%

The archiving process saved 25% of the original storage space.

Virtual

Total size on disk of artifacts without optimization.

For example, 200 artifacts, 1000 GB

Physical

Total size on disk of binaries with optimization.

For example, 50 binaries, 750 GB

Monitor Smart Archiving and Restore - via UI and Logs

This topic outlines how to monitor archive and restore runs from the UI and their logs.

To monitor archive and restore, in the Active Artifactory Instance:

  • From the platform UI

    After initiating an archive or restore operation, you can monitor its progress and view the status of archive and restore operations from the respective runs

  • From Artifactory Logs

📘

Note

Applies to Platform Admin only.

  1. From the Projects dropdown list, click All Projects.

  2. From the Administrator module, select Monitoring > Artifactory Logs.

    The Artifactory Logs page appears.

    HC_ArchiveLogs.png
  3. From the View System Logs dropdown list, select artifactory-service.log.

  4. View the logs.