pyaptly

Aptly mirror/snapshot managment automation.


Keywords
aptly mirror snapshot automation, aptly, automation, cli, python, yml
License
Other
Install
pip install pyaptly==1.2.0

Documentation

Pyaptly

Automates the creation and managment of aptly mirrors and snapshots based on yml input files.

travis coverage [1]

Read the Docs

[1] Coverage enforced by tests (on travis)

Example commands

Initialize a new Aptly server.

pyaptly -c mirrors.yml mirror create
pyaptly -c mirrors.yml mirror update
pyaptly -c mirrors.yml snapshot create
pyaptly -c mirrors.yml publish create

Update mirrors and snapshots and switch publish endpoints with automatic-update: true to the new snapshots.

pyaptly -c mirrors.yml mirror update
pyaptly -c mirrors.yml snapshot create
pyaptly -c mirrors.yml publish create
pyaptly -c mirrors.yml publish update

Manually trigger a switch to the new snapshots for the publish endpoint ubuntu/stable.

pyaptly -c mirrors.yml publish update ubuntu/stable

Testing

Autoamtic

git submodule update --init --recursive
make test-local

Manual. There is a safity check in tests. They won't work if you don't set $HOME.

git submodule update --init --recursive
source testenv
py.test -x

or

git submodule update --init --recursive
export HOME="$(pwd)"
export PATH="$HOME/aptly_0.9.6_linux_amd64/:$PATH"
py.test -x

Vagrant Box

The box provisions aptly, nginx and two repos which can be used for tests:

aptly mirror create mirro-fakerepo01 http://localhost/fakerepo01 main
aptly mirror create mirro-fakerepo02 http://localhost/fakerepo02 main