So you want to hack on Istio? Yay! Please refer to Istio's overall contribution guidelines to find out how you can help.
To make sure you're ready to build Envoy, clone and follow the upstream Envoy build instructions. Be sure to copy clang.bazelrc into this directory after running the setup_clang script. Confirm that your environment is ready to go by running bazel build --config=clang --define=wasm=disabled :envoy
(in this directory).
- Change the image in .devcontainer.json to
build-tools-proxy
instead ofbuild-tools
- Open the directory in a container with the Remote - Containers extension
- Install the following extensions:
- Update clangd and reload the container
- Edit the new
bsv.cc.compdb.targets
workspace setting and set it to//:envoy_tar
- Execute
Bazel/C++: Generate Compilation Database
within vscode
Note: if you have a remote bazel cache or something mounted in your build container for your normal proxy builds, you'll need to configure that in the devcontainer with runArgs.