Skip to main content

Documentation Index

Fetch the complete documentation index at: https://jacobpevans-docs-automation-surface.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Terraform made the box. This makes it Proxmox.
ansible-proxmox is the middle tier of the Proxmox stack. It owns everything that needs to be true about a Proxmox host before any workload runs on it: ZFS, networking, swap and CPU tuning, users, hardening, monitoring agents.

What it does

  • Provisions ZFS pools and datasets with sensible defaults for VM and LXC storage
  • Sets up network bonding and bridges to match the homelab topology
  • Applies performance tuning (CPU governor, swap, sysctl) for VM density
  • Installs and configures monitoring agents that feed Splunk via Cribl
  • Hardens the host: SSH config, firewall rules, baseline auditd

How it fits

UpstreamDownstream
Proxmox provisioning hands over an inventory of new hostsConfigured Proxmox hosts ready for Apps on Proxmox

Getting started

1

Clone and enter the dev shell

git clone https://github.com/JacobPEvans/ansible-proxmox && cd ansible-proxmox && nix develop
2

Point at the Terraform inventory

Ansible reads the host list that terraform-proxmox wrote out. The README covers the exact path and var precedence.
3

Resolve secrets via Doppler

DOPPLER_TOKEN lets the playbook fetch host passwords, SSH keys, and monitoring tokens at run time. No secrets in git.
4

Run the playbook

ansible-playbook -i inventory site.yml. The first run is the slow one; subsequent runs only converge what’s drifted.

terraform-proxmox

The provisioner. Run this first.

ansible-proxmox-apps

The app deployer. Run this third.

Configuration overview

How all the Ansible repos fit together.

Source on GitHub

Roles, inventory examples, full README.