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 | NoteSupported 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 | NoteSupported from V 7.115.1 | |||
Helm OCI | manifest.json | NoteSupported 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.manifestseparately, 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.