/jwr-soe-ansible

Common roles for my environments.

Primary LanguageShellGNU General Public License v3.0GPL-3.0

jamesread.soe Ansible Collection (jwr-soe-ansible)

An Ansible collection of roles for James Read's (JWR) Standard Operating Environment (SOE).

This is published on Ansible Galaxy as jamesread.soe.

Roles

infra layer

  • Nothing here yet

machine layer

workload layer

misc layer

  • jamesread.soe.common - Common/baseline config. Prometheus node exporter, sshd, SMART, etc.
  • jamesread.soe.libvirt_vm - Creates a libvirtvm.

Usage

Install the collection like this

ansible-galaxy collection install jamesread.soe

Create a playbook like this

#!/usr/bin/env ansible-playbook

- hosts: 
    - all
  roles: 
    - name: jamesread.soe.common
      myVar: foobar

Principles

  • Separation of data (mostly config files) and reusable code (roles).
  • Separation of layers (ie, containers should not depend on an OS thing)

Layers

  1. Infra: (nothing here yet)
  2. OS Configuration (Physical/Virtual machine) - machine_
  3. OS Apps: systemd_service_*
  4. OS Containers: podman_*

Notes

No site.yml. I started off with this, but honestly have no idea where it's supposed to fit if you're trying to promote role re-use and separation of data/code.