Check that in case everything burns, your infra will rise again from its ashes
Find a file
2026-01-06 16:52:22 +01:00
LICENSES feat: initial commit 2026-01-06 16:52:22 +01:00
shell feat: initial commit 2026-01-06 16:52:22 +01:00
.gitignore feat: initial commit 2026-01-06 16:52:22 +01:00
default.nix feat: initial commit 2026-01-06 16:52:22 +01:00
lon.lock feat: initial commit 2026-01-06 16:52:22 +01:00
lon.nix feat: initial commit 2026-01-06 16:52:22 +01:00
README.md feat: initial commit 2026-01-06 16:52:22 +01:00
REUSE.toml feat: initial commit 2026-01-06 16:52:22 +01:00
shell.nix feat: initial commit 2026-01-06 16:52:22 +01:00

Phoenix🔥❄️

Phoenix automatically checks that in case everything burns, your infra will rise again from its ashes

Thoughts (in french)

Archi

Composants

  1. Un service crée des données utiles sur la target et push sur un serveur les données oob (seed)
  2. La backup est déclenchée automatiquement (ou manuellement)
  3. On récupère la backup ainsi que des meta données de la backup (la date). Le serveur de coordination décide quels sont les seed à tester en fonction de ses retention policy (aussi les backup à tester)
  4. On restore la backup via un 9p => vm avec la config du serveur + un startup script de restoration
  5. On teste la backup avec les données oob => script de test à la nixos-test

Pk 3 scripts (retrieve, restore, test) => parce que chacun a une spécificité

Test policy

  • Time-based
  • Number based
  • Combinator (Either, Both)