Skip to content

linkedin/diderot

Repository files navigation

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).