- Install Envoy (and Istio proxy) dependencies
- https://github.com/envoyproxy/envoy/blob/master/bazel/README.md
- https://github.com/istio/proxy/blob/3781be0e624470a4ee613c4ffc9816976f5dd701/.circleci/config.yml#L95
- Install XCode
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer; sudo xcodebuild -license; bazel clean --expunge;
See: bazelbuild/bazel#6056 (comment)
- https://www.envoyproxy.io/docs/envoy/latest/install/building#requirements
- Configure the dev environment
- Hack
- https://github.com/envoyproxy/envoy/blob/master/DEVELOPER.md
- https://www.envoyproxy.io/docs/envoy/latest/extending/extending
- https://github.com/envoyproxy/envoy/blob/b48cdeb2af3ac1317c5bc2421b498486b1f2e598/source/extensions/extensions_build_config.bzl
- https://blog.envoyproxy.io/how-to-write-envoy-filters-like-a-ninja-part-1-d166e5abec09
- https://docs.bazel.build/versions/master/bazel-overview.html
- https://medium.com/@dirao/debugging-envoyproxy-on-osx-a3ebe87dc916
- Learn
- Cool examples
cd $ISTIO/proxy
make build_envoy
make test
file bazel-bin/src/envoy/envoy
bazel-bin/src/envoy/envoy --version
- How to list all available extensions compiled into
envoy
? Neitherenvoy -h
orenvoy --version
shows anything.bazel-bin/src/envoy/envoy
will error but does the trick. - How to start the server?
bazel-bin/src/envoy/envoy --config-yaml 'admin: {access_log_path: "/dev/stdout", address: { socket_address: {address: 127.0.0.1, port_value: 9901}}}'