bafb085995
- templates proxmox/ (update-analyze: dépôts PVE ; full-upgrade) et raspbian/ (update-analyze: espace disque ; full-upgrade) - execute résout les actions APT par profil OS (resolveTemplate) → proxmox/ raspbian si dispo, sinon fallback apt/ (non-régression debian/ubuntu vérifiée) - machine_probe (lecture seule) : template + parseProbe/proposeCorrections (TDD) → propose os_family/machine_kind/virtualization, persiste machine_hardware, n'applique jamais auto ; branche execute + allowlist route - apt_proxy_persistent : ActionType + template idempotent (/etc/apt/apt.conf.d/ 01proxy, backup) + TemplateVars.aptProxyUrl + allowlist route tsc 0 · 95 tests · build OK · résolution OS vérifiée. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Tâche 2 — SJ-7 : Profils OS Proxmox/RPi + machine_probe + proxy persistent
Statut : implémenté (2026-06-06). tsc 0 · 95 tests · build OK. Résolution OS vérifiée. Réf. design :
docs/design/tache2/60-profils-os-machine.md,80-sous-jalons.mdSJ-7.
Périmètre livré (additif, fallback base préservé)
- Templates OS-spécifiques :
templates/proxmox/update-analyze.sh.tpl(détection dépôts PVE enterprise/no-subscription)full-upgrade.sh.tpl(dist-upgrade kernel/proxmox-ve/Ceph).
templates/raspbian/update-analyze.sh.tpl(contrôle espace disque carte SD)full-upgrade.sh.tpl(apt full-upgrade).rpi-updatevolontairement non utilisé.
- Résolution par profil OS dans
execute.ts: les actions APT passent parresolveTemplate(file, osFamily)→proxmox//raspbian/si dispo, sinonapt/. Vérifié : proxmox/raspbian pris ; debian/ubuntu → fallbackapt/(non-régression jalon 1).refresh.tsrésolvait déjàupdate-analyze. machine_probe(action lecture seule) :templates/apt/machine-probe.sh.tpl(os-release, arch, systemd-detect-virt, /etc/pve, /proc/cpuinfo RPi, lspci GPU, ip addr).machineProbe.ts:parseProbe+proposeCorrections(TDD, 4 cas : Proxmox/RPi/VM KVM) → proposeos_family/machine_kind/virtualization.runProbepersiste les faits matériels (machine_hardwaregpus/network) et renvoie un diff jamais appliqué auto.- Branche
execute(archiveExecution) + allowlist route.
- Proxy APT persistant (
apt_proxy_persistent) :- ActionType ajouté ;
templates/apt/apt-proxy-persistent.sh.tplécrit/etc/apt/apt.conf.d/01proxy(idempotent, sauvegarde horodatée de l'existant). TemplateVars.aptProxyUrl; rendu avecm.aptProxyUrl; allowlist route.
- ActionType ajouté ;
Sécurité / invariants
machine_probene modifie rien ; les corrections OS/kind sont proposées, l'opérateur garde le dernier mot (pas d'application auto).- Proxy persistant = action explicite idempotente avec backup ; l'URL n'est pas un secret.
- Aucun secret dans les templates ; fallback
basegarantit la non-régression Debian/Ubuntu.
Reste tâche 2
SJ-8 / SJ-9 (post-install : bootstrap/identité, paquets de base/Docker officiel/partages/VM tools). UI : bouton « Sonder » + affichage des propositions, sélecteur de proxy persistant = tâche 3.