This brief article introduces Aquayman, a quay manager that helps manage the Github accounts of your organization by changing a single YAML file.
Join the DZone community and get the full member experience.Join For Free
At Loodse, we’re using Quay.io to host our various Docker repositories. Over the last few years, cruft accumulated and we noticed that keeping team memberships up-to-date as employees and customers change became a hassle.
For Github we already make use of Peribolos, a wonderful tool to manage your Github organization declaratively. For quay we unfortunately did not find an equivalent solution, so we made our own.
Say hello to Aquayman (short for “A Quay Manager”). It allows you to manage teams, memberships, and robot accounts for your organization by just editing a single YAML file.
To get started, it’s best to download the latest release and export your current configuration (not just as a starting point, but also as a backup):
mytestorg.yaml will now be updated and look something like this:
(The Aquayman repository contains a documented example configuration.)
If you start with an existing, messy organization, your next step will probably be to clean up your configuration a bit. Once you are satisfied, you can apply the configuration:
Aquayman shows you a diff-style output, hinting at the actions it would perform. If you are once again happy, you can run it again with the
Congratulations, time to grab a coffee!
At Loodse we manage our configuration in Github, so we get a nice review-workflow whenever permissions need to change, have an audit trail, and can restrict the permissions to manage our organization even further. The less human intervention needed, the better.
Opinions expressed by DZone contributors are their own.