No description
Find a file
2024-05-30 12:50:47 +03:00
vendor update deps 2023-12-05 18:53:23 +02:00
.gitignore ci, license, goreleaser, etc 2023-03-25 15:07:44 +02:00
.gitlab-ci.yml add Where to get? in readme, adjust ci 2023-03-25 15:27:38 +02:00
.golangci.yml update logging; update aux files 2024-05-30 12:50:47 +03:00
.goreleaser.yaml update logging; update aux files 2024-05-30 12:50:47 +03:00
entries.go update logging; update aux files 2024-05-30 12:50:47 +03:00
go.mod update logging; update aux files 2024-05-30 12:50:47 +03:00
go.sum init 2023-03-16 22:50:02 +02:00
justfile update logging; update aux files 2024-05-30 12:50:47 +03:00
LICENSE.md move project repo 2023-10-13 23:34:01 +03:00
main.go update logging; update aux files 2024-05-30 12:50:47 +03:00
README.md move project repo 2023-10-13 23:34:01 +03:00
requirements.go update logging; update aux files 2024-05-30 12:50:47 +03:00
roles.go update logging; update aux files 2024-05-30 12:50:47 +03:00

agru

What?

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

  • update requirements.yml file if a newer git tag (role version) is available
  • update installed roles only when new version is present in requirements file
  • install missing roles
  • full backwards-compatibility with ansible-galaxy, yes, even the odd trailing space in the galaxy-installed roles' meta/.galaxy_install_info is present

Why?

Because ansible-galaxy is slow, very slow. And irrational. And miss some functions.

  • You updated some role's version in requirements file? Sorry, ansible-galaxy install -r requirements.yml -p roles/galaxy/ can't install it, you have to use --force or remove the dir manually. A.G.R.U. does that automatically
  • You have 100500 roles in your requirements file and you have to manually check each of them if a newer tag is available? A.G.R.U. does that automatically
  • Roles installation takes ages with ansible-galaxy? A.G.R.U. needs a fraction of that time to install everything

How?

Usage of agru:
  -c	cleanup temporary files (default true)
  -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

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 update/install operations are supported

No list, no role upload to galaxy, no role removal from galaxy. In fact, 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 .