Diderot
(pronounced dee-duh-row)
Diderot is a server implementation of
the xDS protocol that makes it extremely easy and
efficient to implement a control plane for your Envoy and gRPC services. For the most up-to-date information, please
visit the documentation.
Quick Start Guide
The only thing you need to implement to make your resources available via xDS is a
diderot.ResourceLocator
(link). It is the interface
exposed by the ADS server implementation which should
contain the business logic of all your resource definitions and how to find them. To facilitate this implementation,
Diderot provides an efficient, low-resource cache that supports
highly concurrent updates. By leveraging the cache implementation for the heavy lifting, you will be able to focus on
the meaningful part of operating your own xDS control plane: your resource definitions.
Once you have implemented your ResourceLocator
, you can simply drop in a diderot.ADSServer
to your gRPC service, and
you're ready to go! Please refer to the examples/quickstart package
Features
Diderot's ADS server implementation is a faithful implementation of the xDS protocol. This means it implements both the
State-of-the-World and Delta/Incremental variants. It supports advanced features such as
glob collections, unlocking the more
efficient alternative to the EDS
stage: LEDS
(design doc).