• [^] # Re: je comprend pas

    Posté par . En réponse à la dépêche Gestion de paquets et DevOps avec Nix, tour d’horizon sur un cas concret. Évalué à 1.

    Si on doit gérer un parc de cette taille, on va donc partir du principe qu'on utilise soit cachix, soit un serveur au sein de l'infra pour présenter la configuration voulue.

    Je vais isoler deux cas:

    1) la nouvelle version d'apache dont on parle est livrée par la release officielle de Nixpkgs/Nixos

    Dans ce cas, il suffit de faire une mise à jour des canaux des 500 machines (sur nixos, il y a un module pour faire cela régulièrement)

    2) la nouvelle version n'est pas distribuée dans nixpkgs

    Dans ce cas, il faut fournir un channel particulier pour les paquets custom (ça demande un peu plus de travail, mais ça permet de faciliter les personnalisations).

    La logique reste la même, il faut juste prévoir un channel (dans un dépôt git) pour présenter les paquets spécifiques.

    Dans le cas où certaines installations sont longues, on poussera les binaires sur l'espace cachix / le serveur cache de l'infra pour que les déploiements soient juste des téléchargements

    C'est assez proche de l'expérience de puppet. Le seul point à scripter soi-même, serait le provisionnement en mode push pour un hotfix (ssh + nix-channel --update && nixos-rebuild switch, donc rien de mortel) qui n'est pas proposé par défaut.