Ce que vous voyez
Un service pourrait repartir sur des données incomplètes; l’admission doit rester fermée.
Fiche de service · Données, historique et preuvesFiche composant · Données et preuves
Garder le service bloqué après reboot tant que la reprise n’est pas explicitement terminée.Vérifie localement que les services et la maintenance restent mutuellement exclusifs avant et après deux arrêts forcés d’une VM x86_64.
Je veux comprendre: direction, équipes métier, communication, achats et première visite. Exploitation: opérateur, support et astreinte. Vue architecte: architecte, ingénieur et sécurité. Tout afficher: revue complète de la fiche.
« Je veux comprendre » affiché. Ce choix sera repris sur les autres fiches. La décision de mise en service et les risques restent toujours visibles.
Le résumé donne le rôle, le trajet, le risque, le responsable et la limite de preuve en moins d’une minute. Les dépendances et exemples restent disponibles juste après, sans jargon imposé.
Empêcher un redémarrage dangereux après une panne.
Garder le service bloqué après reboot tant que la reprise n’est pas explicitement terminée.
Comme une porte coupe-feu: elle reste fermée après la panne jusqu’au contrôle autorisé.
Une maintenance ou une panne laisse un verrou actif pendant le redémarrage de la machine.
Le service reste fermé jusqu’à une adoption et un contrôle final autorisés.
Les équipes qui utilisent ou contrôlent ces données.
Reprise après redémarrage testée localement. PROUVÉ: 126 sources, 48/48 tests de reprise, 81/81 sur quatre séries. NON PROUVÉ: nettoyage Scaleway réel, perte complète du contrôleur, hôte candidat, production. Mise en service interdite pour l’instant.
Un service pourrait repartir sur des données incomplètes; l’admission doit rester fermée.
Responsable de la reprise hôte. Autorité de décision: Responsable exploitation plateforme.
Autoriser la reprise du service seulement après finalizer réussi et attestation du bon boot, du bon volume et du bon processus.
Une maintenance ou une panne laisse un verrou actif pendant le redémarrage de la machine.
Des services autorisés à écrire, des règles de conservation et d’une restauration préparée.
Les écritures concernées sont arrêtées. L’équipe données applique la procédure de restauration approuvée, sans correction improvisée.
Après une coupure brutale simulée de la machine d’essai, le service ne repart pas tout seul si une réparation était en cours. Il reste fermé tant qu’une personne autorisée n’a pas terminé et vérifié la remise en état. Les données présentes restent en place pendant ce temps.
Snapshot recovery 126 sources, 48/48 tests recovery et 81/81 sur quatre suites. Les contrats du reaper provider vérifient canari expiré avant facturation, run postérieur, trois absences, suppressions par UUID, refus de rattachement et GET direct avec CLI factice. Le vrai Job Scaleway et la perte complète du contrôleur restent non prouvés; production NO-GO.
Deux coupures forcées et 81/81 contrôles ciblés sont acquis. Sans hébergement réel, le nettoyage de secours attend la disparition d’un témoin expiré, confirme trois fois son absence, refuse une ressource rattachée en course et ne traite que les identifiants attendus. L’absence observée couvre une seule zone et quatre types de ressources; l’absence d’écriture concurrente reste une condition à garantir. Le nettoyage Scaleway réel et la perte complète du contrôleur ne sont pas encore exercés. Rejouer la chaîne sur un hôte amd64 natif candidat avec la vraie image Navy Phone, une release signée, des défaillances de stockage contrôlées, le média, un appel et une validation indépendante.
Une maintenance ou une panne laisse un verrou actif pendant le redémarrage de la machine. Le service reste fermé jusqu’à une adoption et un contrôle final autorisés.
Une VM x86_64 jetable est coupée de force avec un restore committed: le verrou stale est adopté, le reçu est finalisé, puis l’application synthétique repart. Après une seconde coupure avec un reçu corrompu, le verrou reste actif et l’application reste arrêtée.
Les six lectures ci-dessous reprennent les mêmes faits. Elles ne créent pas une seconde source de vérité.
Le trajet montre ce qui déclenche cette fonction, le service qu’elle rend et le résultat obtenu. Il reste lisible sans fonction interactive.
Partie documentée: Empêcher un redémarrage dangereux après une panne.
La version vérifiée installe les outils hors du dossier de travail et garde le service désactivé avant tout démarrage.
Quand le service fonctionne, il empêche qu’une restauration modifie les mêmes données.
Après l’arrêt forcé et le redémarrage de la VM, l’ancien verrou reste présent et le service ne repart pas.
Une action autorisée adopte l’ancien verrou, vérifie le reçu et relance seulement après succès. Si le reçu est corrompu, le verrou reste actif et le service reste fermé.
Comment lire ce trajet: avancez avec les flèches du clavier ou parcourez les étapes dans l’ordre. Les contrats exacts restent dans la « Vue architecte ».
Étape 1 sur 4: La version vérifiée installe les outils hors du dossier de travail et garde le service désactivé avant tout démarrage.
Impact utile: Le service reste fermé jusqu’à une adoption et un contrôle final autorisés.
En cas de panne: Un service pourrait repartir sur des données incomplètes; l’admission doit rester fermée.
Responsable: Responsable de la reprise hôte. Autorité de décision: Responsable exploitation plateforme.
Reconnaître ce qui se passe, protéger le service et prévenir le bon responsable sans improviser.
Un service pourrait repartir sur des données incomplètes; l’admission doit rester fermée.
Arrêter les nouvelles écritures concernées, protéger l’état existant et prévenir l’équipe données.
Les écritures concernées sont arrêtées. L’équipe données applique la procédure de restauration approuvée, sans correction improvisée.
Responsable de la reprise hôte. Autorité de décision: Responsable exploitation plateforme. La procédure de production reste à créer et valider avant la mise en service. Ouvrir la fiche d’architecture et de preuve du domaine.
Décision actuelle: mise en service interdite pour l’instant. Deux coupures forcées et 81/81 contrôles ciblés sont acquis. Sans hébergement réel, le nettoyage de secours attend la disparition d’un témoin expiré, confirme trois fois son absence, refuse une ressource rattachée en course et ne traite que les identifiants attendus. L’absence observée couvre une seule zone et quatre types de ressources; l’absence d’écriture concurrente reste une condition à garantir. Le nettoyage Scaleway réel et la perte complète du contrôleur ne sont pas encore exercés. Ce qui reste à faire: Rejouer la chaîne sur un hôte amd64 natif candidat avec la vraie image Navy Phone, une release signée, des défaillances de stockage contrôlées, le média, un appel et une validation indépendante.Décision actuelle: promotion NO-GO, pas de mise en production. PROUVÉ sur le snapshot recovery fermé à 126 sources au digest c25ee67a0a9302cf532a546a33c895a3b27dfc6a7121efa1c3ef5ad8b2a27e6f et au digest d’entrées 5c64e87449a54a644cb8cf26c12fc65999c81ab2b3ebee8a01be832153d05902: 48/48 tests telephony-backup-restore et 81/81 sur quatre suites ciblées. Le rapport systemd v6 historique prouve séparément, dans une VM QEMU x86_64 émulée, jetable et locale non signée, deux arrêts forcés, trois boot ID, l’adoption stale, la révocation de l’ancien token, le finalizer positif, la reprise synthétique et le refus d’un reçu corrompu. Les contrats du reaper provider, exercés avec CLI factice, imposent un canari déjà expiré supprimé avant toute ressource facturable, un run réussi strictement postérieur et trois absences consécutives. La suppression du serveur est non cascade; les UUID exacts du groupe de sécurité, du volume et de l’IP sont contrôlés avant suppression, y compris par GET direct lorsque les listes sont vides. Une course de rattachement arrête le nettoyage au lieu de supprimer la ressource. L’inventaire vide porte uniquement sur serveur, groupe de sécurité, volume et IP dans le Project et la zone sélectionnés; les autres zones et familles ne sont pas observées, et l’exclusivité des écritures IAM reste une hypothèse. Le budget de 0,10 EUR couvre seulement les ressources du lab et exclut le Job partagé. Le coût compute s’arrête à serverDeletedAt; le coût IPv4 et volume s’arrête à billableAttachmentsAbsentAt. Le workspace temporaire est créé seulement après readiness du reaper et armement du nettoyage persistant, puis supprimé après finalisation. Tous les NAVY_SCALEWAY_TEST_* sont refusés avant provider hors du harnais hermétique exact; le catalogue synthétique est impossible en réel. Trois arrêts SIGKILL sont prouvés causalement. Le parseur du catalogue traverse deux pages synthétiques; l’API publique réelle reste non prouvée. Aucun P0/P1 ne reste en contre-revue: essai payant borné GO seulement sous Node 22.23.2, Project et profil dédiés, opérateur local de confiance. P2: vérificateur statique lexical et TOCTOU local théorique même UID entre hash et exécution. NON PROUVÉ: vrai Job ou provider cloud exécuté, perte complète du contrôleur, hôte cloud candidat, vraie image Navy Phone, release signée, média et appel réel. Production NO-GO. Blockers: Job Scaleway réel, perte complète du contrôleur, hôte cloud amd64 natif candidat, vraie image Navy Phone, défaillances de stockage contrôlées, release signée avec SBOM et policy CVE, contrôle média et attestation CI autorisée.
Responsabilité, séquence nominale, panne et niveau de service attendu.
| Owner et rôle | Séquence nominale | Mode dégradé | Observabilité et SLO |
|---|---|---|---|
| Empêche le service de repartir pendant une maintenance ou sur un verrou stale. Owner reprise hôte. Non-rôle: Ne prouve ni un hôte cloud amd64 natif ou une perte électrique physique, ni une écriture de stockage déchirée, l’image applicative Navy Phone déployée, le média ou un appel réel. | Une VM x86_64 jetable est coupée de force avec un restore committed: le verrou stale est adopté, le reçu est finalisé, puis l’application synthétique repart. Après une seconde coupure avec un reçu corrompu, le verrou reste actif et l’application reste arrêtée. | Adoption stale, révocation, finalizer et reaper contractuel sont testés localement. Une course de rattachement bloque les suppressions; les listes vides déclenchent un GET direct des UUID mémorisés. | Le niveau de preuve est Deux coupures forcées x86 locales prouvées et durcies, production NO-GO. Aucun SLO de production n’est acquis; l’owner doit mesurer disponibilité, erreurs, saturation et reprise avant promotion. |
Modes de panne connus, comportement de reprise et signaux à mesurer avant toute mise en service.
| Modes de panne | Reprise après incident | Signaux à mesurer |
|---|---|---|
| État conservé après coupure forcée: masque, verrou, bundle, keeper, scope, opération, phase et reçu. La preuve locale v6 enchaîne restore réel, arrêt forcé sans demande d’arrêt invité, nouveau boot ID, adoption stale, finalizer, libération du verrou et reprise synthétique. Une seconde coupure avec reçu corrompu prouve que le finalizer échoue, que le verrou reste actif et que l’application ne repart pas. | Signaux existants: snapshot recovery fermé à 126 sources au digest c25ee67a0a9302cf532a546a33c895a3b27dfc6a7121efa1c3ef5ad8b2a27e6f et au digest d’entrées 5c64e87449a54a644cb8cf26c12fc65999c81ab2b3ebee8a01be832153d05902, 48/48 tests telephony-backup-restore et 81/81 sur quatre suites. Le rapport systemd v6 historique conserve la preuve locale émulée des deux arrêts forcés, trois boot ID, adoption stale, finalizer positif, reprise synthétique et refus fail-closed. Les nouveaux contrats du reaper provider sont exercés avec CLI factice seulement: canari déjà expiré supprimé avant allocation facturable, run strictement postérieur, trois absences, suppression serveur non cascade, UUID exacts, course de rattachement refusée et GET direct face aux listes vides. L’inventaire vide couvre seulement serveur, groupe de sécurité, volume et IP dans le Project et la zone sélectionnés; les autres zones et familles ne sont pas observées, et l’exclusivité IAM est une hypothèse. Budget de 0,10 EUR limité aux ressources du lab, coût du Job partagé exclu. Le coût compute s’arrête à serverDeletedAt, l’IPv4 et le volume à billableAttachmentsAbsentAt. Le workspace est créé après readiness du reaper et armement du nettoyage persistant, puis supprimé après finalisation. Tous les NAVY_SCALEWAY_TEST_* sont refusés avant provider hors harnais hermétique exact; trois SIGKILL sont prouvés causalement et le catalogue synthétique est impossible en réel. Deux pages synthétiques traversent le parseur du catalogue; l’API publique réelle reste non prouvée. Aucun P0/P1: essai payant borné GO sous Node 22.23.2, Project et profil dédiés, opérateur local de confiance. P2: vérificateur statique lexical et TOCTOU local théorique même UID entre hash et exécution. Vrai Job/provider cloud, perte complète du contrôleur, hôte candidat et production restent non prouvés. NO-GO production. |
Entrées, sorties, protocoles, données, dépendances et configuration.
| Amont et entrées | Aval et sorties | Interfaces et trust boundary | État, données et déploiement |
|---|---|---|---|
| Unités systemd, maintenance-lock v3, autorité Docker locale et bundle de reprise installé. | Admission fail-closed, adoption stale contrôlée, finalizer de restauration et décision de reprise du service. | Unités systemd, maintenance-lock v3, boot ID, autorité Docker locale, kit hors checkout et contrats du reaper provider. | PROUVÉ localement: snapshot fermé de 126 sources, 48/48 tests recovery et 81/81 sur quatre suites; deux coupures forcées historiques sous vrai PID 1 systemd avec reprise positive et refus fail-closed. Déploiement: VM QEMU x86_64 émulée, locale et jetable, séparée du profil Docker par défaut; aucun hôte cloud, volume, carrier, média ou appel de production. |
Frontière de confiance: Mécanisme local à l’hôte: unités systemd, maintenance-lock v3, boot ID et autorité Docker locale bornent l’admission, sans exposition publique. Le kit est installé hors checkout et root-owned. L’autorité Docker contrôle quelle opération de maintenance peut muter les données du service.
Le statut de preuve reste visible quel que soit le profil choisi.
| Sécurité et identité | Preuve et sources | Blockers | Définitions |
|---|---|---|---|
| Unités systemd, maintenance-lock v3, boot ID, autorité Docker locale, kit hors checkout et contrats du reaper provider. | Niveau de preuve: PROUVÉ sur le snapshot recovery fermé à 126 sources au digest c25ee67a0a9302cf532a546a33c895a3b27dfc6a7121efa1c3ef5ad8b2a27e6f et au digest d’entrées 5c64e87449a54a644cb8cf26c12fc65999c81ab2b3ebee8a01be832153d05902: 48/48 tests telephony-backup-restore et 81/81 sur quatre suites ciblées. Le rapport systemd v6 historique prouve séparément, dans une VM QEMU x86_64 émulée, jetable et locale non signée, deux arrêts forcés, trois boot ID, l’adoption stale, la révocation de l’ancien token, le finalizer positif, la reprise synthétique et le refus d’un reçu corrompu. Les contrats du reaper provider, exercés avec CLI factice, imposent un canari déjà expiré supprimé avant toute ressource facturable, un run réussi strictement postérieur et trois absences consécutives. La suppression du serveur est non cascade; les UUID exacts du groupe de sécurité, du volume et de l’IP sont contrôlés avant suppression, y compris par GET direct lorsque les listes sont vides. Une course de rattachement arrête le nettoyage au lieu de supprimer la ressource. L’inventaire vide porte uniquement sur serveur, groupe de sécurité, volume et IP dans le Project et la zone sélectionnés; les autres zones et familles ne sont pas observées, et l’exclusivité des écritures IAM reste une hypothèse. Le budget de 0,10 EUR couvre seulement les ressources du lab et exclut le Job partagé. Le coût compute s’arrête à serverDeletedAt; le coût IPv4 et volume s’arrête à billableAttachmentsAbsentAt. Le workspace temporaire est créé seulement après readiness du reaper et armement du nettoyage persistant, puis supprimé après finalisation. Tous les NAVY_SCALEWAY_TEST_* sont refusés avant provider hors du harnais hermétique exact; le catalogue synthétique est impossible en réel. Trois arrêts SIGKILL sont prouvés causalement. Le parseur du catalogue traverse deux pages synthétiques; l’API publique réelle reste non prouvée. Aucun P0/P1 ne reste en contre-revue: essai payant borné GO seulement sous Node 22.23.2, Project et profil dédiés, opérateur local de confiance. P2: vérificateur statique lexical et TOCTOU local théorique même UID entre hash et exécution. NON PROUVÉ: vrai Job ou provider cloud exécuté, perte complète du contrôleur, hôte cloud candidat, vraie image Navy Phone, release signée, média et appel réel. Production NO-GO. Le rapport v6 systemd reste local, émulé et non signé. Les nouveaux contrôles du reaper utilisent une CLI factice: aucun vrai Job Scaleway ni perte complète du contrôleur n’est exercé. Le budget de 0,10 EUR ne couvre que les ressources du lab et exclut le coût du Job partagé. Hôte candidat, vraie application, release signée, média et appel restent non prouvés. NO-GO. Vue d’autorité du domaine · Entrée du catalogue | NO-GO: Job Scaleway réel, perte complète du contrôleur, hôte cloud amd64 natif candidat, vraie image Navy Phone, défaillances de stockage contrôlées, release signée avec SBOM et policy CVE, contrôle média et attestation CI autorisée. | Consulter les définitions de cette fiche |
| Données et souveraineté UE | Aucune donnée métier ne transite: le mécanisme manipule verrous, unités, boot ID et bundle local dans une VM QEMU x86_64 émulée et jetable. Tout reste sur l’hôte d’essai, sans sortie vers un tiers. La preuve sur un hôte cloud candidat de production et la localisation des données reprises restent non acquises. | ||