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:
git submodule update --init
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_entry_lib. The
echo2 filter registers itself during the static initialization phase of the
Envoy binary as a new filter.
Envoy filter example
This project demonstrates the linking of additional filters with the Envoy binary. A new filter
echo2is introduced, identical modulo renaming to the existingechofilter. 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:
git submodule update --initbazel build //:envoyTesting
To run the
echo2integration test:bazel test //:echo2_integration_testTo run the regular Envoy tests from this project:
bazel test @envoy//test/...How it works
The Envoy repository is provided as a submodule. The
WORKSPACEfile maps the@envoyrepository to this local path.The
BUILDfile introduces a new Envoy static binary target,envoy, that links together the new filter and@envoy//source/exe:envoy_main_entry_lib. Theecho2filter registers itself during the static initialization phase of the Envoy binary as a new filter.