### Configuration file format Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Example YAML configuration for defining multiple cluster contexts and authentication methods. ```yaml # ~/.cv4pve/config.yaml clusters: - name: production url: https://proxmox.example.com:8006/api2/json verify-certificate: true token-id: "user@pam!tokenname" token-secret: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - name: staging url: https://staging.example.com:8006/api2/json verify-certificate: false username: "user@pam" password: "password" current-context: production ``` -------------------------------- ### ProxDeploy YAML Template Configuration Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Example configuration structure for defining VM deployment parameters in ProxDeploy. ```yaml vms: - name: web-01 vmid: 100 node: proxmox-node1 template: ubuntu-22.04 cpu: 4 memory: 4096 disk: 50 cloud_init: hostname: web-01 user: ubuntu ``` -------------------------------- ### Initialize and use PHP Proxmox API client Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Requires PHP 7.0+ and installation via Composer. Uses a login method for session-based authentication. ```php login('user@pam', 'password'); // Get nodes $nodes = $client->nodes()->index(); foreach($nodes as $node) { echo "Node: " . $node['node'] . "\n"; } // Create VM $client->nodes()->getNode('node1')->qemu()->create([ 'vmid' => 100, 'name' => 'myvm' ]); ?> ``` -------------------------------- ### CI/CD Pipeline Integration Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Example GitLab CI configuration for managing Proxmox VE resources using the CV4PVE CLI. ```yaml # Deploy with CV4PVE tools stages: - plan: script: cv4pve get vms --context production - deploy: script: cv4pve create vm -f deploy-config.yaml - verify: script: cv4pve describe vm $VM_ID --context production ``` -------------------------------- ### Configure Remote Terraform Backends Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Examples for storing state remotely to enable team collaboration and locking. ```hcl terraform { backend "s3" { bucket = "terraform-state" key = "proxmox/terraform.tfstate" region = "us-east-1" encrypt = true dynamodb_table = "terraform-locks" } } ``` ```hcl terraform { backend "consul" { address = "consul.example.com:8500" path = "terraform/proxmox" gzip = true } } ``` -------------------------------- ### Calculate Required Backup Storage Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Formula and example for estimating storage capacity based on workload size, retention policy, and deduplication efficiency. ```text Required Backup Storage = (Total VM/Container Size) × (Retention Count) × (1 / Deduplication Ratio) Example: - Total workload: 500 GB - Retention: 4 weeks daily + 12 weeks weekly = 28 backups - Deduplication ratio: 5:1 - Required storage: (500 GB) × (28) × (1/5) = 2.8 TB ``` -------------------------------- ### Assign Terraform Variable Values Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Example of a terraform.tfvars file for setting variable values. ```hcl # terraform.tfvars proxmox_node = "pve" vm_specs = { vmid = 100 memory = 2048 cores = 2 } ``` -------------------------------- ### Basic kubectl-style commands Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Standard syntax for interacting with Proxmox VE resources using the CLI. ```bash cv4pve get nodes cv4pve create vm -f vm-config.yaml cv4pve delete vm cv4pve describe node ``` -------------------------------- ### Visualize GitOps Workflow Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Flowchart illustrating the automated deployment process from code push to infrastructure update. ```text Git Repository (infrastructure code) ↓ (push/merge) CI/CD Pipeline (GitHub Actions, GitLab CI) ↓ (validation) Terraform Plan ↓ (approval) Terraform Apply ↓ Proxmox VE Infrastructure Updated ``` -------------------------------- ### Deploy VM via GitLab CI Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Automates VM deployment and configuration using proxdeploy, CLI wait commands, and Ansible. ```yaml deploy_vm: stage: deploy script: - proxdeploy deploy -f vm-config.yaml - cv4pve-cli wait-for-vm --vmid 100 - ansible-playbook configure-vm.yml only: - main ``` -------------------------------- ### Configure ZFS Compression Algorithms Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Comparison of available ZFS compression algorithms for different use cases. ```text lz4: Fast, moderate compression (recommended) gzip: Slow, high compression (for archive) zstd: Fast, high compression (modern) ``` -------------------------------- ### VM management commands Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Commands for lifecycle management of virtual machines. ```bash cv4pve get vms # List VMs cv4pve create vm -f vm.yaml # Create VM cv4pve start vm # Start VM cv4pve stop vm # Stop VM cv4pve delete vm # Delete VM cv4pve snapshot vm # Create snapshot ``` -------------------------------- ### Multi-Tool Infrastructure Workflow Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Sequence of tools for building, provisioning, configuring, and maintaining Proxmox infrastructure. ```text Packer (image building) ↓ Terraform (infrastructure provisioning) ↓ Ansible (configuration management) ↓ CV4PVE-AUTOSNAP (snapshot automation) ↓ CV4PVE-METRICS-EXPORTER (monitoring) ``` -------------------------------- ### Initialize and use Java Proxmox API client Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Requires Java 8+ and dependency management via Maven. Uses the PveClient class for cluster operations. ```java import it.corsinvest.proxmox.api.PveClient; PveClient client = new PveClient("https://proxmox.example.com:8006", "user@pam!tokenname", "token-secret"); // Get nodes List nodes = client.nodes().get(); for(Node node : nodes) { System.out.println("Node: " + node.getNode()); } // Create VM client.nodes().getNode("node1").qemu().create(vmConfig); ``` -------------------------------- ### Initialize and use .NET Proxmox API client Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Requires the Corsinvest.ProxmoxVE.Api NuGet package. Supports token-based authentication and asynchronous resource management. ```csharp using Corsinvest.ProxmoxVE.Api; var client = new PveClient("https://proxmox.example.com:8006", "user@pam!tokenname", "token-secret"); // Get nodes var nodes = await client.Nodes.Get(); foreach(var node in nodes) { Console.WriteLine($"Node: {node.Node}"); } // Create VM var vm = new { vmid = 100, name = "myvm" }; await client.Nodes.GetItem(nodeName).Qemu.Create(vm); ``` -------------------------------- ### Initialize and use PowerShell Proxmox module Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Provides native CmdLets for Proxmox management. Supports Windows PowerShell 5.1 and PowerShell Core 7+. ```powershell # Import module Import-Module CV4PVE.Api # Connect to cluster Connect-PveServer -Address "proxmox.example.com" ` -Credential $credential -SkipCertificateCheck # Get nodes Get-PveNode # Create VM New-PveQemu -Node "node1" -VmId 100 -Name "myvm" ` -Memory 2048 -Cores 2 ``` -------------------------------- ### NetApp ONTAP Deployment Pattern Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Deployment architecture for integrating Proxmox clusters with NetApp ONTAP storage systems. ```text Proxmox Cluster ↓ ONTAP LIF (iSCSI/NFS) ↓ NetApp ONTAP Storage System ↓ High-availability storage with disaster recovery ``` -------------------------------- ### Proxmox Storage Backend Configuration Structure Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Hierarchical overview of the required configuration parameters for Proxmox storage backends. ```text Proxmox Storage Backend ├── Type: iscsi or nfs ├── Target: TrueNAS iSCSI target or NFS server ├── Portal: TrueNAS IP and port ├── Content: images, rootdir, backups └── Nodes: Proxmox node access list ``` -------------------------------- ### Provision Load-Balanced VM Pool Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Deploy multiple cloned VMs and register them with an external load balancer using a local-exec provisioner. ```hcl resource "proxmox_vm_qemu" "web" { count = var.web_vm_count vmid = 200 + count.index name = "web-${count.index}" clone = "ubuntu-template" provisioner "local-exec" { command = "add_to_loadbalancer ${self.name}" } } ``` -------------------------------- ### Set NFS Mount Options Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Recommended mount options and read/write settings for NFS storage in Proxmox. ```text Mount options: noatime,vers=4.1,timeo=14,intr,nfsvers=4.1 Read/write size: 32KB (Proxmox default) Hard mount: Important for consistency ``` -------------------------------- ### Implement Policy as Code Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Enforce infrastructure constraints using Sentinel or Open Policy Agent. ```hcl main = rule { all resources.proxmox_vm_qemu as vm { vm.config.memory >= 1024 } } ``` ```rego package proxmox deny[msg] { input.resources[_].type == "proxmox_vm_qemu" input.resources[_].config.memory < 1024 msg := "VM must have at least 1GB memory" } ``` -------------------------------- ### Initialize and use JavaScript Proxmox API client Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Compatible with Node.js and browser environments. Uses the PveClient class for API interactions. ```javascript const { PveClient } = require('cv4pve-api-javascript'); const client = new PveClient('https://proxmox.example.com:8006', 'user@pam!tokenname', 'token-secret'); // Get nodes const nodes = await client.nodes.list(); nodes.forEach(node => { console.log(`Node: ${node.node}`); }); // Create VM await client.nodes.qemu(nodeName).create({ vmid: 100, name: 'myvm' }); ``` -------------------------------- ### Management Workflow Overview Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Diagram showing the interaction between management interfaces and the Proxmox API. ```text CV4PVE-CLI (operations) ↔ CV4PVE-ADMIN (web UI) ↓ Proxmox API ↓ CV4PVE-REPORT (audit/export) CV4PVE-AUTOSNAP (automation) CV4PVE-METRICS-EXPORTER (monitoring) ``` -------------------------------- ### Container management commands Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Commands for managing LXC containers. ```bash cv4pve get containers # List containers cv4pve create container -f ct.yaml # Create cv4pve start container # Start cv4pve stop container # Stop ``` -------------------------------- ### Automate VM Backups with Terraform Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Uses a local-exec provisioner to trigger backup scheduling during VM resource creation. ```hcl resource "proxmox_vm" "backup_test" { # VM definition provisioner "local-exec" { command = "cv4pve-autosnap --vm ${self.vmid} --schedule daily" } } ``` -------------------------------- ### Execute CV4PVE-Autosnap commands Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Use these commands to manage VM snapshots, including dry-runs, creation, and cleanup based on retention policies. ```bash # Dry-run: show what would be done cv4pve-autosnap --dry-run --vmid 100 --keep 7 # Create snapshot for specific VM cv4pve-autosnap --vmid 100 --comment "daily-backup" # Clean old snapshots (keep 5 most recent) cv4pve-autosnap --vmid 100 --cleanup --keep 5 # Snapshot all VMs matching pattern cv4pve-autosnap --vmid-pattern "web-*" --keep 10 ``` -------------------------------- ### Define Proxmox Backup Server Architecture Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Conceptual hierarchy for backing up local storage to cloud providers. ```text Proxmox Backup Server ├─ Primary storage (local/SAN) └─ Cloud storage (S3, Azure Blob, GCS) ``` -------------------------------- ### Storage operation commands Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Commands for querying storage pools and volumes. ```bash cv4pve get storage # List storage pools cv4pve get volumes # List volumes cv4pve describe storage # Storage details ``` -------------------------------- ### ProxDeploy CLI Operations Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Common command-line operations for deploying, listing, and destroying VMs using ProxDeploy. ```bash # Deploy VM from template proxdeploy deploy -f vm-template.yaml # Dry-run preview proxdeploy deploy -f vm-template.yaml --dry-run # List deployed VMs proxdeploy list # Destroy VM proxdeploy destroy --vmid 100 ``` -------------------------------- ### Create a Proxmox VM with Ansible Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Uses the community.general.proxmox module to define VM parameters and state within an Ansible playbook. ```yaml - name: Create Proxmox VM community.general.proxmox: vmid: 100 node: proxmox-node hostname: test-vm api_user: user@pam api_password: "{{ api_password }}" api_host: proxmox.example.com memory: 2048 cpus: 2 disk: 20 state: present ``` -------------------------------- ### Configure VM Backups with Ansible Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Utilizes the community.general.proxmox module to define backup settings and schedules for managed virtual machines. ```yaml - name: Configure VM backup community.general.proxmox: vmid: "{{ vm_id }}" api_host: "{{ proxmox_host }}" api_token_id: "{{ api_token_id }}" api_token_secret: "{{ api_token_secret }}" backup: yes backup_schedule: "daily" ``` -------------------------------- ### Authentication Methods Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/api-clients.md Details on how to authenticate with the Proxmox VE API using either API Tokens or Username/Password credentials. ```APIDOC ## Authentication ### API Token Authentication - **Header**: Authorization: PVEAPIToken=@!= ### Username/Password Authentication - **Method**: POST - **Endpoint**: /api2/json/access/ticket - **Response**: Cookie: PVEAuthCookie= ``` -------------------------------- ### Define a Proxmox VM template with Packer Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Uses the HCL2 configuration to define a Proxmox source and a shell provisioner for image customization. ```hcl source "proxmox" "ubuntu" { proxmox_url = "https://proxmox:8006/api2/json" username = "user@pam" password = var.proxmox_password node = "proxmox-node" vm_id = 100 vm_name = "ubuntu-template" memory = 2048 cores = 2 iso_file = "local:iso/ubuntu-22.04-live-server-amd64.iso" iso_storage_pool = "local" os = "l26" network_adapters { model = "virtio" bridge = "vmbr0" } } build { sources = ["source.proxmox.ubuntu"] provisioner "shell" { inline = [ "apt-get update", "apt-get install -y curl wget git" ] } } ``` -------------------------------- ### Project Directory Structure Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/index.md Visual representation of the documentation file hierarchy within the workspace. ```text /workspace/home/output/ ├── index.md (this file) ├── overview.md (project overview) ├── management-tools.md (web UIs, control panels) ├── api-clients.md (language-specific clients) ├── monitoring-and-observability.md (metrics, alerting, visualization) ├── backup-and-disaster-recovery.md (protection, recovery) ├── infrastructure-as-code.md (Terraform, Packer, Ansible) ├── cv4pve-suite.md (Corsinvest tools) ├── storage-and-networking.md (storage, SDN, networking) ├── community-and-security.md (forums, learning, hardening) └── utilities-and-integration.md (specialized tools, mobile apps) ``` -------------------------------- ### CI/CD Pipeline Integration with GitHub Actions Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Automates the infrastructure deployment lifecycle by chaining Packer image builds, Terraform provisioning, and Ansible configuration tasks. ```yaml # GitHub Actions Example name: Infrastructure Deploy on: push: branches: [main] paths: - 'infrastructure/**' jobs: packer: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Build image run: packer build packer/template.hcl - name: Get image ID run: echo "IMAGE_ID=$(packer inspect ...)" >> $GITHUB_ENV terraform: needs: packer runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: hashicorp/setup-terraform@v2 - name: Terraform Init run: terraform init - name: Terraform Plan run: terraform plan -var="image_id=${{ env.IMAGE_ID }}" -out=tfplan - name: Terraform Apply run: terraform apply tfplan ansible: needs: terraform runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Configure infrastructure run: ansible-playbook playbooks/configure.yml ``` -------------------------------- ### Multi-cluster context management Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Commands for targeting specific Proxmox VE clusters defined in the configuration. ```bash cv4pve --context=cluster1 get vms cv4pve --context=cluster2 get containers ``` -------------------------------- ### Daily Backup Schedule Pattern Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Defines a standard daily incremental backup schedule with a weekly full backup and Sunday verification. ```text Monday-Friday: Daily incremental backup (1:00 AM) Saturday: Weekly full backup (1:00 AM) Sunday: Verification/restore test ``` -------------------------------- ### Single-Cluster Monitoring Architecture Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/monitoring-and-observability.md Standard deployment pattern for small Proxmox clusters using a single exporter and Prometheus instance. ```text Proxmox Cluster (1-5 nodes) ↓ Single cv4pve-metrics-exporter instance ↓ Single Prometheus instance ↓ Grafana dashboard ``` -------------------------------- ### Weekly Backup Schedule Pattern Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Defines a weekly cycle with incremental backups and a mid-week full backup. ```text Monday-Wednesday: Incremental backups Thursday: Full backup Friday-Saturday: Incremental backups Sunday: Reserved for maintenance ``` -------------------------------- ### Configure CV4PVE-METRICS-EXPORTER Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Configuration file for defining Proxmox clusters, authentication tokens, and exporter settings. ```yaml clusters: - name: production host: https://proxmox.example.com:8006 verify-certificate: true token-id: user@pam!tokenname token-secret: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx nodes: - node1 - node2 port: 9221 interval: 60 ``` -------------------------------- ### Single Network Topology Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Configuration pattern for combining management and VM traffic on a single VLAN, suitable for lab environments. ```text Proxmox Management + VM Traffic on same VLAN ├── Risk: Management traffic could be disrupted └── Use: Small deployments, lab environments ``` -------------------------------- ### Highly Available Monitoring Architecture Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/monitoring-and-observability.md Resilient deployment pattern utilizing load-balanced exporters and HA Prometheus/Alert Manager components. ```text Proxmox Cluster ↓ Multiple exporter instances (load balanced) ↓ HA Prometheus cluster (with remote storage) ↓ HA Alert Manager ↓ Grafana with HA setup ``` -------------------------------- ### Monitoring Integration Flow Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Visual representation of the data pipeline from Proxmox to Telegram notifications. ```text ProxmoxMCP (or direct API) ↓ Prometheus Exporter ↓ Grafana Dashboard ↓ Alert Manager ↓ CV4PVE-BOTGRAM (Telegram notifications) ``` -------------------------------- ### Define Multi-Site Replication Architecture Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Conceptual layout for cross-site disaster recovery between primary and secondary Proxmox clusters. ```text Primary Site ├─ Proxmox Cluster ├─ Primary Storage └─ Replication to Secondary Secondary Site (DR) ├─ Standby Proxmox Cluster ├─ Replicated Storage └─ Can assume primary role ``` -------------------------------- ### Define Storage Pool Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/infrastructure-as-code.md Configure a directory-based storage pool for images and root directories. ```hcl resource "proxmox_storage" "nfs" { storage = "proxmox-nfs" type = "dir" path = "/mnt/proxmox-nfs" content = "images,rootdir" disable = false } ``` -------------------------------- ### Calculate ZFS ARC Size Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Typical memory allocation formulas for ZFS Adaptive Replacement Cache. ```text ARC Size = 50% of available RAM (typical) Max ARC = RAM - (1GB per TB of storage) ``` -------------------------------- ### Provision and Manage Proxmox VMs with Ansible Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/utilities-and-integration.md Uses the community.general.proxmox module to perform idempotent infrastructure tasks such as VM creation, state management, and snapshotting. ```yaml --- - hosts: localhost tasks: - name: Create Proxmox VM community.general.proxmox: vmid: 100 node: proxmox-node hostname: test-vm api_user: user@pam api_password: "{{ proxmox_password }}" api_host: proxmox.example.com memory: 2048 cpus: 2 disk: 50 state: present - name: Start VM community.general.proxmox: vmid: 100 api_user: user@pam api_password: "{{ proxmox_password }}" api_host: proxmox.example.com state: started - name: Create snapshot community.general.proxmox: vmid: 100 api_user: user@pam api_password: "{{ proxmox_password }}" api_host: proxmox.example.com snapshot: backup-001 state: present ``` -------------------------------- ### Monitoring Stack Architecture Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/cv4pve-suite.md Visual representation of the monitoring data flow from Prometheus to Grafana and Telegram alerts. ```text Prometheus ↓ (queries) CV4PVE-METRICS-EXPORTER ↓ Grafana Dashboard ↓ Alert notifications via CV4PVE-BOTGRAM (Telegram) ``` -------------------------------- ### Proxmox Firewall Configuration Hierarchy Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/storage-and-networking.md Visual representation of the rule application order from the data center level down to individual guests. ```text Data Center Level ├── Cluster rules (apply to all) ├── Node rules (apply to node) └── VM/Container rules (apply to guest) ``` -------------------------------- ### Monthly Backup Schedule Pattern Source: https://github.com/corsinvest/awesome-proxmox-ve/blob/master/_autodocs/backup-and-disaster-recovery.md Defines a monthly cycle incorporating full backups and archival copies. ```text Week 1: Full backup + incremental Week 2: Incremental only Week 3: Incremental only Week 4: Full backup + archival copy ```