README reduit au role du projet et au demarrage rapide. docs/architecture.md (schemas Mermaid), docs/setup.md, docs/usage.md (154 cibles en 13 familles), docs/README.md (index). Documents ranges en conception/, exploitation/, hebergement/, projet/ ; 598 chemins suivis. QUICKSTART.md, SOLUTION.md, architecture-set-ops.md et la carte fondus puis retires. Preuves : P48 lit l'index et conception/mecanismes.md ; les gardes parcourent docs/ sous- dossiers compris (_documents) ; usage.md suit le Makefile dans les deux sens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 lines
1.7 KiB
Django/Jinja
47 lines
1.7 KiB
Django/Jinja
# GENERE par Set-OPS (role serveur_ops). Ne pas editer a la main.
|
|
#
|
|
# LA CONSOLE D'EXPLOITATION DE CET ECOSYSTEME.
|
|
#
|
|
# ELLE N'ECOUTE QUE SA PROPRE MACHINE, et ce n'est pas un reglage : c'est SA SEULE
|
|
# SERRURE. Le GUI sert sa page a qui la demande, avec son jeton ecrit dedans — le jeton
|
|
# garde contre le CSRF, pas contre un visiteur. Ce qui protege la fabric, c'est que
|
|
# personne d'autre que `127.0.0.1` ne peut frapper.
|
|
#
|
|
# Ce qui est publie est le nginx local, qui authentifie d'abord.
|
|
[Unit]
|
|
Description=Console d'exploitation Set-OPS ({{ setops_instance | default('instance') }})
|
|
Documentation=file://{{ serveur_ops_racine }}/{{ serveur_ops_depot_moteur }}/docs/README.md
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User={{ serveur_ops_utilisateur }}
|
|
Group={{ serveur_ops_utilisateur }}
|
|
WorkingDirectory={{ serveur_ops_racine }}/{{ serveur_ops_depot_moteur }}
|
|
|
|
# LE PYTHON DE L'ENVIRONNEMENT ISOLE, pas celui du systeme : le GUI importe `yaml` et
|
|
# les modules du moteur, et c'est cet environnement-la qui les porte.
|
|
ExecStart={{ serveur_ops_venv }}/bin/python3 scripts/inventory_gui.py \
|
|
--hote {{ serveur_ops_gui_ecoute }} --port {{ serveur_ops_gui_port }}
|
|
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
# CE QU'ELLE PEUT FAIRE, ET CE QU'ON LUI RETIRE. La console LANCE des deploiements : on
|
|
# ne peut donc pas la priver d'executables ni de reseau. Ce qu'on peut lui retirer sans
|
|
# la casser, on le retire — un service qui deploie merite plus de soin que les autres,
|
|
# pas moins.
|
|
NoNewPrivileges=yes
|
|
PrivateTmp=yes
|
|
ProtectHome=read-only
|
|
ProtectSystem=full
|
|
ProtectKernelTunables=yes
|
|
ProtectKernelModules=yes
|
|
ProtectControlGroups=yes
|
|
RestrictSUIDSGID=yes
|
|
RemoveIPC=yes
|
|
LockPersonality=yes
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|