Set-OPS-Public/roles/serveur_openldap/templates/setops-slapd-cert-sync.sh.j2
Daniel Allaire 1edd205d13 serveur_openldap : TLS via step_ca + organisation en intrant (code prod)
- TLS LDAPS/STARTTLS : pont du cert step_ca (client_pki, root:root 600)
  vers /etc/ldap/tls lisible par openldap ; script + unité path systemd
  qui re-synchronise et recharge slapd au renouvellement ; olcTLS* dans
  cn=config ; SLAPD_SERVICES expose ldaps://. Dégrade proprement sans cert.
- Organisation : intrant chezlepro_organisation (remplace « Exemple Inc »).

Validé statiquement (ansible-lint, syntax) ; déploiement réel à suivre.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 07:27:43 -04:00

23 lines
1,023 B
Django/Jinja

#!/bin/sh
# Gere par Set-OPS (role serveur_openldap). Ne pas editer a la main.
# Synchronise le certificat step_ca (depose par client_pki, root:root 600) vers un
# emplacement lisible par openldap, puis recharge slapd. Idempotent ; appele au
# deploiement ET a chaque renouvellement (unite path).
set -eu
SRC_CERT="{{ serveur_openldap_tls_source_cert }}"
SRC_KEY="{{ serveur_openldap_tls_source_cle }}"
SRC_CA="{{ serveur_openldap_tls_source_ca }}"
DST="{{ serveur_openldap_tls_dir }}"
# Rien a faire tant que client_pki n'a pas depose le certificat d'hote.
[ -f "$SRC_CERT" ] && [ -f "$SRC_KEY" ] || exit 0
install -o openldap -g openldap -m 0644 "$SRC_CERT" "$DST/cert.pem"
install -o openldap -g openldap -m 0640 "$SRC_KEY" "$DST/key.pem"
[ -f "$SRC_CA" ] && install -o openldap -g openldap -m 0644 "$SRC_CA" "$DST/ca.pem"
# Recharge slapd s'il tourne (sans echouer s'il est absent/arrete).
if systemctl --quiet is-active slapd 2>/dev/null; then
systemctl reload slapd 2>/dev/null || systemctl restart slapd
fi