Ansible collection with reusable roles for infrastructure automation.
This collection provides standardized, tested Ansible roles for provisioning and configuring infrastructure across the labrats-work organization. It covers container runtimes, Kubernetes bootstrapping, KVM/LVM setup, monitoring, and load balancing.
Note: Several Kubernetes-specific roles have been deprecated and moved to labrats.work.hetzner.cluster for faster iteration without the collection release overhead. See the roles table below for details.
- Ansible >= 2.14.0
# requirements.yml
collections:
- name: https://github.com/labrats-work/modules-ansible.git
type: git
version: 1.0.78ansible-galaxy collection install -r requirements.yml- hosts: kubernetes_nodes
tasks:
- name: Install Kubernetes prerequisites
ansible.builtin.import_role:
name: labrats_work.modules_ansible.kubernetes_node
vars:
kubernetesVersion: "1.35.0"| Role | Description | Status |
|---|---|---|
calico_init |
Calico CNI setup via Tigera operator | Deprecated -- moved to labrats.work.hetzner.cluster |
containerd |
Container runtime installation | Active |
docker |
Docker installation and configuration | Active |
docker_grafana |
Grafana container deployment | Active |
docker_prometheus |
Prometheus container deployment | Active |
fluxcd |
FluxCD GitOps installation | Active |
helm |
Helm package manager installation | Active |
kubernetes_init |
Kubernetes cluster initialization with kubeadm | Deprecated -- moved to labrats.work.hetzner.cluster |
kubernetes_node |
Kubernetes node prerequisites (kubelet, kubeadm, kubectl) | Deprecated -- moved to labrats.work.hetzner.cluster |
kvm_setup |
KVM hypervisor setup | Active |
lvm_setup |
LVM storage configuration | Active |
open_isci |
iSCSI initiator setup | Active |
systemd_haproxy |
HAProxy load balancer | Active |
systemd_node_exporter |
Prometheus node exporter | Active |
systemd_prometheus |
Prometheus server | Active |
modules-ansible/
├── roles/ # Reusable Ansible roles
│ ├── calico_init/ # (Deprecated)
│ ├── containerd/
│ ├── docker/
│ ├── docker_grafana/
│ ├── docker_prometheus/
│ ├── fluxcd/
│ ├── helm/
│ ├── kubernetes_init/ # (Deprecated)
│ ├── kubernetes_node/ # (Deprecated)
│ ├── kvm_setup/
│ ├── lvm_setup/
│ ├── open_isci/
│ ├── systemd_haproxy/
│ ├── systemd_node_exporter/
│ └── systemd_prometheus/
├── playbooks/ # Sample playbooks
├── meta/ # Collection metadata
├── docs/ # Documentation
│ └── adr/ # Architecture Decision Records
├── galaxy.yml # Ansible Galaxy metadata
├── ansible.cfg # Ansible configuration
├── CHANGELOG.md # Version history and changes
├── RELEASING.md # Versioning and release policy
├── CODE_OF_CONDUCT.md # Community guidelines
└── README.md
- CHANGELOG.md - Version history and changes
- RELEASING.md - Versioning and release policy
- CODE_OF_CONDUCT.md - Community guidelines
GPL-3.0-or-later