Home

Awesome

agru

<!-- vim-markdown-toc GFM --> <!-- vim-markdown-toc -->

What?

ansible-galaxy requirements updater is fast ansible-galaxy replacement with the following features:

Why?

We at etke.cc developing and maintainining a lot of Ansible roles and playbooks (MDAD, MASH, etke.cc). And we developed A.G.R.U., because ansible-galaxy is slow, very slow. And irrational. And it misses some functions.

While initially it was for maintainers needs, we made it useful for everyone. All our playbooks have a nice just update command (for maintainers: just update -u), which updates the playbook itself and installs all the roles. And it's fast.

How?

Usage of agru:
  -c	cleanup temporary files (default true)
  -d string
    	delete installed role, all other flags are ignored
  -i	install missing roles (default true)
  -l	list installed roles
  -p string
    	path to install roles (default "roles/galaxy/")
  -r string
    	ansible-galaxy requirements file (default "requirements.yml")
  -u	update requirements file if newer versions are available
  -v	verbose output

list installed roles

$ agru -l

install role from the requirements file

$ agru

update requirements file if newer versions are available

$ agru -u

remove already installed role

$ agru -d traefik

What's the catch?

Do you think A.G.R.U. is too good to be true? Well, it's true, but it has limitations:

only git repos are supported

does not work:

- src: geerlingguy.docker
  version: 6.1.0

does work:

- src: git+https://github.com/geerlingguy/ansible-role-docker
  name: geerlingguy.docker
  version: 6.1.0

only roles are supported

No collections at this moment, at all.

only list/update/install/remove operations are supported

Ansible Galaxy API is not used at all, thus no API-related actions are supported

Where to get?

Binaries and distro-specific packages

Releases page and Arch Linux AUR

Build yourself

just build or go build .

Who uses it?

If you use A.G.R.U. in your project, please let us know by creating an issue or PR with your project link.