This topic outlines the supported packages with cleanup. 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) |
---|---|---|---|---|---|
Docker | 7.98.2 | manifest.json | |||
Maven | .pom | ||||
npm | .tgz | ||||
Gradle | .pom | ||||
Generic | - | ||||
RPM | YUM | .rpm | ||||
Conan | conanfile.py | ||||
NuGet | .nupkg | ||||
PyPI | tar.gz, tgz, gz, whl, egg, bz2 | ||||
Helm | .tgz | ||||
Go | .mod | ||||
Debian | .deb, .ddeb | ||||
Gems | 7.96.3 | .gem | |||
HuggingFaceML | 7.100.0 | .jfrog_huggingface_model_info.json, .jfrog_huggingface_dataset_info | |||
CocoaPods | 7.99.1 | .tar.gz, .tgz | |||
Terraform | .zip | ||||
Terraform BE | 7.103.0 | .json | |||
Machine Learning | 7.104.2 | model-manifest.json | |||
Ansible | tar.gz | ||||
Cargo (Rust) | 7.102.0 | .crate | |||
OCI | manifest.json | ||||
Helm OCI | |||||
Conda | 7.105.2 | tar.bz2 |
Note
Some package types include multiple artifacts the package-level cleanup mechanism relies on the lead artifact statistics.
Docker Cleanup Method
Docker images support the ability to tag the same image multiple times, and utilize list.manifests
to manage multi-architecture images. Each list.manifest
can refer to multiple manifests, with each manifest representing a specific architecture or operating system.
Therefore, if applied to Docker images, version-based cleanup policies can disrupt builds by detaching the relationships between tags and breaking the links between list.manifests
and their respective manifests. Consequently, this could lead to partial or corrupted image deletions, ultimately impacting the reliability and consistency of Docker repositories.
Cleanup Policies exclusively use time-based conditions for Docker packages to mitigate these risks. This approach ensures that only images and tags not used within a specified period are deleted, thereby preserving the integrity of tag relationships and multi-architecture references. This maintains a stable and predictable environment for Docker image management within Artifactory.
Also, JFrog recommends using the Packages Not Downloaded Since condition with Docker packages to ensure that packages currently in use are not deleted.