ericsysmin / ansible-collection-system

Collection of Roles for managing Ubuntu/Debian/CentOS systems
MIT License
33 stars 22 forks source link

Ansible Collection - ericsysmin.system

Ansible collection that holds roles, that can be used to configure common system services.

Roles

Role Build Status Documentation
chrony Role: ericsysmin.system.chrony Documentation
epel Role: ericsysmin.system.epel Documentation
logrotate Role: ericsysmin.system.logrotate Documentation
ntp Role: ericsysmin.system.ntp Documentation
remi_repo Role: ericsysmin.system.remi_repo Documentation
selinux Role: ericsysmin.system.selinux Documentation

Usage

You can find specific to each role within the "Documentation" link for each role. However, most should be in this format.

---
- hosts: localhost
  connection: local
  tasks:
    - name: Include role
      include_role:
        name: ericsysmin.system.<role_name>
      vars:
        var1: value1
        var2: value2

Testing

Testing is done through GitHub Actions, and can be tested locally as well. GitHub Actions can be located here. Each workflow pertains to a single role, and can be launched locally using the following command:

MOLECULE_COMMAND={{ matrix.molecule_distro.command }} \
MOLECULE_DISTRO={{ matrix.molecule_distro.distro }} \
molecule --debug test -s {{ matrix.collection_role }}

To decide on the MOLECULE_COMMAND value please refer to the .github/workflow/{{ collection_role }}.yml file as it will have the value for proper systemd services.