f9f805cd8b
Spec complète dans docs/superpowers/specs/2026-05-28-inventaire-hdd-design.md : architecture 2 conteneurs Docker (FastAPI + nginx), script Python stdlib only, SQLite avec serial comme clé de vérité, API ingest + dashboard + agents IA. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Projet
Script bash one-shot d'inventaire disques (HDD/SSD/NVMe) pour systèmes Debian/Proxmox. Exécuté manuellement une seule fois par machine — pas de cron, pas de daemon, pas de service.
Lancement
# Local
bash inventaire_hdd.sh
# À distance (via Gitea)
curl -fsSL https://<gitea-host>/<user>/mes_hdd/raw/branch/main/inventaire_hdd.sh | bash
Architecture du script
inventaire_hdd.sh suit ce pipeline :
- Détection machine (hostname, IP via
ip route) - Listage des disques entiers via
lsblk -d -o NAME,TYPE - Pour chaque disque : modèle/série via
lsblkpuissmartctl -ien fallback - État SMART via
smartctl -H+smartctl -A(traduit en français simple) - Type (HDD/SSD/NVMe) via
/sys/block/<name>/queue/rotational - Montage/espace via
df -h - Lien
by-idvia/dev/disk/by-id/ - Génération rapport Markdown →
hdd.mddans le répertoire du script (oupwdsi exécuté via pipe)
Publication MQTT (à implémenter)
Le script doit aussi publier un JSON retenu vers :
- broker :
10.0.0.3:1883(sans auth) - topic :
hdd/inventaire/<hostname> - flag retain (
mosquitto_pub -r)
Format JSON attendu : voir consigne.hd section "Format de message conseillé".
Prérequis système
smartmontools(smartctl) — optionnel, géré gracieusementutil-linux(lsblk)mosquitto-clients(mosquitto_pub) — pour la publication MQTTcoreutils(df, hostname),iproute2(ip)
Robustesse
Le script doit continuer l'inventaire même si un disque échoue, si smartctl est absent, ou si le système est une VM sans accès SMART. Chaque erreur est captée localement (pas de set -e).