Extending Envoy for custom use cases
The Envoy architecture makes it fairly easily extensible via a variety of different extension types including:
Transport sockets
BoringSSL private key methods
As of this writing there is no high level extension developer documentation. The existing extensions are a good way to learn what is possible.
An example of how to add a network filter and structure the repository and build dependencies can be found at envoy-filter-example.