From 4d26c151043c06b6adbdd8daa91d848884c294cd Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Wed, 1 Jul 2026 21:18:10 -0400 Subject: [PATCH] =?UTF-8?q?GUI=20:=20=C2=AB=20V=C3=A9rifier=20=C2=BB=20dem?= =?UTF-8?q?ande=20(optionnellement)=20le=20mot=20de=20passe=20vault?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sans lui, le dry-run ne peut pas déchiffrer les secrets → les rôles à secrets (step_ca, etc.) échouaient au Vérifier même avec des secrets présents, et une voûte chiffrée aurait bloqué TOUT Vérifier. La modale autorise un mot de passe vide (hôtes sans secrets = comportement actuel). Co-Authored-By: Claude Opus 4.8 --- scripts/inventory_gui.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/inventory_gui.py b/scripts/inventory_gui.py index ebcde76..d131c76 100644 --- a/scripts/inventory_gui.py +++ b/scripts/inventory_gui.py @@ -1685,7 +1685,7 @@ HTML = r""" if (occupe) return; let vault = ''; if (mode === 'deployer' && !verifie[hote]) { message('Vérifiez (dry-run) d\'abord.', 'erreur'); return; } - if (mode === 'creer' || mode === 'deployer' || mode === 'pousser') { + if (mode === 'creer' || mode === 'deployer' || mode === 'pousser' || mode === 'verifier') { if (estProduction && (mode === 'deployer' || mode === 'pousser')) { const saisi = prompt('⚠️ PRODUCTION — action réelle sur « ' + hote + ' ».\n' + 'Tape le nom exact de l\'hôte pour confirmer :'); @@ -1697,8 +1697,10 @@ HTML = r""" ? 'Clone la VM « ' + hote + ' » depuis le golden template sur Proxmox (création réelle).' : mode === 'pousser' ? av + 'Déploie l\'hôte « ' + hote + ' » (applique ses playbooks, en root). Non transactionnel.' + : mode === 'verifier' + ? 'Dry-run (--check), AUCUNE modification. Mot de passe vault pour déchiffrer les secrets — laisse VIDE si cet hôte n\'a pas de secrets.' : av + 'Applique les playbooks de groupes sur la VM réelle, en root (sudo). Non transactionnel.'; - const titre = (mode === 'creer' ? 'Pousser — créer la VM ' : mode === 'pousser' ? 'Pousser — déployer ' : 'Déployer ') + hote; + const titre = (mode === 'creer' ? 'Pousser — créer la VM ' : mode === 'pousser' ? 'Pousser — déployer ' : mode === 'verifier' ? 'Vérifier ' : 'Déployer ') + hote; vault = await ouvrirModale(titre, txt); if (vault === null) return; motVault = vault;