testing new proxmox logic
This commit is contained in:
49
playbooks/proxmox_config_backup.yml
Normal file
49
playbooks/proxmox_config_backup.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
# =============================================================================
|
||||
# proxmox_config_backup.yml
|
||||
# Backs up critical Proxmox configuration files from all nodes.
|
||||
#
|
||||
# Captures:
|
||||
# /etc/pve — cluster config, VM configs, storage, users, certs
|
||||
# /etc/network — network interfaces
|
||||
# /etc/hosts — hostname resolution
|
||||
# /etc/hostname — node name
|
||||
# /etc/apt/ — apt sources (so repos can be restored)
|
||||
#
|
||||
# NOTE: /etc/pve contains sensitive files (SSL keys, shadow.cfg, API tokens).
|
||||
# Local and SFTP destinations are supported. Git destination is a
|
||||
# TODO pending a secure encryption strategy for sensitive files.
|
||||
#
|
||||
# Usage:
|
||||
# # Backup all nodes (local)
|
||||
# ansible-playbook proxmox_config_backup.yml
|
||||
#
|
||||
# # Backup to SFTP
|
||||
# ansible-playbook proxmox_config_backup.yml \
|
||||
# -e "backup_destination=sftp backup_sftp_host=backup.example.com backup_sftp_user=ansible"
|
||||
#
|
||||
# # Backup a single node
|
||||
# ansible-playbook proxmox_config_backup.yml --limit pm-node-01
|
||||
# =============================================================================
|
||||
|
||||
- name: "Proxmox | Config Backup"
|
||||
hosts: proxmox_cluster
|
||||
gather_facts: true
|
||||
serial: 1 # Back up one node at a time to avoid SFTP conflicts
|
||||
|
||||
vars:
|
||||
backup_destination: local
|
||||
backup_local_dir: /var/backups/proxmox-config
|
||||
backup_local_keep: 10
|
||||
|
||||
tasks:
|
||||
- name: "Backup | Run config backup for {{ inventory_hostname }}"
|
||||
ansible.builtin.include_role:
|
||||
name: proxmox_config_backup
|
||||
vars:
|
||||
current_node: "{{ inventory_hostname }}"
|
||||
|
||||
- name: "Backup | All nodes complete"
|
||||
ansible.builtin.debug:
|
||||
msg: "✓ Config backup complete for all nodes in {{ client_name | default('cluster') }}."
|
||||
run_once: true
|
||||
Reference in New Issue
Block a user