Set-OPS-Public/playbooks/proxmox/README.md

78 lines
2.2 KiB
Markdown
Raw Normal View History

# Playbooks Proxmox
Ces playbooks pilotent Proxmox par API depuis le poste Ansible.
Les valeurs Cloud-Init communes déjà définies sur le modèle Proxmox sont héritées par les clones. Set-OPS ne les redemande pas.
## Prérequis du poste Ansible
Le clonage Proxmox utilise les modules `community.general.proxmox_*`.
Le poste Ansible doit donc avoir :
- la collection Ansible `community.general` ;
- la bibliothèque Python `proxmoxer` disponible dans le Python utilisé par Ansible.
Sur Debian, installer généralement :
```bash
sudo apt install python3-proxmoxer
```
Vérification locale :
```bash
python3 -c 'import proxmoxer'
```
Les paramètres non sensibles sont dans :
```text
instance/inventories/production/group_vars/proxmox.yml
```
Assistant terminal (écrit `proxmox.yml` et place le token dans la voûte unifiée) :
```bash
make config
```
Les secrets d'API vivent dans la **voûte unifiée de l'instance** — le token Proxmox aux
côtés des autres `vault_*`, un seul fichier chiffré, non versionné :
```text
instance/inventories/production/group_vars/all/vault.yml
```
`make config` la sème depuis le gabarit et y place le token. Le clonage lit cette voûte
unifiée (une `proxmox.vault.yml` séparée reste acceptée en compatibilité). Détail des
paramètres : [`docs/config-proxmox.md`](../../docs/config-proxmox.md).
Créer un clone Debian depuis le modèle :
```bash
make creer-vm \
HOTE=web-frontal-01 \
VMID=95301 \
VLAN=15 \
ADRESSE_IP=10.0.15.31 \
PASSERELLE=10.0.15.1 \
GROUPES="serveur_debian serveur_durci"
```
`VLAN` doit être saisi à chaque création de VM pour éviter de réutiliser par erreur un réseau d'un autre clone.
Le disque du clone hérite de la taille du modèle. Pour l'agrandir à la création, fournir explicitement une taille supérieure à celle du modèle :
```bash
make creer-vm HOTE=web-frontal-01 VMID=95301 VLAN=15 ADRESSE_IP=10.0.15.31 PASSERELLE=10.0.15.1 TAILLE_DISQUE=64G GROUPES="serveur_debian serveur_durci"
```
Proxmox ne permet pas de réduire un disque existant.
`creer-vm` clone la VM, applique les paramètres Cloud-Init et ajoute l'hôte à l'inventaire. La conformité Ansible reste séparée :
```bash
make deployer HOTE=web-frontal-01
```