Smart Archiving Supported Packages

JFrog Platform Administration Documentation

Content Type
Administration / Platform

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

Package Type

Supported Release Version

Lead Artifact

Age (Packages Older Than)

Usage (Packages Not Downloaded Since)

Version (Number of Latest Versions to Keep)

Alpine

7.111.1

.tar.gz, .apk

Docker

manifest.json

Note

Supported from V 7.115.1

Maven

.pom

Ansible

tar.gz

npm

.tgz

Gradle

.pom

Generic

-

RPM

.rpm

Conan

conanfile.py

NuGet

.nupkg

PyPI

tar.gz, tgz, gz, whl, egg, bz2

Helm

.tgz

Go

.mod

Debian

.deb, .ddeb

Gems

.gem

Cargo

.crate

HuggingFaceML

.jfrog_huggingface_model_info.json, .jfrog_huggingface_dataset_info

Machine Learning

model-manifest.json

CocoaPods

.tar.gz, .tgz

Terraform

.zip

Terraform BE

.json

OCI

manifest.json

Note

Supported from V 7.115.1

Helm OCI

manifest.json

Note

Supported from V 7.115.1

Conda

tar.bz2

Hex

SBT

.pom, .xml

Vagrant

Swift

7.114.1

Composer

7.116

Note

Some package types include multiple artifacts the package-level archive mechanism relies on the lead artifact statistics.

Note

Because some of the package types include multiple artifacts the package-level archive mechanism relies on the lead artifact statistics. The following are the lead artifacts per package type:

  • Docker: manifest.json, list.manifest.json

  • Maven/Gradle: .pom

  • Conan: conanfile.py

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 condition for Docker. 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 condition treat each manifest and list.manifest separately, without considering their hierarchical structure. Each one is evaluated independently based on its status.

    Note

    • Tag Retention LogicUse Tag Retention: 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.Use Max Unique Tags

      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.