Installer un nœud
Quatre étapes sur la machine, et deux choses que toi seul peux faire en dehors : pointer le DNS, et faire vérifier ton empreinte.
Le chemin en une ligne
Section intitulée « Le chemin en une ligne »Si on t’a donné un jeton d’inscription, l’ensemble des étapes 0 à 2 se réduit à
une seule commande. Elle télécharge le code, l’extrait vers /opt/trusted-codes
et lance tc-operator setup, qui récupère le operator.yaml de ce nœud depuis
le jeton, installe la pile et s’inscrit lui-même.
curl -fsSL https://app.trusted.codes/download/install-node.sh | sudo bash -s -- <enrolment-token>Omets le jeton pour qu’il te soit demandé, afin qu’il n’atterrisse jamais dans ton historique de commandes :
curl -fsSL https://app.trusted.codes/download/install-node.sh | sudo bashLe téléchargement est vérifié contre le manifeste de version publié, et le manifeste lui-même contre une clé de signature épinglée.
Prends les étapes manuelles ci-dessous à la place si tu veux inspecter l’archive
d’abord, épingler une version, ou installer ailleurs qu’à /opt/trusted-codes
(--dir <chemin>).
Étape 0 — Mettre le code sur la machine
Section intitulée « Étape 0 — Mettre le code sur la machine »sudo mkdir -p /opt/trusted-codessudo tar -xzf trusted-codes-operator-<version>.tar.gz -C /opt/trusted-codescd /opt/trusted-codesLe préambule de l’installation vérifie que l’arborescence est complète et échoue bruyamment, avec cette instruction, sinon.
Étape 1 — Éditer operator.yaml
Section intitulée « Étape 1 — Éditer operator.yaml »cp scripts/tc-operator/operator.yaml.example operator.yamlchmod 600 operator.yaml$EDITOR operator.yamlGarde-le en mode 0600 — il contient ton mot de passe SMTP. Deux champs sont requis :
home_server: node1.example.comadmin_email: ops@example.comTout le reste a une valeur par défaut fonctionnelle. operator.yaml couvre le reste du fichier.
Étape 2 — Installer
Section intitulée « Étape 2 — Installer »sudo scripts/tc-operator/tc-operator install --config operator.yamlC’est idempotent — sûr à relancer, et relancer est la façon normale d’appliquer une nouvelle archive. Ça :
- Fait le préambule sur la machine : vérifie l’OS, provisionne un fichier d’échange de 4 Go, installe Docker s’il est absent, autorise les ports 22, 80 et 443 à travers le pare-feu.
- Génère chaque secret et émet le certificat mTLS du nœud.
- Démarre la pile complète dans un projet Docker isolé, chaque port publié lié
à
127.0.0.1. - Rejoue le schéma — migrations, puis semences de référence, puis dérogation de l’exploitant. Une base de données neuve construite par construction, jamais depuis un vidage.
- Branche l’identité et les drapeaux de fédération, et active la découverte WebFinger.
- S’auto-teste : une lecture authentifiée, et le gestionnaire de fédération qui répond.
- Imprime les enregistrements DNS dont tu as besoin et écrit la charge d’admission.
Ça n’abandonne pas si ton DNS n’est pas encore pointé. Le TLS est une étape séparée.
L’installation n’est pas verrouillée derrière une confirmation tapée : c’est ta seule commande sur ta propre machine.
Ça écrit /etc/trusted-codes/install.log avec la sortie complète de chaque
commande, et /etc/trusted-codes/README.md — une référence sur la machine
nommant chaque fichier de ce répertoire, lesquels sont critiques pour
l’identité, ce que fait chaque conteneur et ce qui casse quand il est arrêté.
Commence par ces deux-là quand quelque chose a l’air de clocher.
Ton premier admin
Section intitulée « Ton premier admin »Si tu as réglé admin_email, l’installation crée aussi ton premier
operator_admin pour cette adresse et imprime un mot de passe temporaire à
usage unique. Connecte-toi à l’application d’administration du nœud et change-le
immédiatement. L’installateur l’imprime une fois et plus jamais. Si tu le perds
avant de l’avoir changé, relance l’installation depuis un terminal : elle trouve
le compte existant et propose de réinitialiser le mot de passe.
Ce rôle n’administre que ce nœud. Il se voit refuser tout écran central — licences, droits, plans, drapeaux de fonctionnalité — au niveau du serveur, pas seulement dans l’interface, et il n’y a aucun moyen de l’escalader. Voir Faire tourner le nœud.
Étape 3 — Pointer le DNS, puis finaliser le TLS
Section intitulée « Étape 3 — Pointer le DNS, puis finaliser le TLS »L’installateur imprime l’enregistrement exact. Règle-le chez ton fournisseur DNS :
node1.example.com. A <l'ip-de-ta-machine>Une fois qu’il se résout :
sudo scripts/tc-operator/tc-operator finalize-tls --config operator.yamlÇa sonde jusqu’à ce que l’enregistrement A se résolve vers la machine, rend la configuration du proxy, et fait monter le HTTPS avec un certificat Let’s Encrypt.
Répète d’abord avec --dry-run. Ça utilise l’environnement de préproduction de
Let’s Encrypt : le certificat n’est pas fiable, et tu ne brûles aucune limite de
débit. Ça compte, parce que la vraie limite de débit est par domaine et tu ne
peux pas annuler l’avoir atteinte.
Étape 4 — Soumettre la charge d’admission
Section intitulée « Étape 4 — Soumettre la charge d’admission »L’installateur a écrit /etc/trusted-codes/admission-payload.json. Il ne
contient que du matériel de clé publique : ta clé publique de signature de
fédération et son empreinte, ton empreinte mTLS, tes domaines et tes capacités.
scripts/tc-operator/tc-operator submit-admissionÇa signe la charge avec la clé de fédération de ton nœud et la poste dans la file de révision centrale.
La signature prouve que ton nœud détient la clé. Elle ne prouve pas que tu possèdes le nom d’hôte — donc dis à Trusted Codes l’empreinte de ta clé publique par un canal séparé. La commande l’imprime. Quelqu’un vérifie cette empreinte à la main puis approuve ton nœud ; il n’y a pas d’auto-approbation. Relancer la commande rafraîchit l’entrée en attente.
Une fois approuvé, et une fois le registre signé republié, ton nœud fédère avec le maillage. En attendant, la surface admin reste derrière un écran « approbation en attente ».
Avant de pointer de vrais utilisateurs dessus
Section intitulée « Avant de pointer de vrais utilisateurs dessus »Le nœud tourne dès que l’installation se termine. Ce n’est pas la même chose qu’être prêt.
- Les enregistrements DNS se résolvent vers la machine, et
finalize-tlss’est terminé avec un certificat valide. - Admission approuvée — ton empreinte vérifiée, le nœud fédère.
- SMTP branché et vérifié. Envoie-toi un lien de connexion et confirme qu’il arrive.
- Le mot de passe admin changé depuis le temporaire.
/etc/trusted-codes/secrets.envcopié quelque part hors ligne. Le perdre fait perdre les clés d’identité du nœud et rend illisible toute donnée restaurée.- Clés d’intégration optionnelles réglées, si tu veux ces fonctionnalités.
Quand quelque chose échoue
Section intitulée « Quand quelque chose échoue »Une construction de surface a été sautée. Les autres surfaces se sont
installées ; seul ce portail n’a pas été construit. Lis l’erreur dans
install.log — cherche surface <name>: building. La cause habituelle est la
mémoire : une ligne « killed » ou signal 137 signifie que la machine a manqué de
mémoire. Ajoute de la RAM ou de l’échange et relance l’installation, qui retente
la construction. Le nœud est utilisable entre-temps.
Le TLS ne s’est pas finalisé. Presque toujours un DNS qui ne s’est pas
propagé. Confirme avec getent hosts <ton-domaine>, puis relance
finalize-tls.
L’admission reste en attente. Quelqu’un chez Trusted Codes doit vérifier ton empreinte hors bande et l’approuver. Resoumettre rafraîchit l’entrée ; ça ne l’approuve pas.