1
0
Fork 0
mirror of https://github.com/alice-lg/birdwatcher.git synced 2025-03-09 00:00:05 +01:00
No description
Find a file
2017-02-22 18:52:48 +01:00
bird added large bgp communities for good 2017-02-22 16:09:54 +01:00
docs added rpm build option for upstart and systemd 2016-11-30 17:42:40 +01:00
endpoints added exported routes to peer 2017-02-15 12:20:55 +01:00
etc/ecix added exported routes to peer 2017-02-15 12:20:55 +01:00
install added rpm build option for upstart and systemd 2016-11-30 17:42:40 +01:00
.gitignore moved config files 2016-11-30 12:56:54 +01:00
birdwatcher.go added custom config, fix for #5 2017-02-22 18:49:28 +01:00
config.go dirtily ensure local path is searched 2017-02-22 18:52:48 +01:00
config_test.go added filtered fields 2016-12-02 17:11:57 +01:00
LICENSE Create LICENSE 2016-11-17 17:05:43 +01:00
Makefile added exported routes to peer 2017-02-15 12:20:55 +01:00
README.md moved why to top 2017-01-11 16:31:26 +01:00
VERSION added large bgp communities for good 2017-02-22 16:09:54 +01:00

birdwatcher

birdwatcher is a small HTTP server meant to provide an API defined by Barry O'Donovan's birds-eye to the BIRD routing daemon.

Why

The INEX implementation of birdseye runs PHP, which is not always desirable (and performant) in a routeserver setting. By using Go, we are able to work with regular binaries, which means deployment and maintenance might be more convenient.

Our version also has a few more capabilities, as you will discover when looking at the modules section of the config.

Installation

You will need to have go installed to build the package. Running go get github.com/ecix/birdwatcher will give you a binary. You might need to cross-compile it for your bird-running servive (GOARCH and GOOS are your friends).

We provide a Makefile for more advanced compilation/configuration. Running make linux will create a Linux executable (by default for amd64, but that is configurable by providing the ARCH argument to the Makefile).

Building an RPM

Building RPMs is supported through fpm. If you have fpm installed locally, you can run make rpm to create a RPM in the folder RPMS. If you have a remote build server with fpm installed, you can build and fetch an RPM with make remote_rpm BUILD_SERVER=<buildserver_url> (requires SSH access).

Deployment

If you want to deploy birdwatcher on a system that uses RPMs, you should be able to install it after following the instructions on building an RPM.

We do not currently support other deployment methods.

Configuration

An example config with sane defaults is provided in etc/ecix/birdwatcher.conf. You should be able to use it out of the box. If you need to change it, it is well-commented and hopefully intuitive. If you do not know how to configure it, please consider opening an issue.

How

In the background birdwatcher runs the birdc client, sends commands and parses the result. It also leverages simple caching techniques to help reduce the load on the bird service.

Who

Initially developed by Daniel and MC from Netnod in two days at the RIPE 73 IXP Tools Hackathon in Madrid, Spain.

Running bird and parsing the results was added by Veit Heller on behalf of ecix.