48ix / ixf

Cloudflare Worker to Generate IX-F Data for the IXDB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


WORKER: IXF


This repository contains code used for automatically generating Euro-IX/IXDB-compliant participant data.

How it Works

Upon execution, the Cloudflare worker pulls data from the 48 IX participant database such as the participant name, ASN, and port speed. Taking the ASN, the worker queries the PeeringDB REST API for additional information about a participant, such as their peering policy, contacts, IRR macro, etc. All the data is combined into an IXDB-compliant schema for easy processing by IXDB and anyone else seeking to consume the data in the IXDB format.

The data is cached by Cloudflare for 12 hours. Upon a cache-miss, the data is re-pulled and re-cached for another 12 hours.

Publishing

To publish a build from Wrangler CLI:

wrangler publish -c prod.wrangler.toml

Development

Development environments require a local dev.wrangler.toml file which contains sensitive environment variables. After installing the Wrangler CLI, run:

cd ixf
yarn
wrangler dev -c dev.wrangler.toml

Contributing

48 IX Participants may feel free to submit pull requests under the following circumstances:

  • A verified bug is being fixed
  • A feature is being added which maintains the 48 IX Connection Agreement and benefits all participants
  • Performance is improved

If you would like to contribute, please email the NOC to discuss code quality standards and development processes.

About

Cloudflare Worker to Generate IX-F Data for the IXDB

License:MIT License


Languages

Language:TypeScript 94.3%Language:JavaScript 5.7%