Jose 8341d6e295
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 11s
Gitleaks Scan / gitleaks (push) Successful in 5s
Markdown Lint / markdown-lint (push) Failing after 4s
refactor ♻️: Refactor README and update role for Proxmox VE provisioning
This refactoring includes updating the README, changing the role name to focus on Proxmox VE, enhancing compatibility matrix, and refactoring default values for role variables. Handlers are updated to manage apt cache, restart pveproxy, and reload systemd. Role metadata is also updated for better Proxmox VE provisioning.
2026-02-07 08:29:45 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00
2026-02-07 07:22:24 +01:00

ansible_role_proxmox_provision

A reusable Ansible role template for for Proxmox VE with a focus on provisioning and managing.

License: MIT Ansible Version Proxmox

📌 Key Features

Proxmox VE Optimized - Specifically designed for Proxmox Virtual Environment Idempotent - Safe to run multiple times Security Hardened - Follows Ansible security best practices Modular - Clear separation of concerns Documented - Comprehensive README and variable documentation Tested - Includes example playbook for validation

📊 Compatibility Matrix

Feature VE 7 VE 8 VE 9
No-subscription repo
Enterprise repo disabled
Subscription nag removed
Swap handling
Logrotate protection
Powertop auto-tune

📂 Directory Structure

ansible_role_proxmox_provision/
├── README.md          # This file
├── defaults/          # Default role variables (overridable)
│   └── main.yml
├── handlers/          # Role handlers (for follow-up actions)
│   └── main.yml
├── meta/              # Role metadata
│   └── main.yml
├── tasks/             # Main role tasks
│   ├── backup.yml     # Backup-related tasks
│   ├── main.yml       # Core tasks
│   └── monitoring.yml # Monitoring setup
├── templates/         # Jinja2 templates
└── vars/              # Non-overridable variables
    └── main.yml

🔧 Configuration

Default Variables (defaults/main.yml)

# Default values for role variables
## Swap handling
proxmox_disable_swap: true
proxmox_swapiness: 10
proxmox_min_ram_mb_for_no_swap: 16384

## Powertop
proxmox_enable_powertop: true

## Logrotate
proxmox_logrotate_maxsize: "100M"
proxmox_logrotate_rotate: 7

Example usage

Example Playbook (example-playbook.yml)

---
- hosts: proxmox_hosts
  roles:
    - role: ansible_role_proxmox_provision
      vars:
        proxmox_disable_swap: false
        proxmox_swapiness: 20
        proxmox_enable_powertop: true

3. Run the Playbook

ansible-playbook -i inventory.ini example-playbook.yml

🚀 Installation and Setup

Prerequisites

  • Ansible 2.12 or higher
  • Python 3.8 or higher
  • Proxmox VE 7.x or higher
  • Root/sudo access to Proxmox hosts

Installation

  1. Clone this repository or add as a dependency in your project:
git clone https://server.com/user/ansible_role_proxmox_provision.git

📄 License

This project is licensed under the MIT License
See the LICENSE file for details.

TODO

Make the nag patch checksum-based (auto-repatch after upgrades) Add kernel power-saving tunables ? 🔄 Split into VE versionaware tags ? 🕒 refactor
✗ debug
Improve documentation

Description
No description provided
Readme MIT 383 KiB
Languages
Jinja 50.4%
Shell 49.6%