Skip to main content
Open router control plane

routerd

A declarative router resource reconciler for small networks that need explicit configuration, repeatable installs, and practical observability.

Declarative Router Resources

Describe interfaces, DHCP, DNS, NAT, DS-Lite, route policy, sysctl, and local system behavior as typed YAML resources.

Built For Real Hosts

routerd reconciles Linux networking components such as systemd-networkd, dnsmasq, nftables, pppd, and systemd services.

Small, Inspectable Control Plane

A Go daemon, one-shot CLI mode, JSON status, and an HTTP+JSON v1alpha1 control API keep operations understandable.

From YAML To Router State

Validate a config, inspect the plan, and reconcile it in one-shot mode before enabling the daemon.

routerd validate --config /usr/local/etc/routerd/router.yaml
routerd reconcile --config /usr/local/etc/routerd/router.yaml --once --dry-run
routerd serve --config /usr/local/etc/routerd/router.yaml