In each local agent, the control plane is responsible for programmability, i.e., changing the behaviour of the data plane at run-time.
See the Swagger Schema for more details about the REST endpoints and relative formats and requirements of request and response.
-
Prerequisite
- python3
- pip3
-
Clone the repository.
git clone https://gitlab.com/guard-repositories/lcp.git cd lcp
-
Install the dependencies (optional).
pip3 install -r requirements.txt
The configurations are stored in the config.ini file.
Section | Setting | Default value | Note |
---|---|---|---|
local-control-plane | host | 0.0.0.0 | IP address to accept requests. |
local-control-plane | port | 4000 | TCP port to accept requests. |
local-control-plane | https | false | Accept only HTTPS requests. |
auth | enabled | true | Enable JWT authentication. |
auth | header-prefix | GUARD | Header prefix for JWT authentication. |
auth | secret-key | guard-secret-key | Secret key for JWT authentication. |
elastic-apm | enabled | false | Enable Elastic APM integration. |
elastic-apm | server | http://localhost:8200 | Elastic APM server. |
polycube | host | localhost | IP address to contact the polycube installation. |
polycube | port | 9000 | Port address to contact the polycube installation. |
polycube | timeout | 20s | Timeout for the connection to polycube. |
log | config | log.yaml | Path of the log configuration file. |
python3 main.py -h
python3 main.py
See the Issues for features in development.