.. _extending: Extending Envoy for custom use cases ==================================== The Envoy architecture makes it fairly easily extensible via a variety of different extension types including: * :ref:`Access loggers ` * :ref:`Access log filters ` * :ref:`Clusters ` * :ref:`Listener filters ` * :ref:`Network filters ` * :ref:`HTTP filters ` * :ref:`gRPC credential providers ` * :ref:`Health checkers ` * :ref:`Resource monitors ` * :ref:`Retry implementations ` * :ref:`Stat sinks ` * :ref:`Tracers ` * :ref:`Request ID ` * Transport sockets * BoringSSL private key methods * :ref:`Watchdog action ` * :ref:`Internal redirect policy ` * :ref:`Compression libraries ` * :ref:`Bootstrap extensions ` * :ref:`Fatal actions ` * :ref:`Formatters ` As of this writing there is no high level extension developer documentation. The :repo:`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 `_.