Metadata-Version: 2.1
Name: exabgp_process
Version: 1.0.2
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


# ExaBGP Process Package

This application is a simple API that interfaces with the [ExaBGP service](https://github.com/Exa-Networks/exabgp/tree/main).

Each time this app receives a new command, it forwards the command to ExaBGP via stdout. The registered ExaBGP service monitors the stdout of this API application.

### Installation
You can install the package using pip:
```
pip install exabgp_process
```

### Configuration
Generate the configuration file and copy it to `/etc/exabgp/process.conf`. Be sure to set up the log directory and file in the config, and ensure the directory exists and is writable by the ExaBGP process:
```
exabgp-process --generate-config >> process.conf
mv process.conf /etc/exabgp/process.conf
```

### Add to ExaBGP Configuration
Include the following in your ExaBGP configuration:
```
process flowspec {
    run /usr/local/exabgp-process;
    encoder json;
}
```

The preferred setup uses RabbitMQ for message passing.

### Development and Testing
For development and testing, there is also an HTTP version available. However, please note that this web app lacks any security layer. Therefore, it's recommended to restrict access to localhost only.

For more information, refer to the [ExaBGP documentation](https://github.com/Exa-Networks/exabgp/wiki/Controlling-ExaBGP-:-possible-options-for-process).
