Aller au contenu

Déployer depuis un hôte alternatif

Par défaut, un seul poste admin déploie tout le parc (voir Déploiement). Un déployeur unique est un point de défaillance : s’il tombe, plus aucun just apply n’est possible. On peut promouvoir un hôte alternatif, typiquement un serveur puissant et souvent disponible, en déployeur de secours autonome capable de piloter le parc à la place du poste admin.

Un déployeur ne repose que sur quatre éléments. Deux existent déjà sur chaque hôte, deux se préparent une fois.

ÉlémentDétailÀ faire
Outillagecolmena, just, sops (via un profil admin)Activer un drapeau
Cache binaireharmonia propre au déployeurActiver un service
Espace de travailclone du dépôt (config + framework)Cloner + synchroniser
Identité SSH nixdéjà autorisée sur tout le parcCopier la clé privée

La topologie visée : deux déployeurs alimentés par une source commune, chacun capable de déployer le parc.

Diagram

Les outils de déploiement accompagnent un profil home admin (ex. nix-admin), mais restent masqués tant que l’hôte ne se déclare pas hôte d’administration. Activez ce drapeau sur l’hôte alternatif :

# usr/machines/<hôte>/features.nix
darkone.admin.nix.enable = true;
  • L’utilisateur qui déploiera doit porter un profil home admin.
  • Serveur sans bureau, les paquets graphiques du profil sont automatiquement exclus : l’outillage installé reste léger.

Recommandé : donner au déployeur son propre cache binaire. Il compile le parc, puis re-sert ses dérivations aux autres hôtes.

etc/config.yaml
services:
harmonia:
global: true
  • global: true rend le cache joignable cross-zone via le VPN, utile quand le déployeur et ses cibles ne sont pas dans la même zone.
  • La clé de signature est déjà gérée par sops, commune à tout le réseau : rien de neuf à provisionner.
  1. Déclarer et déployer. Depuis le poste admin, poser les deux options ci-dessus, régénérer, puis déployer l’hôte alternatif :

    Fenêtre de terminal
    just generate
    just apply <hôte>
  2. Cloner l’espace de travail sur l’hôte alternatif, au même chemin que sur le poste admin, avec le sous-dépôt du framework au même endroit.

  3. Partager la source. Un remote git commun, ou un pull régulier depuis le poste admin, tient les deux déployeurs alignés. Seul l’état committé est déployé.

  4. Copier la clé privée de l’utilisateur de déploiement (nix) vers l’hôte alternatif, en 600 et propriété de nix :

    Fenêtre de terminal
    # sur l'hôte alternatif
    /home/nix/.ssh/id_ed25519

    Sa clé publique est déjà autorisée sur tout le parc, aucun redéploiement des accès n’est nécessaire.

  5. Valider depuis l’hôte alternatif :

    Fenêtre de terminal
    colmena --version
    just apply <cible-témoin> test
UsageClé admin sops
Déployer et inspecter (apply, exec, enter, reboot)Non requise
Éditer ou faire tourner les secretsRequise

Le déploiement seul n’a pas besoin de la clé admin : les secrets se déchiffrent sur chaque cible avec sa clé d’infra. Ne copiez la clé admin sur l’hôte alternatif que si vous voulez aussi y gérer les secrets.