A style guide for Ansible use in EGI
see egi-federation.github.io/ansible-style-guide
This repository contains style guide for EGI’s use of Ansible. It will
See the
quickstart if
you’re just super keen 😍.
See EGI’s roles on Galaxy. You can
find guides on:
EGI is responsible for several
internal services either directly, or
through collaboration with partners. Ansible roles are a simple, powerful way to
express the desired state and composition of these services. As with many
languages and tools, a certain amount of leeway is possible when it comes to the
style of implementation. When working on roles, it’s a good idea to have common
nomenclature, follow common styles and adopt common practice regarding
documentation, community engagement, maintenance, support, etc. With this
repository, we express the consensus view of the
EGI Operations team
about how Ansible roles should be developed. It’s raisons d’etre are:
Improve peer review: discuss issues of style out-of-band so that when it
comes to peer review of pull requests, there is an unambiguous reference. This
will help speed up peer review, and make it more attractive for
repository maintainers to actually conduct such peer review. Further it will
encourage contributors, providing better transparency in the process, and
allowing discussion around the style guide itself.
Improve reliability, test coverage: Ansible roles can and should be
tested according to common profiles. Infrastructure tests can be expressed
in plain language, easy to read, and easy to audit. Test coverage and profiles
can be harmonised across roles so that they can be applied modularly with
confidence.
Promote re-use: Roles can only be re-used if they are reliable and deliver
what they claim to. If, through the points above, we can improve the re-use of
these roles, we can avoid dispersion of effort and even better, start to give
proper recognition to the authors and peer reviewers of roles.
All in all, we have a more robust infrastructure, less toil and better
collaboration.
As a community of practice, we welcome contributions which work smoother and
help us be more inclusive. If you see something you think needs to change, or is
missing, please open a pull request. If you could read the
Contributor’s Guide first, that might help.
If you have feedback or would like to engage on issues related to this, start a
discussion on the EGI Community Forum
EGI believes in a healthy community and welcomes diverse points of view.
Contributors to and users of this repository are asked to refer to the
Code of Conduct regarding any conflicts or events
of abuse which may arise. The maintainers undertake to abide by the Code of
Conduct in their dealings with each other and the community.