Arquitectura
Plano de control separado del plano de datos para máxima flexibilidad y fiabilidad
Arquitectura del Plano de Control
GovernFlow opera como un plano de control externo, completamente separado del plano de datos VPN. Esta separación permite gestión centralizada, escalado independiente y conmutación sin afectar sesiónes VPN activas.
governflowd
Demonio principal que proporciona API REST, coordinacion de cluster, gestión de sesiónes e integración OpenVPN via socket Unix.
governflow-ls
Servidor de licencias para gestión de licencias multi-tenant con licencias firmadas RSA-SHA256 y control de funcionalidades por niveles.
governflow-query
Ayudante ligero llamado por OpenVPN para configuración de cliente, reglas de firewall y gestión de rutas.
libgovernflow
Biblioteca compartida con funcionalidades comunes: registro, análisis de config, pool de conexiónes DB y verificacion de licencia.
┌──────────────────────────────────────────┐ │ GovernFlow Control Plane │ ├──────────────────────────────────────────┤ │ │ │ ┌────────────────────────────────────┐ │ │ │ governflowd │ │ │ │ ┌──────────────────────────────┐ │ │ │ │ │ Core: config, log, db, http │ │ │ │ │ └──────────────────────────────┘ │ │ │ │ ┌──────────────────────────────┐ │ │ │ │ │ Plugins: 14 dynamic modules │ │ │ │ │ └──────────────────────────────┘ │ │ │ │ Ports: 8443 (API), 8444 (UDP), │ │ │ │ 8445 (Raft), Unix Socket │ │ │ └────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────┴──────────────────┐ │ │ │ libgovernflow.so │ │ │ └────────────────────────────────────┘ │ │ │ ├──────────────────────────────────────────┤ │ OpenVPN Data Plane │ ├──────────────────────────────────────────┤ │ ┌────────────────────────────────────┐ │ │ │ OpenVPN Server + governflow-query │ │ │ │ (client-connect/disconnect hooks) │ │ │ └────────────────────────────────────┘ │ └──────────────────────────────────────────┘
Topologia del Cluster
Arquitectura distribuida con consenso Raft para alta disponibilidad
Nodo Líder
Maneja todas las operaciones de escritura y coordina el estado del cluster. Elegido automáticamente via consenso Raft.
Nodos Seguidores
Replican el estado del líder y manejan operaciones de lectura. Pueden convertirse en líder si el líder actual falla.
Protección de Quorum
Las escrituras requieren confirmacion mayoritaria. Previene split-brain y garantiza cero pérdida de datos durante conmutación.
Canales de Comunicacion
Flujo de Datos
Como GovernFlow se integra con OpenVPN para configuración en tiempo real
Cliente se Conecta a OpenVPN
OpenVPN recibe solicitud de conexión y activa el script client-connect
governflow-query Obtiene Config
Consulta governflowd via socket Unix para configuración de cliente (IP, rutas, QoS, zona)
Configuración Aplicada
Reglas de firewall via pf/iptables, rutas agregadas, archivo push generado para OpenVPN
Sesión Rastreada en el Cluster
Sesión registrada en todos los nodos del cluster con bloqueo distribuido para prevenir duplicados
Stack Tecnológico
Construido con rendimiento y fiabilidad en mente
Aprenda mas sobre GovernFlow
Programe una inmersion técnica con nuestro equipo de ingenieria.