Metadata-Version: 1.2
Name: sovereign
Version: 0.1.6
Summary: Envoy Proxy control-plane written in Python
Home-page: https://bitbucket.org/vsyrakis/sovereign
Author: Vassilios Syrakis
Author-email: vsyrakis@atlassian.com
License: Apache-2.0
Description: sovereign
        =========
        
        Mission statement
        -----------------
        This project implements a JSON control-plane based on the [envoy][1] [data-plane-api][2].
        
        The purpose of **sovereign** is to supply downstream envoy proxies with 
        configuration in near-realtime by responding to discovery requests.
        
        Features
        --------
        1. Accepts data from source(s) e.g. file, http, custom
        2. (optional) Applies modifications to the received data
        3. Renders the data into a Jinja2 template (or returns a static response)
        4. 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.
        
        Requirements
        ------------
        * Python 3.7+
        
        Installation
        ------------
            pip install sovereign
        
        Local development
        =================
        
        Requirements
        ------------
        * Docker
        * Docker-compose
        
        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
        
        Running locally
        ---------------
        Running the test env
        
            make run
            
        Running the test env daemonized
        
            make run-daemon
        
        Pylint
        
            make lint
        
        Unit tests
        
            make unit
        
        Acceptance tests
        
            make run-daemon acceptance
            
        
        [1]: https://envoyproxy.io
        [2]: https://github.com/envoyproxy/data-plane-api
        
Platform: UNKNOWN
Requires-Python: >=3.6.0
