System design

Layered architecture with APIs at the core.

Each layer is modular, testable, and designed for observability and automation.

Major layers

  • Web UI + CLI on top of REST APIs.
  • Service managers for firewall, routing, VPN, and DNS.
  • Kernel interfaces via netlink, nftables, and FRR.
  • Persistence layer for config snapshots.

Control-plane flow

Configuration requests go through the API gateway, validated, persisted, and applied.

API gateway

Gin-based REST endpoints with auth, rate limiting, and logging middleware.

Service managers

Dedicated managers for routing, firewall/NAT, WAN, VPN, HA, DHCP, DNS, and QoS.

Persistence

SQLite-backed configuration snapshots and transaction-style commits.

Kernel interface

Netlink for interfaces/routes, nftables for policy, FRR for dynamic routing.

Observability & ops

Unified view across services, with API + Web UI outputs.

Telemetry

Structured logs

Zap-based logging for API, services, and system events.

Monitoring

SNMP integration

Agent, traps, and provider model for metrics exposure.

Testing

Docker lab

Isolation-friendly integration and attack simulation suite.