pathvector – herramienta para configurar BIRD!
Hace tiempo que estoy usando BIRD para convertir esos servidores Linux en routers con BGP/OSPF y tener enrutamiento dinámico. Uno de los obstáculos iniciales con BIRD era la sintaxis, muy diferente a Cisco y a Quagga (Ahora FRR), sentirme a gusto me tomo tiempo, pero se logro.
De ese cambio ya hace mucho tiempo, el segundo paso luego de usar BIRD es lo fácil que se puede automatizar su configuración, algo que hice en los primeros días era tener los archivos de configuración en Git para así poder versionarlos, luego usaba un contenedor Docker el cual generaba las configuraciones finales, lamentablemente cada herramienta o metodología tenia sus propios problemas y terminaba haciendo configuraciones manuales fuera de la herramienta que intentaba adoptar.
Un día me tope con BCG ( BIRD Config Generator) una pequeña herramienta desarrollado en Go, la cual desde un archivo de variables podía crear un archivo de configuración de BIRD con muchas funcionalidades ya definidas las cuales tenia tiempo queriendo implementar, en ese momento BCG carecía de algunas cosas las cuales intente agregar, pero como todo proyecto open source, el desarrollo de BCG fue muy rápido y terminaron agregando las opciones que yo quería/necesitaba, no había razón para seguir intentando ser programador!
Ah, también recibió un nuevo nombre, Pathvector!
“Pathvector is a declarative edge routing platform that automates route optimization and control plane configuration with secure and repeatable routing policy.”
Si quieres saber un poco mas, puedes ver la presentación en LACNIC35, en ese momento aun era BCG pero la idea principal es la misma.