34 lines
2.3 KiB
Markdown
34 lines
2.3 KiB
Markdown
# 🚀 Proxmox 9 & Linstor HCI Provisioning Pipeline
|
|
|
|
👋 **Welcome!**
|
|
|
|
This repository contains our declarative Infrastructure as Code (IaC) pipeline. It is designed to automatically bootstrap bare-metal servers into production-ready **Proxmox VE 9 (Debian Trixie)** nodes.
|
|
|
|
Whether you are building a 3-node Highly Available cluster with a hyperconverged **Linstor/DRBD** storage stack, or just prepping a dozen independent standalone nodes in parallel, this playbook handles the heavy lifting safely and predictably.
|
|
|
|
## ✨ Features
|
|
|
|
* **Zero-Touch Repositories:** Automatically configures modern DEB822 APT sources for Proxmox 9, handles Enterprise licensing per-node, and removes the UI subscription nag.
|
|
* **Smart Reboots:** Detects kernel upgrades (`/var/run/reboot-required`) and safely reboots nodes in the background before forming clusters.
|
|
* **HCI Storage:** Automatically provisions raw block devices into LVM-Thin pools, establishes Corosync clusters, and deploys a highly available Linstor Controller via `drbd-reactor`.
|
|
* **Flexible Topologies:** Easily toggle between full HCI Clusters, External SAN configurations, or completely independent Standalone nodes using simple variables.
|
|
|
|
## 🏁 Quick Start
|
|
|
|
To prevent the classic *"it works on my machine"* problem, this repository is completely self-contained. You do not need to install Ansible or any Python packages on your local computer.
|
|
|
|
We use a **VS Code DevContainer** that automatically pre-configures your environment with all the correct Ansible versions, collections, and linters.
|
|
|
|
⏩ **Ready to deploy? Head straight to [Step 01 - Prerequisites](docs/01-prerequisites.md)** to spin up the container and start your first deployment.
|
|
|
|
## 📚 Documentation Directory
|
|
|
|
If you are new to Ansible or this specific architecture, please review these guides in order. They are written specifically for our team to ensure safe and consistent deployments across all customer projects.
|
|
|
|
* 📋 [01 - Prerequisites & Node Preparation](docs/01-prerequisites.md)
|
|
* 🛠️[02 - Configuring the Cluster (Inventory & Vars)](docs/02-configuration.md)
|
|
* ⚡ [03 - Running the Playbook](docs/03-execution.md)
|
|
* 🏗️ [04 - Architecture & Phase Breakdown](docs/04-architecture.md)
|
|
* 💾 [05 - Linstor & Storage Deep Dive](docs/05-linstor-storage.md)
|
|
* 🚑 [06 - Troubleshooting & FAQ](docs/06-troubleshooting.md)
|