Jose bbb133a0a5
All checks were successful
ansible-lint / Ansible Lint (push) Successful in 12s
Gitleaks Scan / gitleaks (push) Successful in 4s
Markdown Lint / markdown-lint (push) Successful in 5s
Mark stale issues and pull requests / stale (push) Successful in 4s
refactor ♻️: Refactor log2ram size calculation for integer values and improve readability
This refactoring ensures that the log2ram size calculation always results in an integer value, enhancing precision. Additionally, it improves code readability by simplifying complex expressions.
2026-02-15 18:43:12 +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

README 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

📌 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 \ Proxmox Version 7 8 9
No-subscription repo
Enterprise repo disabled
Subscription nag removed
Swap handling
Logrotate protection
Powertop auto-tune
Utilities

📂 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
│   ├── logrotate.yml       # logrotate setup
│   ├── main.yml            # Core tasks
│   ├── powertop.yml        # powertop setup
│   ├── repos.yml           # Repository setup
│   ├── subscription.yml    # Subscription nag removal
│   ├── swap.yml            # Swap setup
│   └── utilities.yml  # Utilities installation
├── 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

add molecule tests to prove idempotency make the patch handler trigger on pve-manager upgrades 🔄 Split into VE versionaware tags ? 🕒 refactor
✗ debug
Improve documentation

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