First commit

This commit is contained in:
2026-07-20 11:05:07 +02:00
commit b592ab669f
159 changed files with 10294 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Broker Mosquitto master (Phase 3) — écoute 8883, TLS obligatoire.
# Cohabite avec le listener local (mosquitto-local.conf) dans le même
# processus mosquitto : per_listener_settings s'applique par listener, pas
# de conflit entre les deux fichiers de conf.d.
#
# Deux chaînes de confiance distinctes :
# - certfile/keyfile : certificat Let's Encrypt du domaine __MQTT_MASTER_DOMAIN__
# (identité TLS présentée par le serveur) — copié par
# certbot-deploy-mosquitto.sh vers /etc/mosquitto/master-tls/, jamais lu
# directement dans /etc/letsencrypt/ (verrouillé root-only par certbot,
# illisible pour l'utilisateur système 'mosquitto')
# - cafile : CA privée dédiée (scripts/master-ca-init.sh), qui NE SERT QU'À
# vérifier les certificats clients des noeuds (mTLS) — Let's Encrypt ne
# signe pas de certificats clients.
#
# Déployé par install.sh (install-master) vers /etc/mosquitto/conf.d/mosquitto-master.conf
listener 8883
protocol mqtt
cafile /etc/mosquitto/master-ca/ca.crt
certfile /etc/mosquitto/master-tls/fullchain.pem
keyfile /etc/mosquitto/master-tls/privkey.pem
tls_version tlsv1.2
# mTLS : le certificat client est obligatoire, et son CN devient l'identité
# MQTT du noeud (exploité par master-acl.conf pour restreindre chaque noeud
# à ses propres topics).
require_certificate true
use_identity_as_username true
allow_anonymous false
acl_file /etc/mosquitto/master-acl.conf