feat: hypervisor_backup_config role and playbook

This commit is contained in:
Semaphore
2026-03-13 15:02:13 -07:00
parent d0e206bdd3
commit 161c40dbbb
3 changed files with 230 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
---
# =============================================================================
# hypervisor_backup_config — defaults
# =============================================================================
# Backup destinations — list, supports git | local | sftp
# All configured destinations are used in sequence
pve_config_backup_destinations:
- type: git
# Number of backups to retain for local and sftp destinations
# git retention is managed by git history
pve_config_backup_keep: 10
# Date string used in filenames
pve_config_backup_date: "{{ ansible_date_time.date }}"
# Filename template (no extension — .tar.gz added for local/sftp)
# e.g. proxmox_client_local_eng_pm-node-01_config_2026-03-13
pve_config_backup_filename: "{{ hypervisor_type }}_{{ client_id | lower | replace('-','_') | replace(' ','_') }}_{{ inventory_hostname }}_config_{{ pve_config_backup_date }}"
# Files/dirs to back up per hypervisor type
pve_config_backup_paths_proxmox:
- /etc/pve
- /etc/network/interfaces
- /etc/hosts
- /etc/hostname
- /etc/apt/sources.list
- /etc/apt/sources.list.d
pve_config_backup_paths_xcpng:
- /etc/xensource
- /etc/network/interfaces
- /etc/hosts
- /etc/hostname
# Git settings
pve_config_git_repo_dir: /opt/ansible-msp-automations
pve_config_git_branch: main
pve_config_git_base_path: "hypervisor_configs/{{ client_id | lower | replace(' ','_') }}/{{ hypervisor_type }}/{{ inventory_hostname }}"
pve_config_git_commit_message: "[{{ client_id }}] {{ inventory_hostname }} pre-upgrade config backup {{ pve_config_backup_date }}"
# Local settings
pve_config_local_backup_dir: /var/backups
# SFTP settings
pve_config_sftp_host: ""
pve_config_sftp_user: ""
pve_config_sftp_key: ""
pve_config_sftp_remote_dir: "."