Aller au contenu

Référence

Cette partie décrit ce que le produit fait, exactement. Chaque variable, chaque valeur par défaut et chaque route qui suit a été relue dans le code avant d'être écrite ici.

Ce n'est pas un guide de démarrage : pour découvrir le produit, lisez le parcours complet, puis les recettes. Revenez ici quand vous voulez le détail d'un champ.

Les objets du produit

RestoreProof manipule six objets. Ils s'emboîtent toujours dans le même ordre.

Objet Ce que c'est Où il vit
Organisation Votre compte. Tout le reste lui appartient. Control Plane
Source La description publique d'un dépôt de sauvegarde (type, point d'accès, préfixe). Aucun secret. Control Plane
Plan de restauration La recette : les étapes de restauration, puis les sondes. Control Plane
Runner L'agent que vous installez chez vous. Le seul à voir vos sauvegardes et vos secrets. Votre infrastructure
Exécution (run) Un passage du plan par un runner, à un instant donné. Déclenchée par le Control Plane, exécutée par le runner
Rapport Le résultat signé de cette exécution. Control Plane

Comment ils s'articulent

  1. Vous décrivez une source et écrivez un plan dans l'interface.
  2. Un runner installé chez vous ouvre un canal vers le Control Plane et y reste connecté.
  3. Une exécution est créée — à la main, par une planification, ou par un webhook. Le Control Plane la propose au runner.
  4. Le runner exécute les étapes du plan : il télécharge la sauvegarde, la décompresse, démarre un bac à sable, y restaure les données.
  5. Il lance ensuite les sondes, chacune dans son propre conteneur jetable.
  6. Il produit un rapport signé en Ed25519 et l'envoie au Control Plane.
  7. Il détruit le bac à sable, ses volumes et son espace de travail.

La ligne que rien ne franchit

Le runner est le seul composant qui lit vos sauvegardes, connaît vos secrets et restaure vos volumes. Le Control Plane ne reçoit que le rapport : des états (PASS, WARN, FAIL), des mesures numériques, des noms d'objets et des empreintes.

Concrètement, le Control Plane ne stocke jamais :

  • le contenu d'une sauvegarde ;
  • un mot de passe, une clé S3, un jeton ;
  • un chemin de volume ou de fichier local de votre infrastructure.

Une source décrit est la sauvegarde ; la liaison entre cette source et le secret qui l'ouvre reste sur le runner, dans son fichier de configuration.

L'espace de travail

Toutes les étapes d'une exécution partagent un répertoire temporaire, l'espace de travail. Le moteur de restauration y écrit ; les sondes le voient monté en lecture seule sur /workspace.

C'est la seule chose qu'une sonde et une étape ont en commun : une sonde ne sait rien du plan qui l'a précédée, elle ne connaît que le contenu de ce répertoire et les variables d'environnement qu'on lui a passées.

L'espace de travail est supprimé à la fin de l'exécution, quel qu'en soit le résultat.

Le verdict d'une exécution

Chaque sonde écrit /out/result.json avec un état parmi trois :

État Signification Code de sortie du conteneur
PASS Tout ce qui était demandé est vérifié. 0
WARN Vérifié, avec une réserve. 0
FAIL Une vérification a échoué, ou n'a pas pu être faite. 1

Une sonde à qui on ne demande rien ne rend pas forcément PASS : plusieurs sondes échouent délibérément dans ce cas. Voir le contrat d'assertion.