Set-OPS-Public/roles/serveur_ops/templates/LISEZ-MOI.md.j2

59 lines
2.5 KiB
Text
Raw Normal View History

2026-08-23 11:58:10 -04:00
# Poste d'exploitation de {{ organisation | default('cet écosystème') }}
> Fichier **généré** par le rôle `serveur_ops`. Ne pas éditer à la main.
Cette machine sait reconstruire l'écosystème. Elle porte le moteur Set-OPS, le plan, et
un Ansible épinglé sur la même famille que celle qui a servi à le construire.
## Ce qu'elle contient
```text
{{ serveur_ops_racine }}/
{% for d in serveur_ops_depots %}
{{ "%-22s" | format(d.dest) }} {{ d.role }} — cloné depuis {{ serveur_ops_forge_url }}/{{ serveur_ops_forge_organisation }}/{{ d.depot }}.git
{% endfor %}
venv/ Ansible {{ serveur_ops_ansible }}
.ssh/id_{{ serveur_ops_cle_type }} la clé propre au poste
```
Le génome vient de **la forge de cet écosystème**, pas de son parent. Ces dépôts y sont
des miroirs, resynchronisés automatiquement : le poste lit donc une copie vivante.
## S'en servir
```bash
sudo -iu {{ serveur_ops_utilisateur }}
cd {{ serveur_ops_racine }}/{{ (serveur_ops_depots | selectattr('role', 'eq', 'moteur') | first).dest }}
export PATH={{ serveur_ops_venv }}/bin:$PATH
export ANSIBLE_COLLECTIONS_PATH={{ serveur_ops_racine }}/.ansible/collections
make aide
```
L'instance pilotée est désignée par le lien `instance` → actuellement
`{{ serveur_ops_instance }}`. On la bascule comme sur n'importe quel poste Set-OPS.
## Les deux choses qu'il n'a PAS, et pourquoi
**Le mot de passe de la voûte.** Il se saisit à l'exécution. Une machine qui détiendrait
à la fois le plan, l'accès SSH à toute la flotte et la clé des secrets n'aurait plus
aucune profondeur : la compromettre, ce serait compromettre l'écosystème entier. Le mot
de passe reste dans une tête, ou dans un coffre hors de cette machine.
**Le fichier de voûte lui-même.** Les dépôts d'instance excluent `vault.yml` de git —
c'est la règle « aucun secret en clair ». Le génome cloné ici porte donc le plan **sans
les secrets**. Pour un déploiement réel, la voûte se restaure depuis la sauvegarde
(`restic`), pas depuis la forge.
Autrement dit : ce poste reproduit la **structure** de l'écosystème de mémoire, et ses
**secrets** depuis la sauvegarde. Deux sources distinctes, et c'est voulu.
## Sa clé doit être autorisée
Le poste s'est fabriqué sa propre paire SSH, distincte de celle du mainteneur — deux
exploitants, deux révocations possibles. Tant que sa clé publique n'est pas dans les
intrants SSH du plan, il ne joint aucun hôte. La clé publique :
```bash
cat {{ serveur_ops_racine }}/.ssh/id_{{ serveur_ops_cle_type }}.pub
```