Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 4.32 KB

README.md

File metadata and controls

74 lines (49 loc) · 4.32 KB

Coven913 Ansible Role Template

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.

Usage

Creating a new ansible role repository from this template:

Use as repository template

To use this repository to create an ansible role repository on github, you can simply create a new github repository from this template repository.

Manual cloning

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/

Cleanup

After cloning the repository, you should at the very least complete the following cleanup operations:

  1. Remove the following files:
    • ./CHANGELOG.md
    • ./README.md
  2. Rename role_README.md to ./README.md
  3. Remove all cursive text in ./README.md or replace it with actual content.
  4. Remove all not commented lines in ./CODEOWNERS
  5. change the version in ./.release-please-manifest.json to 0.0.0

Additionally, remove all files not required in your role.

versioning

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:

  1. remove ./CHANGELOG.md
  2. change the version in ./.release-please-manifest.json to 0.0.0

Contributing

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.

Getting help

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.

License

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

Authours

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.