Envoy Proxy control-plane written in Python
This project implements a JSON control-plane based on the [envoy] [data-plane-api].
The purpose of sovereign is to supply downstream envoy proxies with configuration in near-realtime by responding to discovery requests.
- Accepts data from source(s) e.g. file, http, custom
- (optional) Applies modifications to the received data
- Renders the data into a Jinja2 template (or returns a static response)
- Serializes the rendered configuration as JSON and returns it to the Envoy proxy
The idea behind this architecture is to enable high-extensibility. Users can add their own entry point to the package (todo: documentation) which the control-plane will automatically use to retrieve data to be turned into configuration on the fly.
- Python 3.7+
pip install sovereign
Installing dependencies for dev
I recommend creating a virtualenv before doing any dev work
python3 -m venv venv source venv/bin/activate pip install -r requirements-dev.txt
Release history Release notifications
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size sovereign-0.1.6-py3.7.egg (60.7 kB)||File type Egg||Python version 3.7||Upload date||Hashes View hashes|
|Filename, size sovereign-0.1.6.tar.gz (19.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|