Skip to content

Ansible collection for general purpose plugins, roles and playbooks.

License

Notifications You must be signed in to change notification settings

whiletruedoio/whiletruedoio.general

Cirrus CI - Base Branch Build Status CodeFactor GitHub release (latest SemVer) GitHub issues GitHub pull requests GitHub license

Ansible - whiletruedoio.general

Ansible collection for general purpose plugins, roles and playbooks.

Disclaimer

This collection is under heavy development and there is no release available, yet. Things that work today, may not work tomorrow. This disclaimer will be removed as soon as there is the initial release, according to the TODO and CHANGELOG.

Motivation

At while-true-do.io, we faced the situation, that we wanted to automate our setups. In the past, this was done with many different repositories (one per role / setup plugin). With Ansible collections, it is possible to bundle these properly and in a convenient way.

Description

This collection takes care of general purpose plugins, roles and playbooks as described below. A role is considered "general purpose" as long as it does not fit properly in another collection.

Plugins

None.

Roles

All of the roles are providing argument specifications and additional (optional) checks to improve handling and usability. Some roles also improve security by applying common security patterns from OpenSCAP. The following roles are bundled with this collection.

Playbooks

The following playbooks are bundled with this collection and provide examples for role usage or templates for further improvements.

Usage

We are really happy, that you consider using our software. In case you want to install and run the code on your machine, please check out this section.

Requirements

The provided playbooks, plugins and roles require Ansible-Core 2.12 on the control node.

The provided playbooks, plugins and roles support the following Operating System on the target nodes:

  • Fedora Linux 35+
  • CentOS Stream 8+
  • AlmaLinux 8+
  • RockyLinux 8+

Install

Installing an Ansible collection can be done in multiple ways.

Via Ansible Galaxy

This is the most common way for users and will install the collection in the proper directories. It will also install the required dependency colections.

# Install
$ ansible-galaxy collection install whiletruedoio.general

# Update
$ ansible-galaxy collection install whiletruedoio.general --upgrade

# Remove
$ ansible-galaxy collection install whiletruedoio.general

Via Git Repository

For development purposes, you can also clone the repository and copy it to your desired location. Be aware, that you need to install dependencies on your own.

# Clone
$ git clone https://github.com/whiletruedoio/whiletruedoio.general.git

# Update
$ cd /path/to/repository
$ git pull

Documentation

TBD

Contribute

Thank you so much for considering to contribute! We are happy, when someone is joining the hard work.

Issues

Issues and Pull Requests are handled on a regular basis. Please be aware, that we may reach out to you, ask you to provide additional resources or want to discuss the issue a little, before planning it.

Develop

Providing code to this repository is pretty straight forward. Open an issue, so we can discuss the bug/feature and start working on it afterwards. You just need to open the pull request afterwards and that's it.

It is also strongly recommended to read the Contribution Guideline beforehand.

Changelog

We are maintaining a changelog for repositories. Normally, the developers will update the changelog, according to keepachangelog.com.

Test

To ensure a high quality and functionality, we want to carefully test our software. The provided code is automatically tested as described in the .cirrus.yml.

Each plugin, role and playbook provides tests, located in tests/. The below example demonstrates, how you can use them.

# Run linting test in Docker/Podman
$ ansible-test sanity --lint --docker

# Run only yamllint in Docker/Podman
$ ansible-test sanity --test yamllint --docker

# Run integration tests in Docker/Podman
$ ansible-test integration --docker fedora34

# Run a specific integration test in Docker/Podman
$ ansible-test integration --docker fedora34 role_myrole

Please also check the documentation for ansible-test.

License

Except otherwise noted, all work is licensed under a BSD-3-Clause License.

Contact

Please feel free to reach out to us and the community. We also recommend to read and understand the Code of Conduct beforehand.

About

Ansible collection for general purpose plugins, roles and playbooks.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published