Last updated Jan 2, 2025

Sovereign

Sovereign is a JSON control-plane for Lyft's Envoy proxy. A control-plane communicates with Envoy using the XDS protocol in order to supply it with configuration.

Sovereign is written to be simple and extensible so that you can start basic and increase customizations when needed.

An example of incrementally adding complexity would be:

  1. Start with static templates that serve the same envoy config every time
  2. Add context using a built-in plugin such as HTTP, to serve templates differently based on some polled data
  3. Write your own context plugin to bring in data using advanced/bespoke methods

Features

  • Dynamic configuration: Using context plugins, sovereign can retrieve data from anywhere, whether it be over HTTP, file, inline, or some other format.
  • Extensibility: Define your own context plugins to bring data into sovereign
  • User Interface: A read-only web interface is supplied so that you can view the resources served by the control-plane.

Interface example

Sovereign Web Interface Example

Planned features

These are not yet implemented but are on the roadmap.

  • gRPC support
  • Robust response caching
  • an xDS client that can run alongside envoy
  • Ability to produce artifacts (fully-rendered configs) and push them to object stores
  • Stateful API that allows pushing resources to Sovereign

Bug reports, Support, Feedback & Suggestions

If you're unable to submit an issue, send an email to [vsyrakis@atlassian.com]

Rate this page: