Documenter les paramètres de make config
Ajoute docs/config-proxmox.md : référence champ par champ des 16 paramètres Proxmox non sensibles + les secrets API demandés par l'assistant (sens, défaut, quoi saisir, constante vs défaut surchargeable), plus l'annexe de création du token API. Renvois ajoutés depuis make help et QUICKSTART.md. Ces invites n'étaient expliquées nulle part de façon pérenne. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
9f7bb229f3
commit
441dd284bb
3 changed files with 94 additions and 1 deletions
2
Makefile
2
Makefile
|
|
@ -100,7 +100,7 @@ aide:
|
|||
@printf '%s\n' ' make creer-vm HOTE=web-frontal-01'
|
||||
@printf '%s\n' ' Cloner seulement, sans passer par le plan:'
|
||||
@printf '%s\n' ' make cloner-vm HOTE=web-frontal-01 VMID=95301 VLAN=15 ADRESSE_IP=10.0.2.31 PASSERELLE=10.0.2.1'
|
||||
@printf '%s\n' ' Configurer Proxmox et le Vault API:'
|
||||
@printf '%s\n' ' Configurer Proxmox et le Vault API (parametres: docs/config-proxmox.md):'
|
||||
@printf '%s\n' ' make config'
|
||||
@printf '%s\n' ''
|
||||
@printf '%s\n' 'Hotes'
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ Tu peux aussi le faire dans le GUI plus tard (`make inventaire-ui`).
|
|||
```bash
|
||||
make config # renseigne API host/user/port, nœud, stockage, VMID du template...
|
||||
```
|
||||
Chaque paramètre demandé est expliqué dans [`docs/config-proxmox.md`](docs/config-proxmox.md).
|
||||
Place ton **token API** et tes secrets dans le Vault de l'instance
|
||||
(`instance/inventories/lab/group_vars/proxmox.vault.yml`, à partir du `.example`,
|
||||
chiffré avec `ansible-vault`). Exporte ton mot de passe Vault, ex. :
|
||||
|
|
|
|||
92
docs/config-proxmox.md
Normal file
92
docs/config-proxmox.md
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# `make config` — référence des paramètres Proxmox
|
||||
|
||||
`make config` lance `scripts/config_proxmox.py`, l'assistant interactif qui écrit
|
||||
la connexion au cluster Proxmox et les valeurs de clonage par défaut. Il pose
|
||||
**16 paramètres non sensibles** puis propose de saisir les **secrets API**.
|
||||
|
||||
- Non sensibles → `instance/inventories/lab/group_vars/proxmox.yml`
|
||||
- Secrets API → `instance/inventories/lab/group_vars/proxmox.vault.yml` (chiffré
|
||||
par `ansible-vault`)
|
||||
|
||||
À chaque invite, la valeur courante (ou le défaut) est affichée entre crochets :
|
||||
**appuyer sur Entrée conserve cette valeur**. On peut donc relancer `make config`
|
||||
sans tout retaper.
|
||||
|
||||
> Ces paramètres sont des **intrants communs** de l'écosystème (cf.
|
||||
> [`intrants-communs.md`](intrants-communs.md) §C). L'accès au cluster et le golden
|
||||
> template sont des **constantes** ; le placement par défaut est **surchargeable
|
||||
> par hôte** dans `instance/plan/serveurs.yml`.
|
||||
|
||||
---
|
||||
|
||||
## 1. Accès au cluster Proxmox *(constantes — un seul cluster)*
|
||||
|
||||
| Invite | Variable | Défaut | Sens / quoi saisir |
|
||||
| --- | --- | --- | --- |
|
||||
| Hôte API Proxmox | `proxmox_api_host` | *(vide)* | Nom DNS ou IP du nœud qui répond à l'API. Ex. `asgard`. |
|
||||
| Utilisateur API Proxmox | `proxmox_api_user` | *(vide)* | Utilisateur **avec le realm**. Ex. `ansible@pve` (realm PVE) ou `root@pam`. |
|
||||
| Port API Proxmox | `proxmox_api_port` | *(vide)* | Port HTTPS de l'API. Quasi toujours `8006`. |
|
||||
| Valider les certificats TLS | `proxmox_validate_certs` | `non` | `oui` si le cluster a un certificat de confiance ; `non` pour un certificat auto-signé (cas usuel en lab). |
|
||||
|
||||
## 2. Golden template *(constantes — le modèle cloné)*
|
||||
|
||||
| Invite | Variable | Défaut | Sens / quoi saisir |
|
||||
| --- | --- | --- | --- |
|
||||
| VMID du modèle Debian 13 | `proxmox_clone_vmid_modele` | `9000` | VMID de la VM-modèle existante à cloner pour chaque nouvelle VM. |
|
||||
| Nom logique du modèle | `proxmox_clone_source_nom` | `modele-debian13` | Nom de référence du template (lisibilité ; doit correspondre au modèle). |
|
||||
|
||||
> Le golden template est l'**actif central** : il est cloné pour chaque VM, jamais
|
||||
> jeté ni reconstruit à la légère.
|
||||
|
||||
## 3. Placement par défaut des clones *(défauts surchargeables par hôte)*
|
||||
|
||||
Ces valeurs s'appliquent à toute VM clonée, **sauf** si l'hôte les surcharge dans
|
||||
`instance/plan/serveurs.yml`.
|
||||
|
||||
| Invite | Variable | Défaut | Sens / quoi saisir |
|
||||
| --- | --- | --- | --- |
|
||||
| Nœud Proxmox par défaut | `proxmox_clone_noeud` | *(vide)* | Nœud du cluster où créer la VM. Ex. `asgard`. |
|
||||
| Stockage Proxmox par défaut | `proxmox_clone_stockage` | *(vide)* | Datastore qui héberge le disque. Ex. `local-zfs`, `TrueNAS`. |
|
||||
| Pont Proxmox | `proxmox_clone_pont` | `vmbr0` | Bridge réseau de la NIC. Ex. `vmbr0`, `vmbr1`. |
|
||||
| Format disque par défaut | `proxmox_clone_format` | *(vide)* | `qcow2`, `raw`, … ou **vide** pour laisser le stockage décider (recommandé : ZFS/LVM imposent leur format). |
|
||||
| Clone complet | `proxmox_clone_complet` | `oui` | `oui` = clone **indépendant** (autonome) ; `non` = clone **lié** (dépend du modèle, plus léger mais fragile). Garder `oui`. |
|
||||
| Timeout opérations Proxmox | `proxmox_clone_timeout` | `600` | Secondes avant d'abandonner une opération longue (clone, redimensionnement). |
|
||||
| Disque principal | `proxmox_clone_disque` | `scsi0` | Bus + index du disque système. `scsi0` est le standard Set-OPS. |
|
||||
| Interface réseau | `proxmox_clone_interface` | `net0` | Identifiant de la NIC virtuelle. |
|
||||
| Pare-feu interface Proxmox | `proxmox_clone_parefeu_interface` | `non` | Active le pare-feu Proxmox **au niveau de la NIC**. Laisser `non` : le filtrage se fait dans l'invité (nftables), pas chez l'hyperviseur. |
|
||||
| Démarrer le clone après création | `proxmox_clone_demarrer` | `oui` | `oui` = booter la VM dès la création (nécessaire pour qu'Ansible la joigne ensuite). |
|
||||
|
||||
## 4. Secrets API Proxmox 🔒 *(constantes, chiffrées)*
|
||||
|
||||
L'assistant demande ensuite : « Configurer les secrets API Proxmox maintenant ».
|
||||
Si `oui` :
|
||||
|
||||
| Invite | Variable | Défaut | Sens / quoi saisir |
|
||||
| --- | --- | --- | --- |
|
||||
| Token ID Proxmox | `proxmox_api_token_id` | `set-ops` | Identifiant du **token API** créé côté Proxmox pour l'utilisateur API. |
|
||||
| Token secret Proxmox | `proxmox_api_token_secret` | *(aucun)* | Secret du token. **Saisie masquée**, écrite uniquement dans le Vault chiffré. |
|
||||
|
||||
- Si `proxmox.vault.yml` existe déjà, l'assistant ouvre directement
|
||||
`ansible-vault edit` (pas de re-saisie en clair).
|
||||
- Un secret vide ⇒ le Vault **n'est pas créé**.
|
||||
- Ces deux clés ne transitent **jamais** par le GUI ni par aucun fichier en clair.
|
||||
|
||||
---
|
||||
|
||||
## Comment créer le token API côté Proxmox
|
||||
|
||||
Dans l'interface Proxmox (ou en CLI `pveum`) :
|
||||
|
||||
1. Créer l'utilisateur API (ex. `ansible@pve`) et lui donner les droits requis
|
||||
(rôle avec `VM.Allocate`, `VM.Clone`, `VM.Config.*`, `Datastore.AllocateSpace`,
|
||||
`SDN.Use`/réseau selon le cluster).
|
||||
2. Créer un **token API** pour cet utilisateur → noter le **Token ID** et le
|
||||
**secret** (affiché une seule fois).
|
||||
3. Renseigner Token ID + secret dans `make config`.
|
||||
|
||||
## Voir aussi
|
||||
|
||||
- [`intrants-communs.md`](intrants-communs.md) — tous les intrants communs de l'écosystème.
|
||||
- [`nomenclature-vm.md`](nomenclature-vm.md) — réseau, VLAN, fonctions.
|
||||
- [`vm-lifecycle.md`](vm-lifecycle.md) — cycle de vie d'une VM (création → conformité).
|
||||
- `make help` — liste des cibles.
|
||||
Loading…
Reference in a new issue