67 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| - name: Crea container lxc per prosody (xmpp)
 | |
|   hosts: proxmox_nodes  
 | |
|   gather_facts: false
 | |
|   vars:
 | |
|     root_password: "{{ lookup('env', 'XMPP_PASSWORD') }}"
 | |
|     ssh_public_key: "{{ lookup('file', '~/.ssh/ansible.pub') }}"
 | |
|     
 | |
| 
 | |
|   tasks: 
 | |
| 
 | |
| 
 | |
|     - name: Create LXC
 | |
|       community.general.proxmox:
 | |
|         api_host: "{{ proxmox_url }}"
 | |
|         api_user: "{{ proxmox_user }}"
 | |
|         api_password: "{{ proxmox_password }}"
 | |
|         vmid: 121
 | |
|         node: milan
 | |
|         hostname: xmpp
 | |
|         ostemplate: "local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst"
 | |
|         storage: slow1
 | |
|         cores: 1
 | |
|         memory: 512
 | |
|         netif:
 | |
|           net0: "name=eth0,bridge=vmbr1,ip=10.10.0.21/16,gw=10.10.0.1"
 | |
|         pubkey: "{{ ssh_public_key }}"
 | |
|         password: "{{ root_password }}"
 | |
|         state: present
 | |
|       delegate_to: localhost
 | |
|       register: lxc_creation_result   #booooh, capiremo questo che vuol dire. Intanto registriamolo... immagino... 
 | |
| 
 | |
| 
 | |
|     - name: Start LXC container
 | |
|       community.general.proxmox:
 | |
|         api_host: "{{ proxmox_url }}"
 | |
|         api_user: "{{ proxmox_user }}"
 | |
|         api_password: "{{ proxmox_password }}"
 | |
|         vmid: 121
 | |
|         node: milan
 | |
|         state: started              # Tutto questo blocco è riassumibile in questa riga
 | |
|       delegate_to: localhost
 | |
|       when: lxc_creation_result.changed
 | |
| 
 | |
| 
 | |
| #    - name: Wait for container SSH to be available
 | |
| #      wait_for:
 | |
| #        host: 10.10.0.21
 | |
| #        port: 22
 | |
| #        timeout: 90
 | |
| #        delay: 10
 | |
| #      delegate_to: localhost
 | |
| #      when: lxc_creation_result.changed
 | |
| 
 | |
| 
 | |
|     - name: Wait until SSH is fully ready
 | |
|       ansible.builtin.wait_for_connection:
 | |
|         timeout: 180
 | |
|       delegate_to: xmpp01
 | |
| 
 | |
| 
 | |
| 
 | |
|     - name: Aggiungi container all'inventory dinamico
 | |
|       add_host:
 | |
|         name: xmpp01
 | |
|         ansible_host: "10.10.0.21"
 | |
|         groups: lxc_containers
 | |
|       when: lxc_creation_result.changed
 | 
