Metadata-Version: 2.1
Name: exabgp_process
Version: 1.0.1
Summary: Process for ExaBGP, started by ExaBGP service
Author-email: Jiri Vrany <jiri.vrany@cesnet.cz>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pika
Requires-Dist: python-dotenv
Requires-Dist: loguru
Requires-Dist: click
Requires-Dist: flask

# ExaAPI application

This application is simple API process for [ExaBGP service](https://github.com/Exa-Networks/exabgp/tree/main). 

Every time this app gets a new command, it replicates the command to the ExaBPG through the stdout. The registered service is watching the stdout of this API app.

Install with pip
```
pip install exabgp_api
```
Generate and setup the config file and then copy the config to /etc/exabgp/api.conf.
Setup log dir and file in the config and make sure, that dir exists and its writable for ExaBGP process.
```
exabgp-process --generate-config >> process.conf
mv process.conf /etc/exabgp/process.conf
```

Add this to your ExaBGP config
```
process flowspec {
         run /usr/local/exabgp-process;
         encoder json;
    }
```
The prefered version is using RabbitMQ for message passing. 

For development and testing purposes, there is also a HTTP version. However there is no security layer in this web app.  You should limit the access only from the localhost.

See [ExaBPG docs](https://github.com/Exa-Networks/exabgp/wiki/Controlling-ExaBGP-:-possible-options-for-process) for more information.


