Alternate implementation of the ansible-galaxy tool for installing Ansible roles.
Consider this software alpha quality. This project was created as a temporary
workaround rather than a permanent solution. The long term intention is to
contribute improvements to the ansible-galaxy
tool to resolve the issues
there.
On projects with many roles ansible-galaxy
sufferers from intermittent HTTP
failures when installing them. This project implements a limited subset of the
ansible-galaxy
features to allow you to install roles more reliably.
If you've seen the following error you may find this project useful:
ERROR! Unexpected Exception: [Errno 104] Connection reset by peer
-
Implements
ansible-galaxy install
command only. -
Supports looking up the latest role version from Ansible Galaxy.
-
Supports role dependencies (remote dependencies only)
-
Efficient HTTP implementation, reuses HTTP connections.
-
Fast, roles are installed in parallel making this implementation much faster.
- For example a
requirements.yaml
with 30 roles took 2:32 mins to install withansible-galaxy
and only 2.75 secs! withalt-galaxy
.
- For example a
-
Only supports installing roles from a role file.
- Directly installing individual tar files is not supported.
-
Only supports installing
tar.gz
packages.- Use of
git
orhg
is not supported.
- Use of
-
Standalone, the application is written in Go and statically linked, so it has no dependencies other than the operating system.
Run the following to install on Linux (change the version and architecture as appropriate):
version=<version>
arch=<386 or amd64>
curl --location https://github.com/gantsign/alt-galaxy/releases/download/${version}/alt-galaxy_linux_${arch}.tar.xz \
| sudo tar --extract --xz --directory=/usr/local/bin
Download the appropriate archive from the releases page and untar/un7zip as appropriate.
WARNING: this will delete and replace your existing roles under the role path directory.
alt-galaxy install \
--role-file=/vagrant/provisioning/requirements.yml \
--roles-path=/etc/ansible/roles \
--force
This software is licensed under the terms in the file named "LICENSE" in the root directory of this project.
John Freeman
GantSign Ltd. Company No. 06109112 (registered in England)