This repository provides an opinionated template for ansible roles.
It is mainly intended to be used as a template repository for ansible role repositories, and includes a skeleton file structure, example files, CI/CD workflows for version/release management and configuration files for git.
This repository tries to adhere to RedHat conventions for ansible, and expands on them occasionally. It is heavily opinionated and tailored to the way we do things at Coven913. This is in no way perfect, and it doesn't intend to be. The purpose of open sourcing this internal template is simply to share what has worked for us, not to dictate how others should do their work.
To use this repository to create an ansible role repository on github, you can simply create a new github repository from this template repository.
If you want to create your repository locally or on another Git server, you can either fork this repository to your git server and set it up as a repository template there, or clone it, and copy the contents to your project directory. In the latter case, make sure to not copy the contents of ./.git/
After cloning the repository, you should at the very least complete the following cleanup operations:
- Remove the following files:
./CHANGELOG.md
./README.md
- Rename
role_README.md
to./README.md
- Remove all cursive text in
./README.md
or replace it with actual content. - Remove all not commented lines in
./CODEOWNERS
- change the version in
./.release-please-manifest.json
to0.0.0
Additionally, remove all files not required in your role.
This repository includes a release-please configuration that versions an ansible role repository as per internal versioning conventions (documentation will follow).
Since this repository is also versioned using this configuration, please make the following changes after creating a new repository based on this template to ensure versioning works properly:
- remove
./CHANGELOG.md
- change the version in
./.release-please-manifest.json
to0.0.0
We are generally open for contributions, but we aim to update this repository as infrequently as possible in order for all repositories created based on it to remain as uniform as possible.
Furthermore, this is an opinionated project which is largely optimized for internal use at Coven913. Therefore, suggetions that don't fix errors, add useful new features or implement upstream updates will likely be rejected.
If you have a problem or suggestion, please open an issue in this repository, and we will do our best to help. However, we are under no obligation to respond to support requests and or provide support. Support is merely provided at will. Please note that this project adheres to the Contributor Covenant Code of Conduct.
This project is licensed under the AGPL 3.0 License
The AGPL license grant is not for GitHub's trademarks, which include the logo designs. GitHub reserves all trademark and copyright rights in and to all GitHub trademarks.
GitHub® and its stylized versions and the Invertocat mark are GitHub's Trademarks or registered Trademarks. When using GitHub's logos, be sure to follow the GitHub logo guidelines
This project was designed and authored by Valentina Mellar for Coven913 see https://github.com/coven913/template.ansible-role/graphs/contributors for a complete list of people who've contributed.