module

Beryl::CLI::Lock

Sous-commande beryl lock <host> — symétrique INVERSE de beryl unlock. Verrouille les pools data chiffrés : zpool export démonte les datasets, décharge la clé (la rend indisponible) et retire le pool du système. Après lock, beryl status montre le pool ABSENT (chiffré, clé non chargée).

⚠️ ÉVOLUTION PRÉVUE (2ᵉ temps, Philippe 20 juin 2026) — COMMANDE PANIQUE : beryl lock doit verrouiller TOUTE l'architecture d'un coup, pas que les pools data : aussi les DATASETS zroot chiffrés (zfs unmount + zfs unload-key sur zroot/zhome,zroot/zopt,zroot/zusrlocaletc), après avoir arrêté les services qui les utilisent (requires_dataset:). Usage = bouton panique incident sécu. La version actuelle ne couvre QUE l'export des pools data — l'extension datasets zroot viendra avec le chantier chiffrement C+ (cf. zpool-encryption-architecture § Amendement 20 juin).

Mode-agnostique : que le pool soit en ssh_unlock ou tang, le verrouillage est identique (export). AUCUNE clé n'est nécessaire côté opérateur (≠ unlock).

Idempotent : un pool déjà exporté (non importé) → no-op.

Commandes distantes csh-safe (root FreeBSD = csh par défaut) : pas de redirection Bourne 2> — SSH::Connection capture stderr séparément.

Constants

EXIT_LOCK_FAILED = 6
EXIT_NO_DATA_POOLS = 5
EXIT_OK = 0
EXIT_SSH_FAILED = 2
EXIT_UNEXPECTED = 3
EXIT_USAGE = 1

Class methods

run(config_root : String, args : Array(String)) : Int32
Source