I’m involved in quite some Open Source Software projects, have written a number of tools by myself as well as made PRs to other projects over the years. This site contains an overview of some projects / tools which might be helpful.
bio-routing – a project to create a versatile, fast and reliable routing daemon in Golang. bio = BGP + IS-IS + OSPF
Freifunk Hochstift Salt Stack / “SDN”
The Freifunk Hochstift Community network is managed by a self-made SDN based on Salt Stack, Python, and NetBox as Source of Truth.
The netbox-scripts repo contains some NetBox Custom Scripts I wrote to make life of operators easier. Most scripts here were written for the Freifunk Hochstift network, and are used to provision NetBox data to be consumed by the FFHO Salt stack. Related blog posts:
- Deploying a Freifunk Hochstift backbone POP with Netbox Scripts
- NetBox scripts – now with clean error handling
When you’re starting you NetBox journey, you might find the Netbox DeviceType library useful, which contains a lot of DeviceType and ModuleType definitions which are ready-to-use.
bbmp2kafka an Open Source BGP Monitoring Protocol (BMP, RFC7854) receiver based on the Bio-Routing BGP/BMP library, designed to forward all BMP Monitoring messages, so specifically BGP UPDATEs and WITHDRAWs, onto a Kafka stream as protobuf messages.
Prometheus / node_exporter
If you’re using Prometheus for monitoring your environment you’re most likely also using
node_exporter. Since PR2515 it now also exposes the
adminstate of any interface, which might come in handy for alerting.
This includes checks for
- bird (OSPF, BGP, BGP for bird2)
- DNS zone synchronization status
- netfilter conntrack size
- ifupdown2 interface state
- Isilon storage clusters (Events, StoragePools, and SyncIQ)
ifupdown-ng – a network device manager that is largely compatible with Debian ifupdown, BusyBox ifupdown and Cumulus Networks’ ifupdown2.