This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/playbooks/proxmox/README.md
Daniel Allaire 8f6de3ebe2 Construire l'ecosysteme de services et outiller l'inventaire
Registres (source unique):
- docs/nomenclature.yml: domaines, VMID, plan d'adressage 10.1.0.0/16 segmente.
- docs/bases-donnees.yml: bases applicatives (1 appli -> 1 base -> 1 owner -> 1 DSN).

Roles de service:
- Reseau/edge/PKI/mail: nginx, step_ca, sendmail.
- Donnees/identite: postgresql (consommateur du registre BD), redis, openldap, keycloak.
- Observabilite: prometheus, loki, grafana.
- Supervision: icinga (coeur; Icinga Web 2 differe). Forge: forgejo.

Integrations clientes:
- clients_metriques, clients_journaux, clients_pki, clients_ldap, clients_smtp.

Inventaire et outillage:
- make inventaire-ui: refonte (cartes, theme sombre, onglets, vue Chaine VM->groupes->
  playbooks->roles), saisie du provisioning, auto-proposition depuis la nomenclature,
  deploiement securise (verifier/deployer, jeton anti-CSRF, verrou, mot de passe vault),
  robustesse reseau (connexions fermees, favicon).
- Makefile: cible verifier-deploiement; detection d'un group_vars de production chiffre.
- Scission serveurs_web -> serveurs_web_frontaux/dorsaux; migration de l'adressage vers
  10.1.x; retrait des hotes de test; planification des hotes; requirements.yml.

Chaque role valide en --syntax-check et ansible-lint (profil production).
Secrets references depuis Ansible Vault (jamais en clair); roles non testes live.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 18:06:11 -04:00

79 lines
2 KiB
Markdown

# 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
inventories/lab/group_vars/proxmox.yml
```
Assistant terminal :
```bash
make config
```
Les secrets d'API doivent être dans un fichier Vault non versionné :
```text
inventories/lab/group_vars/proxmox.vault.yml
```
Créer le fichier depuis l'exemple, puis le chiffrer :
```bash
cp inventories/lab/group_vars/proxmox.vault.yml.example inventories/lab/group_vars/proxmox.vault.yml
ansible-vault encrypt inventories/lab/group_vars/proxmox.vault.yml
```
Créer un clone Debian depuis le modèle :
```bash
make creer-vm \
HOTE=web-frontal-01 \
VMID=95301 \
VLAN=15 \
ADRESSE_IP=10.1.15.31 \
PASSERELLE=10.1.15.1 \
GROUPES="serveurs_debian serveurs_durcis"
```
`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.1.15.31 PASSERELLE=10.1.15.1 TAILLE_DISQUE=64G GROUPES="serveurs_debian serveurs_durcis"
```
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
```