XMPP-service/playbooks/create_lxc.yml
Freek Kettone aa8d849825 Buonanotte
2025-09-03 06:23:21 +02:00

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