Automates the creation and managment of aptly mirrors and snapshots based on yml input files.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.aptly-bin
debian
doc
pyaptly
pyproject @ 8471700
vagrant
.editorconfig
.flake8
.gitignore
.gitlab-ci.yml
.gitmodules
.requirements.txt
.travis.yml
CHANGELOG
CHANGELOG.rst
HOW_TO_RELEASE.rst
LICENSE
Makefile
README.rst
TODO
Vagrantfile
setup.py
testenv

README.rst

Pyaptly

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

pypi 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

Install Debian/Ubuntu

Sources:

deb http://aptly.adfinis-sygroup.ch/adsy-public/debian wheezy main

deb http://aptly.adfinis-sygroup.ch/adsy-public/debian jessie main

deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu trusty main

deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu vivid main

deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu xenial main

Install:

wget -O - http://aptly.adfinis-sygroup.ch/aptly.asc | apt-key add -
apt-get update
apt-get install python-pyaptly

Testing

Automatic

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

Manual. There is a safety 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