We want to establish a peering session with Twitch for our datacenter in SK1.
We are both present on KINX internet exchange.
By looking at their PeeringDB page,
we can grab the information we need to setup the BGP sessions:
the AS number and the AS set macro
the IP addresses.
Twitch has two routers connected to KINX and is reachable via IPv4 and IPv6.
First, we create a branch to make the changes.
Then, we find the file containing the BGP configuration for edge1.sk1.
Since this kind of configuration is specific to this router,
we need to go in data/host/sk1/edge1,
and open the bgp.yaml file.
As you can see, there is already a session with Google configured.
Let's configure Twitch.
We specify the AS number, the IP addresses as well as the AS set macro.
The macro will be used to filter received prefixes.
Let's run Jerikan to build the configuration file for the router.
We commit the changes.
We push the branch to GitLab.
Then, we open the returned URL in the browser to create the merge request.
We can check the changes.
We validate the merge request.
GitLab CI starts building the configuration and we ask a review from Loïc.
When reviewing, we first check the changes to the data source.
Once the build is done, GitLab provides access to an artifact with the differences with the golden configuration.
We can see the route policy for the new peerings...
...as well as the prefix list extracted from IRR databases to filter incoming routes.
Then, we have the BGP session configuration.
The maximum prefix values have been extracted from PeeringDB automatically.
Using GitLab, we can add comments or ask for changes.
Once everything is OK, we approve the change and merge it.
GitLab rebuilds all the configuration files and we can ask Vincent to finish the deployment.
The ./run-ansible-gitlab command pulls the generated configuration files from GitLab.
We first do a run with --diff --check to see the changes.
Everything is OK.
We remove --check to apply the changes for real.
Then, we login on the device and see that the BGP sessions have been configured.
We can let Twitch know they can configure their side.
Thanks for watching!