Skip to content

labrats-work/modules-ansible

Repository files navigation

labrats_work.modules_ansible

Ansible collection with reusable roles for infrastructure automation.

Purpose

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.

Requirements

  • Ansible >= 2.14.0

Quick Start

Installation

# requirements.yml
collections:
  - name: https://github.com/labrats-work/modules-ansible.git
    type: git
    version: 1.0.78
ansible-galaxy collection install -r requirements.yml

Usage

- hosts: kubernetes_nodes
  tasks:
    - name: Install Kubernetes prerequisites
      ansible.builtin.import_role:
        name: labrats_work.modules_ansible.kubernetes_node
      vars:
        kubernetesVersion: "1.35.0"

Included Roles

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

Structure

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

Documentation

License

GPL-3.0-or-later

About

Awesome repository of plays and roles shared by other projects.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages