infra/ansible
Graham McIntire 922552059f
prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter)
Provisions prom.w5isp.com (10.0.15.31) as the home-cluster monitoring host.
Prometheus 3.6.0 scrapes the Talos cluster API/nodes/cAdvisor via an external
SA token; Grafana ships with the Prometheus datasource pre-provisioned.

host_vars opens 9090/9093/9100/3000 to 10.0.0.0/16 plus SSH from the home LAN
so the firewall role doesn't lock out admin access.
2026-05-08 09:50:31 -05:00
..
.vscode add ansible 2025-05-30 13:24:38 -05:00
baseline/proxmox add ansible 2025-05-30 13:24:38 -05:00
collections add ansible 2025-05-30 13:24:38 -05:00
group_vars dns updates 2026-04-27 12:43:08 -05:00
host_vars prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
roles prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
scripts update 2026-01-30 17:27:52 -06:00
vars cleanup and reorg 2026-01-08 16:29:16 -06:00
.ansible-lint add ansible 2025-05-30 13:24:38 -05:00
.DS_Store add ansible 2025-05-30 13:24:38 -05:00
.gitignore cleanup and reorg 2026-01-08 16:29:16 -06:00
ansible-bootstrap.cfg ansible cleanup 2025-07-23 12:34:33 -05:00
ansible.cfg cleanup and reorg 2026-01-08 16:29:16 -06:00
bootstrap-hosts cleanup and reorg 2026-01-08 16:29:16 -06:00
bootstrap.sh add ansible 2025-05-30 13:24:38 -05:00
bootstrap.yml Refine bootstrap and consolidate base role management 2025-10-15 11:47:34 -05:00
CLAUDE.md updates 2025-10-14 14:35:33 -05:00
hosts prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
LICENSE.md add ansible 2025-05-30 13:24:38 -05:00
Makefile infra updates 2025-12-13 15:38:02 -06:00
netbox.yml update 2025-10-01 17:06:51 -05:00
notes.txt add ansible 2025-05-30 13:24:38 -05:00
playbook.yml prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
playbook_handlers.yml ansible cleanup 2025-07-23 12:34:33 -05:00
README.md ansible cleanup 2025-07-23 12:34:33 -05:00
regenerate-ssh-keys.yml update to reflect 380 prod 2026-03-10 10:05:17 -05:00
requirements.yml cleanup and reorg 2026-01-08 16:29:16 -06:00
run.sh add ansible 2025-05-30 13:24:38 -05:00
setup-host.sh add ansible 2025-05-30 13:24:38 -05:00
update_dns.sh updates 2026-02-17 08:26:29 -06:00

Ansible Infrastructure Management

This repository contains Ansible playbooks and roles for managing infrastructure across multiple environments.

Directory Structure

├── playbook.yml          # Main playbook for common configuration
├── general.yml           # General system setup playbook
├── bootstrap.yml         # Bootstrap playbook for new hosts
├── roles/               # Ansible roles
│   ├── base/           # Base configuration (users, SSH, system)
│   ├── general/        # General system configurations
│   ├── caddy/          # Caddy web server
│   ├── ns/             # Nameserver configuration
│   ├── resolvers/      # DNS resolver setup
│   └── ...             # Other roles
├── group_vars/         # Group-specific variables
├── host_vars/          # Host-specific variables
└── hosts               # Inventory file

## Quick Start

### Bootstrap a new host
```bash
# For hosts with existing user access
make bootstrap-init HOSTNAME=hostname ANSIBLE_HOST=ip_address

# For hosts with only root access
make bootstrap-init-root HOSTNAME=hostname ANSIBLE_HOST=ip_address

Run playbooks

# Run main playbook
./run.sh

# Run on specific host
ansible-playbook -l hostname playbook.yml

# Run with specific tags
ansible-playbook -t caddy playbook.yml

Inventory Groups

  • vntx_servers - VNTX network services
  • app_servers - Application servers
  • home_servers - Home network devices
  • tailscale_home - Devices using Tailscale VPN
  • caddy_servers - Servers running Caddy web server

Key Features

  • Automated user management with GitHub SSH key integration
  • Base package installation across all systems
  • Role-based configuration management
  • Support for multiple OS families (Debian, Ubuntu, AlmaLinux)
  • Tailscale VPN integration
  • Caddy web server with reverse proxy configuration