module

Beryl::CLI::KeyStore

Accès des commandes aux clés ZFS d'un serveur (Beryl::ZfsKeys) : où elles sont (fichier du poste, coffre de la société), comment les lire (coffre d'abord, fichier en repli, divergence = erreur) et comment les ranger dans le coffre. Partagé par bootstrap, zpool-create, unlock, tang-enroll et beryl keys.

Instance methods

ensure_in_vault(host : Beryl::Config::ResolvedHost, hex : String, no_commit : Bool = false, vault : Beryl::ZfsKeys::Vault | Nil = nil, &log : String -> ) : Bool

Range la clé dans le coffre [tang] de la société (ajout seulement ; déjà là → rien) et commite le coffre chiffré. Coffre absent ou illisible : avertissement, la clé reste dans le seul fichier du poste (on ne crée pas de coffre : il remplacerait au chargement les credentials de .env.yml). Renvoie vrai si la clé est dans le coffre. Une AUTRE clé déjà rangée pour ce serveur lève ZfsKeys::Conflict.

Source
file_path(config_root : String, host : Beryl::Config::ResolvedHost) : String

Fichier de clé du poste : <racine>/<société>/<domaine>/<host>.key.

Source
obtain_or_create(config_root : String, host : Beryl::Config::ResolvedHost) : Tuple(String, Bool)

Clé à utiliser pour CRÉER des datasets chiffrés (bootstrap, zpool-create) : l'existante (coffre ou fichier) si le serveur en a une, sinon une nouvelle, écrite dans le fichier du poste (0400). Renvoie {clé, nouvelle ?}. Le rangement dans le coffre est fait à part (ensure_in_vault), seulement quand la commande agit (--apply).

Source
resolve(config_root : String, host : Beryl::Config::ResolvedHost) : Beryl::ZfsKeys::Found | Nil

Clé du serveur, coffre puis fichier ; nil si aucune. Lève Encryption::InvalidKey ou ZfsKeys::Conflict.

Source

Variable du coffre ([tang]) du serveur.

Source
vault_path(host : Beryl::Config::ResolvedHost) : String

Coffre chiffré de la société du serveur.

Source