๐๏ธ Tobogganing Architecture Guide¶
๐ก Overview: Tobogganing implements a modern three-tier Zero Trust Network Architecture designed for enterprise-scale secure access.
๐ Table of Contents¶
- ๐ฏ Design Principles
- ๐๏ธ Architecture Overview
- ๐ง Component Details
- ๐ Security Architecture
- ๐ Data Flow
- ๐ Deployment Patterns
- ๐ Scalability
๐ฏ Design Principles¶
๐ก๏ธ Zero Trust Foundation¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ซ NEVER TRUST โ
ALWAYS VERIFY โ
โ โ
โ โข No implicit trust โข Authenticate every request โ
โ โข Assume breach โข Verify device & user โ
โ โข Minimize access โข Continuous monitoring โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Core Principles¶
| Principle | Description | Implementation |
|---|---|---|
| ๐ Defense in Depth | Multiple security layers | Certificate + JWT + TLS |
| ๐ฏ Least Privilege | Minimum required access | Role-based permissions |
| ๐ Continuous Monitoring | Real-time visibility | Audit logs + metrics |
| ๐ Zero Trust | Verify everything | Dual authentication |
๐๏ธ Architecture Overview¶
๐ High-Level Architecture¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Internet โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Load Balancer โ
โ (ALB for API, NLB for VPN) โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ๐ค Clients โ โโโโโโโโโโบโ ๐ Headend โ โโโโโโโโโโบโ ๐๏ธ Manager โ
โ โ โ Server โ โ Service โ
โ ๐ฅ๏ธ Native App โ โ โ โ โ
โ ๐ณ Docker โ โ โข WireGuard โ โ โข Orchestration โ
โ ๐ฑ Mobile โ โ โข Go Proxy โ โ โข Certificates โ
โ ๐ง Embedded โ โ โข Firewall โ โ โข JWT Tokens โ
โ โ โ โข IDS/IPS โ โ โข Web Portal โ
โ โ โ โข Syslog โ โ โข Analytics โ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ๐ Cert Store โ โ ๐ Monitoring โ โ ๐๏ธ Database โ
โ โ โ โข Prometheus โ โ โข MySQL โ
โ ๐ Config โ โ โข Grafana โ โ โข PostgreSQL โ
โ โ โ โข Suricata IDS โ โ โข Read Replicas โ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ ๐ Network โ โ ๐๏ธ Redis Cache โ โ ๐ Analytics โ
โ โข FRR Router โ โ โข Sessions โ โ โข Real-time โ
โ โข VRF/OSPF โ โ โข Firewall Rulesโ โ โข Aggregations โ
โ โข BGP โ โ โข Rate Limiting โ โ โข Reports โ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
๐ Communication Flow¶
sequenceDiagram
participant C as ๐ค Client
participant H as ๐ Headend
participant M as ๐๏ธ Manager
participant R as ๐๏ธ Redis
Note over C,R: ๐ Initial Setup
C->>M: 1. Register with API key
M->>M: 2. Generate certificates
M->>C: 3. Return config + certs
Note over C,R: ๐ Connection Establishment
C->>H: 4. WireGuard handshake (cert auth)
H->>M: 5. Validate certificate
M->>H: 6. Certificate OK
H->>C: 7. VPN tunnel established
Note over C,R: ๐ Application Traffic
C->>H: 8. HTTP/TCP request + JWT
H->>R: 9. Validate JWT token
R->>H: 10. Token valid/invalid
H->>H: 11. Apply proxy rules
H->>๐: 12. Forward to destination
๐ง Component Details¶
๐๏ธ Manager Service¶
๐ง Technology: Python 3.12 + py4web + asyncio
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐๏ธ MANAGER SERVICE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ REST API ๐ Certificate Authority โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ /api/v1/... โ โ โข Root CA โ โ
โ โ โข Clients โ โโโโโโโโโบโ โข Intermediate CA โ โ
โ โ โข Certs โ โ โข Certificate CRUD โ โ
โ โ โข Config โ โ โข Revocation Lists โ โ
โ โ โข Health โ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโ โ
โ โ
โ ๐ Web Interface ๐ซ JWT Management โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Dashboard โ โ โข Token Generation โ โ
โ โ โข Client Mgmt โ โโโโโโโบโ โข Validation โ โ
โ โ โข Cert Mgmt โ โ โข Refresh Tokens โ โ
โ โ โข Analytics โ โ โข Revocation โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ ๐ข Multi-Datacenter โก High Performance โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Clustering โ โ โข Async I/O โ โ
โ โ โข Replication โ โโโโโโโโบโ โข Redis Caching โ โ
โ โ โข Failover โ โ โข Connection Pool โ โ
โ โ โข Sync โ โ โข Rate Limiting โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Key Features: - ๐๏ธ Architecture: Async Python with multithreading for high concurrency - ๐ PKI: Complete Certificate Authority with ECC keys - ๐ซ JWT: RS256 signed tokens with Redis caching - ๐ Multi-DC: Cross-datacenter orchestration and synchronization - ๐ API: RESTful API with OpenAPI documentation - ๐ฅ๏ธ Web UI: py4web-based administration interface
๐ Headend Server¶
๐ง Technology: Go 1.23 + WireGuard + goroutines
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ HEADEND SERVER โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ WireGuard VPN ๐ Multi-Protocol Proxy โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Kernel Mod โ โ โข HTTP/HTTPS โ โ
โ โ โข UDP 51820 โ โโโโโโโโโบโ โข TCP Streams โ โ
โ โ โข Handshake โ โ โข UDP Packets โ โ
โ โ โข Peer Mgmt โ โ โข WebSocket โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ ๐ก๏ธ Authentication ๐ Traffic Analysis โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข X.509 Cert โ โ โข Deep Packet Insp. โ โ
โ โ โข JWT Tokens โ โโโโโโโโโบโ โข Flow Monitoring โ โ
โ โ โข SAML2/OAuth โ โ โข Traffic Mirroring โ โ
โ โ โข Rate Limit โ โ โข IDS/IPS Forward โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โก Performance ๐ Observability โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Goroutines โ โ โข Prometheus Metrics โ โ
โ โ โข Connection โ โโโโโโโโโบโ โข Health Endpoints โ โ
โ โ โข Zero-Copy โ โ โข Structured Logs โ โ
โ โ โข Memory Pool โ โ โข Distributed Trace โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Key Features: - ๐ Performance: Concurrent goroutines for high-throughput - ๐ VPN: WireGuard kernel integration for optimal performance - ๐ Proxy: Multi-protocol support with authentication - ๐ก๏ธ Security: Dual authentication with certificate and token validation - ๐ Monitoring: Traffic analysis and mirroring capabilities - ๐ Observability: Prometheus metrics and structured logging
๐ค Client Applications¶
๐ง Technology: Go 1.23 + Cross-platform UI
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ค CLIENT APPLICATIONS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ฅ๏ธ Native Applications ๐ณ Docker Container โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข macOS Uni โ โ โข Linux Base โ โ
โ โ โข Windows โ โโโโโโโโโบโ โข Multi-Arch โ โ
โ โ โข Linux x64 โ โ โข Auto-config โ โ
โ โ โข Linux ARM โ โ โข Health Checks โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ ๐ฎ User Interfaces โ๏ธ Configuration โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข GUI (Fyne) โ โ โข Auto-discovery โ โ
โ โ โข CLI โ โโโโโโโโโบโ โข Certificate Mgmt โ โ
โ โ โข System Tray โ โ โข Connection Profilesโ โ
โ โ โข Notifications โ โ โข Backup/Restore โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ ๐ Lifecycle Mgmt ๐ Monitoring โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Auto-start โ โ โข Connection Status โ โ
โ โ โข Health Mon โ โโโโโโโโโบโ โข Traffic Stats โ โ
โ โ โข Auto-update โ โ โข Error Reporting โ โ
โ โ โข Crash Recovery โ โ โข Performance Metrics โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Key Features: - ๐ Cross-Platform: Native support for all major operating systems - ๐ฎ User Experience: Both GUI and CLI interfaces available - โ๏ธ Auto-Configuration: Zero-touch setup with API key - ๐ Lifecycle: Automatic updates and crash recovery - ๐ Monitoring: Real-time connection and performance monitoring - ๐ Security: Local certificate storage and key management
๐ Security Architecture¶
๐ก๏ธ Defense in Depth Model¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก๏ธ SECURITY LAYERS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Layer 1: ๐ Network Security โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข WireGuard Encryption (ChaCha20Poly1305) โ โ
โ โ โข X.509 Certificate Authentication โ โ
โ โ โข Perfect Forward Secrecy โ โ
โ โ โข Network Segmentation โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ Layer 2: ๐ Transport Security โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข TLS 1.3 for API Communications โ โ
โ โ โข Certificate Pinning โ โ
โ โ โข HSTS Headers โ โ
โ โ โข Encrypted Control Channels โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ Layer 3: ๐ซ Application Security โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข JWT Token Validation โ โ
โ โ โข SAML2/OAuth2 Integration โ โ
โ โ โข Role-Based Access Control โ โ
โ โ โข API Rate Limiting โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ Layer 4: ๐ Data Security โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Encrypted Data at Rest โ โ
โ โ โข Secure Key Storage โ โ
โ โ โข Data Classification โ โ
โ โ โข Privacy Controls โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ Layer 5: ๐ Monitoring & Audit โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โข Comprehensive Audit Logging โ โ
โ โ โข Real-time Security Monitoring โ โ
โ โ โข Anomaly Detection โ โ
โ โ โข Incident Response โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Dual Authentication Flow¶
๐ค Client ๐ Headend ๐๏ธ Manager
โ โ โ
โ 1. Certificate Auth โ โ
โโโโโโโโ X.509 Cert โโโโโโโบโ โ
โ โโโโโ Validate Cert โโโโโโโโโบโ
โ โโโโโ Cert Status โโโโโโโโโโโค
โโโโโโ VPN Established โโโโโ โ
โ โ โ
โ 2. Application Auth โ โ
โโโโโ HTTP + JWT Token โโโโโบโ โ
โ โโโโโ Validate JWT โโโโโโโโโโบโ
โ โโโโโ Token Valid โโโโโโโโโโโค
โโโโโโ Request Proxied โโโโโโโโโ Forward Request โโโโโโโบ๐
โ โโโโโ Response โโโโโโโโโโโโโโโ
โโโโโโ Response โโโโโโโโโโโโ โ
๐ซ Token Lifecycle¶
| Phase | Duration | Actions |
|---|---|---|
| ๐ฏ Generation | ~100ms | RSA signing, Redis caching |
| โ Validation | ~10ms | Cache lookup, signature verify |
| ๐ Refresh | ~50ms | New token generation |
| ๐๏ธ Revocation | ~20ms | Cache invalidation, blacklist |
๐ Data Flow¶
๐ Client Registration Flow¶
graph TD
A[๐ค Client Start] --> B[๐ API Key Input]
B --> C[๐ Call Manager API]
C --> D{๐ API Key Valid?}
D -->|โ No| E[๐ซ Registration Failed]
D -->|โ
Yes| F[๐ญ Generate Certificates]
F --> G[๐ซ Generate JWT Token]
G --> H[๐ฆ Return Config Bundle]
H --> I[๐พ Store Config Locally]
I --> J[๐ Establish VPN Connection]
J --> K[โ
Client Online]
๐ Traffic Routing Flow¶
graph LR
A[๐ค Client App] -->|HTTP Request| B[๐ WireGuard Tunnel]
B --> C[๐ Headend Server]
C --> D{๐ซ JWT Valid?}
D -->|โ No| E[๐ซ 403 Forbidden]
D -->|โ
Yes| F{๐ Proxy Rules?}
F -->|๐ Proxy| G[๐ Internet/Internal]
F -->|๐ซ Block| H[๐ Blocked]
F -->|๐ Mirror| I[๐ IDS/IPS]
G --> J[๐ Metrics Update]
I --> J
J --> K[๐ Response to Client]
๐ Deployment Patterns¶
๐ข Enterprise Multi-Site¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ข ENTERPRISE DEPLOYMENT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ Region 1 (Primary) ๐ Region 2 (DR) โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐๏ธ Manager-1 โโโโโโโโโบโ ๐๏ธ Manager-2 โ โ
โ โ ๐ Headend-1 โ Sync โ ๐ Headend-2 โ โ
โ โ ๐๏ธ Database-1 โ โ ๐๏ธ Database-2 โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ข Office A โ โ ๐ข Office C โ โ
โ โ โข 50 Users โ โ โข 30 Users โ โ
โ โ โข Site-to-Site โ โ โข Remote Workersโ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ข Office B โ โ ๐ข Office D โ โ
โ โ โข 75 Users โ โ โข 25 Users โ โ
โ โ โข Hybrid Work โ โ โข Branch Office โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Cloud-Native Kubernetes¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ๏ธ KUBERNETES DEPLOYMENT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ฏ Ingress Layer โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ALB (API) โ NLB (VPN) โ Cloudflare โ Route53 โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ ๐๏ธ Application Layer โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Manager Service (HPA: 2-10) โ โ
โ โ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โ โ
โ โ โ Pod โ โ Pod โ โ Pod โ โ ... โ โ Pod โ โ โ
โ โ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Headend Service (Replicas: 1-3) โ โ
โ โ โโโโโโโ โโโโโโโ โโโโโโโ Each with dedicated โ โ
โ โ โ Pod โ โ Pod โ โ Pod โ WireGuard interface โ โ
โ โ โโโโโโโ โโโโโโโ โโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ ๐๏ธ Data Layer โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ RDS Postgres โ ElastiCache โ EBS Volumes โ S3 Backups โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ ๐ Observability Layer โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Prometheus โ Grafana โ ELK Stack โ Jaeger Tracing โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Small Office / Home Office¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ SOHO DEPLOYMENT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Single Server / Docker Compose โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ฅ๏ธ Host Server โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ ๐๏ธ Manager โ โ ๐ Headend โ โ ๐๏ธ Redis โ โ โ
โ โ โ Container โ โ Container โ โ Container โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ ๐ Docker Volumes โ โ โ
โ โ โ โข manager-data โข certificates โข redis-data โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ ๐ฅ Connected Devices (Up to 50) โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ ๐ป Laptop โ โ ๐ฅ๏ธ Desktop โ โ ๐ฑ Phone* โ โ
โ โ (Native) โ โ (Docker) โ โ (Planned) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Scalability¶
๐ Performance Characteristics¶
| Component | Concurrent Users | Throughput | Latency |
|---|---|---|---|
| ๐๏ธ Manager | 10,000+ API calls/min | 1,000 RPS | <50ms |
| ๐ Headend | 5,000+ VPN connections | 10Gbps+ | <10ms |
| ๐ค Client | N/A | 1Gbps+ per client | <5ms |
๐ Scaling Strategies¶
๐ Horizontal Scaling Options:
๐๏ธ Manager Service:
โโโ Multiple replicas behind load balancer
โโโ Shared Redis cache for session state
โโโ Read replicas for database scaling
โโโ CDN for static assets and downloads
๐ Headend Service:
โโโ Geographic distribution (multiple regions)
โโโ Load balancing at DNS level
โโโ Separate WireGuard networks per instance
โโโ Traffic sharding by client groups
๐ Data Layer:
โโโ Database connection pooling
โโโ Redis clustering for high availability
โโโ Horizontal sharding for large datasets
โโโ Backup and archival strategies
๐ฏ Capacity Planning¶
| Tier | Users | Resources | Infrastructure |
|---|---|---|---|
| ๐ Small | 1-50 | 2 CPU, 4GB RAM | Docker Compose |
| ๐ข Medium | 50-500 | 4-8 CPU, 8-16GB RAM | Small K8s cluster |
| ๐ญ Large | 500-5000 | 16+ CPU, 32+ GB RAM | Multi-node K8s |
| ๐ Enterprise | 5000+ | Auto-scaling | Multi-region cloud |
๐ฏ Next Steps¶
Ready to deploy? Choose your path:
- ๐ Small Setup: Start with Quick Start Guide
- โ๏ธ Cloud Deployment: Follow Usage Guide
- ๐๏ธ Infrastructure: See Client Installation
- ๐ Learn More: Check API Documentation
๐ This document is updated with each release. For the latest version, visit our documentation portal.