lcp

In each local agent, the control plane is responsible for programmability, i.e., changing the behaviour of the data plane at run-time.


Keywords
lcp, rest, api, openapi, control-plane, data-plane, programmability, behaviour, swagger, agents, settings, runtime, elasticsearch, logstash, beats, python, golang, java, agent, control, data, ebpf, log, management, security
License
MIT
Install
pip install lcp==1.0.0

Documentation

Local Control Plane

License Code size Repository Size Release Docker image Docs

In each local agent, the control plane is responsible for programmability, i.e., changing the behaviour of the data plane at run-time.



Guide

See the Swagger Schema for more details about the REST endpoints and relative formats and requirements of request and response.

Installation

  1. Prerequisite

    • python3
    • pip3
  2. Clone the repository.

    git clone https://gitlab.com/astrid-repositories/lcp.git
    cd lcp
  3. Install the dependencies (optional).

    pip3 install -r requirements.txt

Configuration

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 ASTRID Header prefix for JWT authentication.
auth secret-key astrid-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.

Usage

Display help

python3 main.py -h

Execute

python3 main.py

Extra

See the Issues for features in development.