Le dépot contient la configuration de base des serveurs de la mission apprentissage ainsi que les images dockers personnalisées.
Le reverse proxy est un serveur nginx, le code se trouve dans le dossier reverse_proxy
.
L'image est basée sur l'image officielle de nginx et ajoute:
- le module
headers-more-nginx-module
- le waf
modsecurity
- les fichiers de configuration de base pour:
- le support ACME (letsencrypt)
- l'ajout d'un mode de maintenance
- les routes nécessaire au monitoring (nodeexporter, cadvisor, fluentd)
Fluentd est un collecteur de logs, le code se trouve dans le dossier fluentd
.
L'image est basée sur l'image officielle de fluentd et ajoute:
- le plugin
fluent-plugin-grafana-loki
pour l'envoi des logs vers loki - le plugin
fluent-plugin-prometheus
pour l'exposition des métriques fluentd vers prometheus - le plugin
fluent-plugin-s3
pour l'archivage des logs vers s3 - une configuration de base pour la collecte des logs:
- des containers docker
- du reverse proxy
- du firewall applicatif (fail2ban)
- du firewall OVH
- d'accès ssh (auth.log)
- système (syslog)
La configuration des serveurs est gérée par ansible, le code se trouve dans le dossier .infra
.
La configuration de base contient la configuration:
- des accès ssh (habilitations, password policy, sudoers)
- du firewall (fail2ban, blacklist IPs)
- du DNS
- de la rotation des logs (logrotate)
- du backup des bases de données
- de Docker (installation, configuration, mise à jour)
- du monitoring (promtail, nodeexporter, cadvisor, fluentd)
- des certificats SSL (letsencrypt)
- des containers de base (reverse proxy, fluentd, nodeexporter, cadvisor)