https://github.com/lexxai/proxmox_cluster_tasks
Proxmox VE cluster automatic tasks helper, Proxmox API backends [https,cli,ssh]. Sync, Async.
https://github.com/lexxai/proxmox_cluster_tasks
api api-wrapper async asyncio asyncio-api-wrapper backend cli python rest-api ssh
Last synced: 3 months ago
JSON representation
Proxmox VE cluster automatic tasks helper, Proxmox API backends [https,cli,ssh]. Sync, Async.
- Host: GitHub
- URL: https://github.com/lexxai/proxmox_cluster_tasks
- Owner: lexxai
- License: mit
- Created: 2024-12-28T17:19:40.000Z (5 months ago)
- Default Branch: dev
- Last Pushed: 2025-01-12T20:40:14.000Z (5 months ago)
- Last Synced: 2025-01-12T21:29:35.868Z (5 months ago)
- Topics: api, api-wrapper, async, asyncio, asyncio-api-wrapper, backend, cli, python, rest-api, ssh
- Language: Python
- Homepage:
- Size: 274 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proxmox Cluster Tasks
## Purpose of the Project
The **Proxmox Cluster Tasks** repository is designed to simplify and automate daily administrative tasks within a Proxmox Virtual Environment (VE) cluster. The project focuses on enhancing the efficiency of cluster management by providing tools and wrappers for interacting with Proxmox through various backends and APIs.
Inspired by the principles of **Terraform actions**, this project emphasizes modularity, repeatability, and declarative configuration management. It allows administrators to define and execute cluster tasks in a structured and consistent manner, reducing the complexity and potential for errors in day-to-day operations.
### Key Features
#### Daily Task Automation
- **Clone VMs from Templates**: Easily create virtual machines based on predefined templates.
- **Distribute Cloned VMs Across Nodes**: Automatically balance VM distribution across cluster nodes.
- **Configure VM Settings**:
- **Replication**: Set up replication policies for high availability.
- **Backup**: Automate backup configurations.
- **Networking**: Configure network interfaces and firewall rules.
- **High Availability (HA) Settings**:
- Define HA groups and priorities for VMs.
- For example, deploy `instance_02` on node `c02`, configure replication to nodes `c01` and `c03`, and assign HA settings prioritizing `c02`.#### Multi-Backend Support
- **HTTPS**: Direct API interaction using an HTTPS wrapper.
- **CLI**: Programmatic execution of Proxmox CLI commands.
- **SSH**: Manage clusters securely over SSH.#### Flexible Execution Modes
- **Asynchronous Mode**: Perform non-blocking, concurrent operations for time-sensitive tasks.
- **Synchronous Mode**: Sequential execution for straightforward tasks.---
The primary goal of this project is to streamline Proxmox VE cluster management, reduce manual effort, and improve operational consistency.
## Documentation
- [API Reference](docs/part2-api-reference.md)
- [Setup Instructions](docs/part3-setup.md)
- [Scenarios](docs/part6-scenarios.md)
- NodeTasks Class
- ProxmoxAPI Class
- [Examples](docs/part4-1-proxmoxapi-examples.md)
- [Advanced Concurrent Usage and Low-Level API Requests](docs/part4-2-advanced-examples.md)
- [Filtering results](docs/part4-3-proxmoxapi-filtering.md)
- [Debug Results](docs/part4-4-debug.md)
- [Configuration](docs/part5-configuration.md)
- [Testing](docs/part7-testing.md)## Acknowledgments
Special thanks to the [proxmoxer](https://github.com/proxmoxer/proxmoxer) project for providing inspiration and solutions that influenced the development of this library.