Référence CLI¶
Audience : administrateur du lab Proxmox.
Vue d'ensemble des groupes¶
| Groupe | Description |
|---|---|
setup |
Assistant d'installation interactif |
student |
Gestion des étudiants et de leurs VMs |
pool |
Pools Proxmox gérés (quotas, nombre de VMs) |
network |
Réseau : zones SDN, VNets VXLAN, utilisation des adresses IP |
template |
Construction des templates Proxmox (Linux cloud-init, OpenWrt) |
student listvspool list-student list→ liste les VMs présentes dans chaque pool étudiant -pool list→ liste les pools Proxmox eux-mêmes avec leurs quotas CPU/RAM/disk
setup — Assistant d'installation¶
Lance le wizard complet : saisie credentials, copie des fichiers de config,
vérification Proxmox, ouverture de infra.yaml, vérification bridges/storages/SDN,
création du pool template, conseil SPICE et build OpenWrt optionnel.
Le wizard est idempotent : si .env ou infra.yaml existent déjà, ils ne sont pas écrasés.
student — Gestion des étudiants¶
student apply — Provisionner / mettre à jour¶
Calcule le diff entre le CSV et l'état Proxmox, affiche un tableau de confirmation, puis applique les changements.
labomatics student apply
labomatics student apply --yes # sans confirmation (CI/CD)
labomatics student apply --recheck-all # recrée users/tokens/ACL manquants
labomatics student apply --classe M1_SRC # restreint à une classe
Pour chaque ajout :
1. Crée le pool Proxmox
2. Crée le VNet SDN + subnet VXLAN
3. Applique la configuration SDN
4. Crée le compte utilisateur nom@pve + token API + ACL
5. Clone la template → configure cloud-init → démarre la VM
6. Met à jour credentials.csv
Pour chaque suppression :
1. Arrête et supprime les VMs QEMU + LXC du pool
2. Révoque les ACL + supprime le compte nom@pve + token
3. Supprime le VNet SDN
4. Supprime le pool
student diff — Aperçu des changements (lecture seule)¶
Affiche ce que apply ferait, sans rien modifier.
Exemple de sortie :
3 étudiant(s) — students.csv
Changements à appliquer
──────────────────────────────────────────────────────────────
+ jdupont 10018 172.16.0.18 10.100.18.0/24 vn00018
+ asmith 10042 172.16.0.42 10.100.42.0/24 vn00042
− ancien_user — — — —
+ 2 à créer − 1 à supprimer
student list — Lister les VMs dans les pools étudiants¶
Affiche toutes les VMs (VMID, nom, statut, nœud) présentes dans chaque pool étudiant.
Différent de pool list qui affiche les pools et leurs quotas, sans détailler les VMs.
labomatics student list
labomatics student list --pool jdupont
labomatics student list --classe M1_SRC
student status — Consommation par étudiant¶
Affiche CPU / RAM / disk consommés par chaque étudiant, comparés aux limites de son flavor.
student find — Rechercher un étudiant¶
Retrouve un étudiant par son IP WAN, le nom de son VNet ou son login.
labomatics student find 172.16.0.18 # par IP WAN
labomatics student find vn00018 # par identifiant VNet
labomatics student find jdupont # par login
labomatics student find jdupont --classe M1_SRC
student creds — Afficher les credentials¶
Affiche le contenu de credentials.csv sous forme de tableau (login, token, IP WAN, VNet).
Les mots de passe sont affichés en clair — ne pas utiliser dans un contexte partagé.
student recreate — Recréer la VM OpenWrt d'un étudiant¶
Supprime la VM OpenWrt existante et la recrée depuis la template (nouvelle IP possible). Utile après une corruption ou une mauvaise configuration réseau.
student deploy — Déployer un TP¶
Déploie les VMs définies dans un fichier YAML pour chaque étudiant. La commande est idempotente : les VMs déjà déployées avec la même configuration sont ignorées ; celles dont la configuration a changé sont supprimées et recrées.
labomatics student deploy -f tp-opnsense.yaml
labomatics student deploy -f tp-opnsense.yaml --workers 4 --yes
Voir deploy.md pour le format du fichier YAML et les exemples complets.
student undeploy — Supprimer un TP¶
Supprime toutes les VMs d'un TP (identifiées par leur tag Proxmox).
labomatics student undeploy -f tp-opnsense.yaml
labomatics student undeploy --tp tp-opnsense-s2-2026 --yes
student destroy — Supprimer tous les étudiants¶
Supprime toutes les ressources de tous les étudiants gérés (VMs, VNets, ACL, pools). Action irréversible.
pool — Pools Proxmox¶
Liste les pools Proxmox créés par labomatics avec leurs quotas et le nombre de VMs.
Pour voir le détail des VMs à l'intérieur, utilisez student list.
pool list¶
network — Réseau SDN et IPs¶
network zones — Zones SDN¶
Liste toutes les zones SDN (VXLAN, Simple…) configurées dans le datacenter.
network vnets — VNets VXLAN¶
Liste les VNets SDN. Chaque étudiant dispose d'un VNet dédié (ex: vn00018).
network ips — Utilisation des pools IP¶
Affiche le taux d'utilisation des plages IP WAN et VXLAN définies dans infra.yaml.
template — Construction des templates¶
template build — Templates Linux cloud-init¶
Construit les templates Linux définies dans infra.yaml (Ubuntu, Debian, Fedora, Alpine…).
labomatics template build
labomatics template build ubuntu-25.10
labomatics template build ubuntu-25.10,debian-13
labomatics template build --yes
template openwrt — Template OpenWrt¶
Télécharge la dernière version stable d'OpenWrt, la configure et la convertit
en template Proxmox. À exécuter en root sur un nœud Proxmox.
Cette template est clonée pour chaque étudiant lors de student apply.
labomatics template openwrt
labomatics template openwrt --version 24.10.0 --vmid 90200 --storage zfs-store
| Option | Défaut | Description |
|---|---|---|
--version |
Dernière stable (auto-détecté) | Version OpenWrt |
--vmid |
infra.yaml → template_vmid |
VMID Proxmox |
--storage |
infra.yaml → storage |
Stockage cible |
--password |
openwrt |
Mot de passe root injecté |
--template-pool |
template |
Pool Proxmox d'accueil |
Voir template.md pour le détail des opérations.
Options communes¶
| Option | Commandes concernées | Description |
|---|---|---|
--yes, -y |
apply, recreate, deploy, destroy… | Sans confirmation interactive |
--classe |
apply, diff, list, status, find… | Restreint à une classe (ex: M1_SRC) |
--help |
toutes | Affiche l'aide détaillée de la commande |