Backups VM
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Infrastructure / Check and run Ansbile playbooks (push) Failing after 2m12s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Infrastructure / Check and run Ansbile playbooks (push) Failing after 2m12s
				
			This commit is contained in:
		
							
								
								
									
										88
									
								
								infra/backups/0000_proxmox_playbook.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								infra/backups/0000_proxmox_playbook.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | |||||||
|  | - name: Provision backups Proxmox VM | ||||||
|  |   hosts: backups | ||||||
|  |   connection: ansible.builtin.local | ||||||
|  |   gather_facts: false | ||||||
|  |   vars: | ||||||
|  |     api_user: "{{ lookup('ansible.builtin.env', 'PROXMOX_USER') }}" | ||||||
|  |     api_host: "{{ lookup('ansible.builtin.env', 'PROXMOX_HOST' ) }}" | ||||||
|  |     api_token_id: "{{ lookup('ansible.builtin.env', 'PROXMOX_TOKEN_ID') }}" | ||||||
|  |     api_token_secret: "{{ lookup('ansible.builtin.env', 'PROXMOX_TOKEN_SECRET') }}" | ||||||
|  |     ssh_public: "{{ lookup('ansible.builtin.env', 'SSH_PUBLIC') }}" | ||||||
|  |     vmname: "{{ inventory_hostname | regex_replace('^([^\\.]+)\\..+$', '\\1') }}" | ||||||
|  |     node: pve | ||||||
|  |   module_defaults: | ||||||
|  |     community.general.proxmox_kvm: | ||||||
|  |       api_user: "{{ api_user }}" | ||||||
|  |       api_host: "{{ api_host }}" | ||||||
|  |       api_token_id: "{{ api_token_id }}" | ||||||
|  |       api_token_secret: "{{ api_token_secret }}" | ||||||
|  |       name: "{{ vmname }}" | ||||||
|  |       node: "{{ node }}" | ||||||
|  |     community.general.proxmox_nic: | ||||||
|  |       api_user: "{{ api_user }}" | ||||||
|  |       api_host: "{{ api_host }}" | ||||||
|  |       api_token_id: "{{ api_token_id }}" | ||||||
|  |       api_token_secret: "{{ api_token_secret }}" | ||||||
|  |       name: "{{ vmname }}" | ||||||
|  |     community.general.proxmox_disk: | ||||||
|  |       api_user: "{{ api_user }}" | ||||||
|  |       api_host: "{{ api_host }}" | ||||||
|  |       api_token_id: "{{ api_token_id }}" | ||||||
|  |       api_token_secret: "{{ api_token_secret }}" | ||||||
|  |       name: "{{ vmname }}" | ||||||
|  |   tasks: | ||||||
|  |     # Initial setup | ||||||
|  |     - name: Create VM | ||||||
|  |       community.general.proxmox_kvm: | ||||||
|  |         clone: "{{ node }}-base" | ||||||
|  |         storage: nvme | ||||||
|  |       notify: Initial boot | ||||||
|  |     - name: Wait for status | ||||||
|  |       community.general.proxmox_kvm: | ||||||
|  |         state: current | ||||||
|  |       register: vm | ||||||
|  |       retries: 30 | ||||||
|  |       delay: 10 | ||||||
|  |       until: vm.status is defined | ||||||
|  |  | ||||||
|  |     # Networking and initial config | ||||||
|  |     - name: Add PUB NIC | ||||||
|  |       community.general.proxmox_nic: | ||||||
|  |         interface: net0 | ||||||
|  |         firewall: false | ||||||
|  |         bridge: PUB | ||||||
|  |     - name: Add SRV NIC | ||||||
|  |       community.general.proxmox_nic: | ||||||
|  |         interface: net1 | ||||||
|  |         firewall: false | ||||||
|  |         bridge: SRV | ||||||
|  |  | ||||||
|  |     # VM Configuration | ||||||
|  |     - name: Create CD disk | ||||||
|  |       community.general.proxmox_disk: | ||||||
|  |         disk: ide2 | ||||||
|  |         media: cdrom | ||||||
|  |         iso_image: none | ||||||
|  |     - name: Create root disk | ||||||
|  |       community.general.proxmox_disk: | ||||||
|  |         disk: scsi0 | ||||||
|  |         backup: true | ||||||
|  |         storage: nvme | ||||||
|  |         size: 32 | ||||||
|  |     - name: Create data disk | ||||||
|  |       community.general.proxmox_disk: | ||||||
|  |         disk: scsi1 | ||||||
|  |         backup: false | ||||||
|  |         storage: zfs | ||||||
|  |         size: 2048 | ||||||
|  |     - name: Update VM | ||||||
|  |       community.general.proxmox_kvm: | ||||||
|  |         update: true | ||||||
|  |         boot: order=scsi0;ide2 | ||||||
|  |         agent: enabled=1 | ||||||
|  |         tags: | ||||||
|  |           - debian-12 | ||||||
|  |           - managed | ||||||
|  |         onboot: true | ||||||
|  |         cores: 4 | ||||||
|  |         memory: 4096 | ||||||
| @@ -31,4 +31,7 @@ proxmox: | |||||||
|             ansible_ssh_private_key_file: ~/.ssh/id_rsa |             ansible_ssh_private_key_file: ~/.ssh/id_rsa | ||||||
|             ansible_ssh_common_args: -o StrictHostKeyChecking=accept-new # TODO: Improve this |             ansible_ssh_common_args: -o StrictHostKeyChecking=accept-new # TODO: Improve this | ||||||
|         unmanaged: |         unmanaged: | ||||||
|  |           children: | ||||||
|  |             backups: | ||||||
|               hosts: |               hosts: | ||||||
|  |                 backups.srv.home.local.koval.net: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user