25 lines
1 KiB
Text
25 lines
1 KiB
Text
|
|
#!/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/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})."
|