Skip to content

msample/envoy-filter-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Envoy filter example

This project demonstrates the linking of additional filters with the Envoy binary. A new filter echo2 is introduced, identical modulo renaming to the existing echo filter. Integration tests demonstrating the filter's end-to-end behavior are also provided.

For an example of additional HTTP filters, see here.

Building

To build the Envoy static binary:

  1. git submodule update --init
  2. bazel build //:envoy

Testing

To run the echo2 integration test:

bazel test //:echo2_integration_test

To run the regular Envoy tests from this project:

bazel test @envoy//test/...

How it works

The Envoy repository is provided as a submodule. The WORKSPACE file maps the @envoy repository to this local path.

The BUILD file introduces a new Envoy static binary target, envoy, that links together the new filter and @envoy//source/exe:envoy_main_lib. The echo2 filter registers itself during the static initialization phase of the Envoy binary as a new filter.

About

Example of consuming Envoy and adding a custom filter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 92.6%
  • Python 5.8%
  • Protocol Buffer 1.4%
  • Shell 0.2%