# Generated inventory from ansible/group_vars/all.yml ;; Backup of previous file will be created when template runs. {% set hosts_dict = lab_sot.lab_hosts | default(lab_sot.hosts | default({})) %} # --- Watchtower (local controller) --- [watchtower] localhost ansible_connection=local # --- Proxmox Cluster (management) --- [proxmox_cluster] {% for name,info in hosts_dict.items() %} {% if info.get('role') == 'proxmox' %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} {% endif %} {% endif %} {% endfor %} [proxmox_cluster:vars] ansible_user=chester ansible_become=true ansible_python_interpreter=/usr/bin/python3 # --- Swarm Managers --- [swarm_managers] {% for name,info in hosts_dict.items() %} {% if 'swarm_manager' in (info.get('role')|default('')) %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} {% endif %} {% endif %} {% endfor %} # --- Swarm Workers --- [swarm_workers] {% for name,info in hosts_dict.items() %} {% if 'swarm_worker' in (info.get('role')|default('')) %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} {% endif %} {% endif %} {% endfor %} # --- AI Grid --- [ai_grid] {% for name,info in hosts_dict.items() %} {% if info.get('role') == 'ai_node' %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} {% endif %} {% endif %} {% endfor %} # --- Docker Hosts --- [docker_hosts] {% for name,info in hosts_dict.items() %} {% if info.get('role') == 'docker_host' %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} {% endif %} {% endif %} {% endfor %} # --- Storage --- [storage] {% for name,info in hosts_dict.items() %} {% if info.get('role') == 'nas' %} {% if info.current_ip is defined and info.current_ip %} {{ name }} ansible_host={{ info.current_ip }} ansible_scp_if_ssh=True {% elif info.desired_ip is string %} {{ name }} ansible_host={{ info.desired_ip }} ansible_scp_if_ssh=True {% endif %} {% endif %} {% endfor %} # --- Aggregate grouping --- [ubuntu_lab:children] swarm_managers swarm_workers ai_grid docker_hosts storage [ubuntu_lab:vars] ansible_user=chester ansible_ssh_private_key_file=/home/chester/.ssh/id_ed25519