Architettura
Control plane separato dal data plane per massima flessibilità e affidabilità
Architettura Control Plane
GovernFlow opera come control plane esterno, completamente separato dal data plane VPN. Questa separazione abilita gestione centralizzata, scaling indipendente e failover senza impatto sulle sessioni VPN attive.
governflowd
Demone principale che fornisce API REST, coordinamento cluster, gestione sessioni e integrazione OpenVPN via Unix socket.
governflow-ls
Server licenze per gestione licenze multi-tenant con licenze firmate RSA-SHA256 e controllo funzionalità basato su tier.
governflow-query
Helper leggero chiamato da OpenVPN per configurazione client, regole firewall e gestione route.
libgovernflow
Libreria condivisa con funzionalità comuni: logging, parsing config, connection pooling database e verifica licenze.
┌──────────────────────────────────────────┐ │ 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 Cluster
Architettura distribuita con consenso Raft per alta disponibilità
Nodo Leader
Gestisce tutte le operazioni di scrittura e coordina lo stato del cluster. Eletto automaticamente via consenso Raft.
Nodi Follower
Replicano lo stato dal leader e gestiscono operazioni di lettura. Possono diventare leader se il leader corrente fallisce.
Protezione Quorum
Le scritture richiedono conferma dalla maggioranza. Previene split-brain e garantisce zero perdita dati durante failover.
Canali di Comunicazione
Flusso Dati
Come GovernFlow si integra con OpenVPN per configurazione in tempo reale
Client si Connette a OpenVPN
OpenVPN riceve richiesta di connessione e attiva lo script client-connect
governflow-query Recupera Config
Interroga governflowd via Unix socket per configurazione client (IP, route, QoS, zona)
Configurazione Applicata
Regole firewall via pf/iptables, route aggiunte, file push generato per OpenVPN
Sessione Tracciata nel Cluster
Sessione registrata su tutti i nodi cluster con locking distribuito per prevenire duplicati
Stack Tecnologico
Costruito con prestazioni e affidabilità in mente
Scopri di più su GovernFlow
Prenota un approfondimento tecnico con il nostro team di ingegneria.