Passer wgautomesh en prod #9

Merged
lx merged 11 commits from wgautomesh into main 2023-03-24 11:05:29 +00:00
Owner

wgautomesh semble fonctionner correctement sur staging, on pourrait envisager de le déployer en prod.

Problème: Le build du paquet NixOS met un peu de temps car il y a pas mal de Rust à compiler (j'ai essayé de minimiser mais Rust c'est comme ça, on a pas trop le choix). Sur staging les noeuds utilisent nix.web.deuxfleurs.fr comme cache, mais c'est un peu casse-gueule de le mettre comme cache sur la prod :

  • si Garage est pas dispo, on peut potentiellement plus rebuild NixOS (mais apparament il y a un flag --fallback qui permet de dire que si le cache est pas dispo, on compile les sources, ce qui serait ok dans notre cas, juste un peu plus lent quand y'a une màj de wgautomesh)
  • plus facile de faire une supply chain attack si quelqu'un arrive à infiltrer un mauvais binaire dans le bucket nix

Quelle stratégie adopter ?

  • Option 1 : on build sur tous les noeuds, c'est long pour le premier deploy mais c'est ok
  • Option 2 : on met nix.web.deuxfleurs.fr en cache sur les machines de prod
  • Option 3 : on compile un binaire statique qu'on envoie sur gitea dans les releases, et on download ça dans le paquet NixOS plutôt que de compiler from source
  • Option 4 : on met un cache Nix ailleurs sur une machine ultra fiable quelque part
  • Option 5 : attendre la stabilisation de https://github.com/NixOS/nix/pull/7188

L'option 3 m'a l'air possiblement la meilleure

`wgautomesh` semble fonctionner correctement sur staging, on pourrait envisager de le déployer en prod. **Problème:** Le build du paquet NixOS met un peu de temps car il y a pas mal de Rust à compiler (j'ai essayé de minimiser mais Rust c'est comme ça, on a pas trop le choix). Sur staging les noeuds utilisent `nix.web.deuxfleurs.fr` comme cache, mais c'est un peu casse-gueule de le mettre comme cache sur la prod : - si Garage est pas dispo, on peut potentiellement plus rebuild NixOS (mais apparament il y a un flag `--fallback` qui permet de dire que si le cache est pas dispo, on compile les sources, ce qui serait ok dans notre cas, juste un peu plus lent quand y'a une màj de wgautomesh) - plus facile de faire une supply chain attack si quelqu'un arrive à infiltrer un mauvais binaire dans le bucket `nix` Quelle stratégie adopter ? - Option 1 : on build sur tous les noeuds, c'est long pour le premier deploy mais c'est ok - Option 2 : on met nix.web.deuxfleurs.fr en cache sur les machines de prod - Option 3 : on compile un binaire statique qu'on envoie sur gitea dans les releases, et on download ça dans le paquet NixOS plutôt que de compiler from source - Option 4 : on met un cache Nix ailleurs sur une machine ultra fiable quelque part - Option 5 : attendre la stabilisation de <https://github.com/NixOS/nix/pull/7188> L'option 3 m'a l'air possiblement la meilleure
lx added 5 commits 2023-03-17 16:35:40 +00:00
lx added 1 commit 2023-03-17 17:01:46 +00:00
lx added 1 commit 2023-03-17 17:18:33 +00:00
lx added 1 commit 2023-03-17 17:22:01 +00:00
lx added 1 commit 2023-03-20 10:17:47 +00:00
lx added 1 commit 2023-03-24 10:29:18 +00:00
lx added 1 commit 2023-03-24 11:01:46 +00:00
lx changed title from WIP: Passer wgautomesh en prod to Passer wgautomesh en prod 2023-03-24 11:05:06 +00:00
lx merged commit 76c8e8f0b0 into main 2023-03-24 11:05:29 +00:00
lx deleted branch wgautomesh 2023-03-24 11:05:29 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/nixcfg#9
No description provided.