Run retention policies against Artifactory repositories
Project description
Lavatory
Tooling to define repository specific retention policies in Artifactory. Allows highly customizable retention policies via Python plugins.
See Lavatory Documentation for the full docs.
Requirements
Python 3.5+
Artifactory user with API permissions
Authentication
This tool looks for 3 enviroment variables in order to authenticate:
ARTIFACTORY_URL - Base URL to use for Artifactory connections
ARTIFACTORY_USERNAME - Username to Artifactory
ARTIFACTORY_PASSWORD - Password for Artifactory
These will be loaded in at the beginning of a run and raise an exception if missing.
Installing
From pypi:
pip install lavatory
Or install directly from the code:
git clone https://github.com/gogoair/lavatory cd lavatory pip install -U .
Running
$ lavatory --help Usage: lavatory [OPTIONS] COMMAND [ARGS]... Lavatory is a tool for managing Artifactory Retention Policies. Options: -v, --verbose Increases logging level. --help Show this message and exit. Commands: purge Deletes artifacts based on retention policies. stats Get statistics of a repo. version Print version information.
Purging Artifacts
lavatory purge --policies-path=/path/to/policies
$ lavatory purge --help Usage: lavatory purge [OPTIONS] Deletes artifacts based on retention policies. Options: --policies-path TEXT Path to extra policies directory. --dryrun / --nodryrun Dryrun does not delete any artifacts. [default: True] --default / --no-default Applies default retention policy. [default: True] --repo TEXT Name of specific repository to run against. Can use --repo multiple times. If not provided, uses all repos. --repo-type [local|virtual|cache|any] The types of repositories to search for. [default: local] --help Show this message and exit.
If you want to run Lavatory against a specific repository, you can use --repo <repo_name>. You can specify --repo as multiple times to run against multiple repos. If --repo is not provided, Lavatory will run against all repos in Artifactory.
Getting Statistics
lavatory stats --repo test-local
$ lavatory stats --help Usage: lavatory stats [OPTIONS] Get statistics of a repo. Options: --repo TEXT Name of specific repository to run against. Can use --repo multiple times. If not provided, uses all repos. --help Show this message and exit.
Policies
See the Creating Retention Policies docs for more details on how to create and use retention policies with Lavatory.
Listing Policies
Lavatory looks at a policy functions docstring in order to get a description. You can list all repos and a description of the policy that would apply to them with the lavatory policies command.
$ lavatory policies --help Usage: lavatory policies [OPTIONS] Prints out a JSON list of all repos and policy descriptions. Options: --policies-path TEXT Path to extra policies directory. --repo TEXT Name of specific repository to run against. Can use --repo multiple times. If not provided, uses all repos. --repo-type [local|virtual|cache|any] The types of repositories to search for. [default: local] --help Show this message and exit.
Testing
pip install -r requirements-dev.txt tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file lavatory-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: lavatory-1.2.2-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b5b462a73ffb8e80ed0bc7d44584f77b5cc556afed13950b9a2605b1ab3740e |
|
MD5 | 2d0ea632107f08768b7a8a2e076a6e39 |
|
BLAKE2b-256 | face8b0b091bffd4effab075b102f83313b39465f09b55cf287b00c85f0dd9b7 |