How jesuavalc/proyecto-miniidm works
MiniIDM is a Docker-based identity and high-availability lab: LDAP directory service, Kerberos authentication, TLS-protected web access, LDAPS load balancing, and metrics monitoring. A user reaches the web service over TLS and authenticates with Kerberos; LDAP and KDC replicas support service continuity. Separate experiment scripts measure replication, TLS overhead, load-balancer throughput, KDC failover, node recovery, and network partition behavior. The graph preserves README-documented integrations; source excerpts were limited to exporters, so most infrastructure links are supported by the README rather than inspected runtime code.
Main entry points: init-ldap.sh LDAP Master · init-ldap-replica.sh LDAP Replica · scripts HA Experiments · prometheus.yml Prometheus
Components 17
Identity Services
- LDAP Master
idm1/scripts/init-ldap.sh - Primary KDC
idm1/scripts/init-kerberos.sh - LDAP Replica
idm2/scripts/init-ldap-replica.sh - Secondary KDC
idm2/scripts/init-kerberos-replica.sh
Access and Trust
- TLS SPNEGO Web
web1 - Certificate Authority
ca/scripts - Load Balancer 1
lb1/config/haproxy.cfg - Load Balancer 2
lb2/config/haproxy.cfg
Monitoring
- LDAP Exporters
ldap-exporter/exporter.py - KDC Metrics Exporter 1
idm1/scripts/kerberos_exporter.py - KDC Metrics Exporter 2
idm2/scripts/kerberos_exporter.py - Container Metrics
- Prometheus
monitoring/prometheus/prometheus.yml - Grafana
monitoring/grafana/provisioning/datasources/datasource.yml
Experiments
- Experiment Client
client/config/krb5.conf - HA Experiments
experimentos/scripts
Other components
- Web User
Connections 26
- Web User → TLS SPNEGO Web: requests service
README.md - TLS SPNEGO Web → Primary KDC: Kerberos auth
README.md - TLS SPNEGO Web → Secondary KDC: Kerberos failover
README.md - Certificate Authority → LDAP Master: signs certificates
README.md - Certificate Authority → LDAP Replica: signs certificates
README.md - Certificate Authority → TLS SPNEGO Web: signs certificates
README.md - LDAP Master → LDAP Replica: replicates directory
README.md - Primary KDC → Secondary KDC: propagates database
README.md - Load Balancer 1 → LDAP Master: balances LDAPS
README.md - Load Balancer 1 → LDAP Replica: balances LDAPS
README.md - Load Balancer 2 → LDAP Master: balances LDAPS
README.md - Load Balancer 2 → LDAP Replica: balances LDAPS
README.md - Experiment Client → HA Experiments: runs measurements
README.md - HA Experiments → LDAP Master: measures recovery
README.md - HA Experiments → LDAP Replica: measures replication
README.md - HA Experiments → Primary KDC: measures failover
README.md - HA Experiments → Load Balancer 1: measures throughput
README.md - LDAP Exporters → LDAP Master: scrapes metrics
ldap-exporter/exporter.py - LDAP Exporters → LDAP Replica: scrapes metrics
- KDC Metrics Exporter 1 → Primary KDC: reads KDC log
- KDC Metrics Exporter 2 → Secondary KDC: reads KDC log
- Prometheus → LDAP Exporters: scrapes metrics
README.md - Prometheus → KDC Metrics Exporter 1: scrapes metrics
README.md - Prometheus → KDC Metrics Exporter 2: scrapes metrics
README.md - Prometheus → Container Metrics: scrapes metrics
README.md - Grafana → Prometheus: queries metrics
README.md