Package: lavatory
LavatoryTooling to define repository specific retention policies in Artifactory.
Allows highly customizable retention policies via Python plugins.SeeLavatory Documentationfor the full docs.RequirementsPython 3.5+Artifactory user with API permissionsAuthenticationThis tool looks for 3 enviroment variables in order to authenticate:ARTIFACTORY_URL- Base URL to use for Artifactory connectionsARTIFACTORY_USERNAME- Username to ArtifactoryARTIFACTORY_PASSWORD- Password for ArtifactoryThese will be loaded in at the beginning of a run and raise an exception
if missing.InstallingFrom pypi:pip install lavatoryOr 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 Artifactslavatory 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--repoas multiple times to run against multiple repos. If--repois not
provided, Lavatory will run against all repos in Artifactory.Getting Statisticslavatory stats--repotest-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.PoliciesSee theCreating Retention Policiesdocs for more details on how
to create and use retention policies with Lavatory.Listing PoliciesLavatory 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 thelavatory policiescommand.$ 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.Testingpip install -r requirements-dev.txt
tox