Skip to content

Pleiades GSLB Documentation

This directory contains comprehensive documentation for the Pleiades Global Server Load Balancer (GSLB).

Navigation - User Guides (Getting Started, Installation, Configuration, etc.): ./user/ - Architecture: ./Architecture.md - Configuration Reference: ./Configuration.md - Health Checks: ./HealthChecks.md - GitOps (Configuration Management): ./GitOps.md - State Synchronization (NATS + JetStream): ./StateSync.md - Includes JetStream-based Configuration Sync (YAML per cluster) — see overview and user setup guides. - Metrics (Prometheus): ./Metrics.md - Security: ./Security.md - Licensing: ./Licensing.md - Deployment: ./Deployment.md - Operations & Runbooks: ./Operations.md - API Reference (public types): ./API.md - WebUI (Dashboard): ./WebUI.md - Diagrams (PlantUML): ./diagrams/

Rendering UML

  • All diagrams are provided as PlantUML (.puml) files. A comprehensive architectural UML is also provided at ./diagrams/GSLB_Architecture.umlb (PlantUML syntax inside .umlb).
  • To render diagrams:
  • Install PlantUML (requires Java) or use VS Code/JetBrains PlantUML plugin.
  • Example CLI: plantuml ./diagrams/*.puml ./diagrams/*.umlb

Conventions

  • Configuration examples are YAML and align with internal/config/config.go defaults.
  • Metrics include constant labels cluster and node when configured.
  • Security defaults are secure-by-default (e.g., HTTPS health checks verify TLS by default).

Highlights (recent additions)

  • WebUI Dashboard: Next.js-based web interface with real-time WebSocket updates for health monitoring. See ./WebUI.md.
  • Weighted Round-Robin algorithm with per-endpoint weights in loadbalancer.
  • JetStream-only Configuration Sync foundation: distribute a YAML ClusterConfig per cluster via NATS JetStream (KV + Stream). See:
  • Reference: ./StateSync.md (Configuration Sync section)
  • User guides: ./user/StateSyncSetup.md and ./user/ConfigurationGuide.md

Changes

Adding these to trigger the actions workflow:

Go number: 4