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>
24 lines
1 KiB
Django/Jinja
24 lines
1 KiB
Django/Jinja
#!/bin/bash
|
|
# GENERE par Set-OPS (role serveur_ops_tenant). Ne pas editer a la main.
|
|
#
|
|
# SONDE « voute » — la voute est presente et chiffree
|
|
#
|
|
# Contrat : docs/conception/supervision-conception.md (API des greffons Nagios) — une ligne, 0/1/2.
|
|
# Mise en defaut PAR PARAMETRE : `serveur_ops_tenant_sonde_voute` (chemin inexistant).
|
|
set -uo pipefail
|
|
|
|
VOUTE={{ serveur_ops_tenant_sonde_voute }}
|
|
|
|
[[ -f "${VOUTE}" ]] || { echo "Aucune voute en ${VOUTE} — le runner ne peut pas deployer."; exit 2; }
|
|
|
|
# LA PRESENCE NE SUFFIT PAS, ET C'EST TOUT L'INTERET DE CETTE SONDE. Un fichier existe
|
|
# aussi bien chiffre qu'en clair ; seul son entete le dit.
|
|
head -c 20 "${VOUTE}" | grep -q '^\$ANSIBLE_VAULT' \
|
|
|| { echo "LA VOUTE EST EN CLAIR : ${VOUTE} — secrets lisibles sur ce runner."; exit 2; }
|
|
|
|
perm=$(stat -c '%a' "${VOUTE}" 2>/dev/null)
|
|
if [[ "${perm}" != "600" && "${perm}" != "640" && "${perm}" != "400" ]]; then
|
|
echo "Voute chiffree mais lisible trop largement (${perm}) : ${VOUTE}"
|
|
exit 1
|
|
fi
|
|
echo "Voute presente et chiffree (${perm})."
|