# Proxmox 9 & Linstor HCI Provisioning Pipeline Declarative Infrastructure as Code pipeline for bootstrapping bare-metal servers into production-ready **Proxmox VE 9 (Debian Trixie)** nodes — either as a 3-node HA cluster with a hyperconverged **Linstor/DRBD** storage stack, or as independent standalone nodes provisioned in parallel. No local Ansible installation required. The repository ships with a VS Code DevContainer that pins all dependencies. ## Index 1. [Prerequisites & Node Preparation](docs/01-prerequisites.md) 2. [Configuring the Inventory](docs/02-configuration.md) 3. [Running the Playbooks](docs/03-execution.md) 4. [Architecture & Phase Breakdown](docs/04-architecture.md) 5. [Linstor & Storage Deep Dive](docs/05-linstor-storage.md) 6. [Troubleshooting & FAQ](docs/06-troubleshooting.md) ## Repository Layout ``` ansible/ ├── deploy.yml # Main playbook — full cluster provisioning ├── network.yml # Optional — configure p2p private bridge ├── ansible.cfg # Tuned defaults (pipelining, forks, remote_user) ├── inventories/ │ ├── _template/ # Copy this for each new customer/project │ │ ├── hosts.ini │ │ └── group_vars/all.yml │ └── / # One inventory per cluster ├── roles/ │ ├── p2p_network/ # Configures full-mesh p2p bridge │ ├── linstor_repo/ # Adds LINBIT APT repository │ ├── linstor_install/ # Installs DRBD, Linstor packages │ ├── linstor_cluster/ # Registers nodes, configures /etc/hosts │ ├── linstor_ha/ # HA controller via drbd-reactor │ ├── linstor_storage/ # LVM thin pools, storage pool registration │ └── proxmox_storage/ # Registers Linstor as Proxmox storage backend └── docs/ ``` ## Quick Start ```bash # 1. Open repo in VS Code DevContainer # 2. Copy and configure an inventory cp -r ansible/inventories/_template ansible/inventories/ # 3. (Optional) Configure p2p private network bridge ansible-playbook ansible/network.yml -i ansible/inventories//hosts.ini # 4. Deploy ansible-playbook ansible/deploy.yml -i ansible/inventories//hosts.ini ```