- modèle par défaut 9100 debian13-bwpoc (dérivé de 9001 + qemu-guest-agent), fabrication en SSH root seulement si pve_template_create: true - régénération du machine-id par l'agent QEMU (sinon même IP DHCP pour tous les clones) - pool bwpoc créé par l'API, 99-destroy par l'API - correctif ansible-core 2.21 (copie de hostvars), clé SSH id_ed25519 ou id_rsa Déploiement validé sur lancelot : 50-tests 26 OK, 0 KO. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
30 lines
1.0 KiB
YAML
30 lines
1.0 KiB
YAML
---
|
|
# Clone et configure les VM du PoC par l'API Proxmox (compte dédié, voir README).
|
|
# Exécuté sur le contrôleur Ansible : connection local dans le playbook.
|
|
- name: Contrôler la présence d'un secret pour l'API
|
|
ansible.builtin.assert:
|
|
that: (pve_api_token_secret | length > 0) or (pve_api_password | length > 0)
|
|
fail_msg: "Exportez PVE_TOKEN_SECRET (jeton {{ pve_api_user }}!{{ pve_api_token_id }}) ou PROXMOX_CLAUDE et PROXMOX_PASSWORD"
|
|
quiet: true
|
|
|
|
- name: Créer le pool {{ pve_pool }}
|
|
community.proxmox.proxmox_pool:
|
|
poolid: "{{ pve_pool }}"
|
|
comment: PoC BunkerWeb
|
|
|
|
- name: Créer le répertoire des host_vars par VM
|
|
ansible.builtin.file:
|
|
path: "{{ inventory_dir }}/host_vars/{{ item }}"
|
|
state: directory
|
|
mode: "0755"
|
|
loop: "{{ groups['poc_vms'] | unique }}"
|
|
|
|
- name: Créer chaque VM
|
|
ansible.builtin.include_tasks: vm.yml
|
|
loop: "{{ groups['poc_vms'] | unique }}"
|
|
loop_control:
|
|
loop_var: vm_name
|
|
|
|
- name: Recharger l'inventaire avec les IP DHCP
|
|
ansible.builtin.meta: refresh_inventory
|