Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 1.92 KB

README.md

File metadata and controls

37 lines (25 loc) · 1.92 KB

Envoy Dev Container (experimental)

This directory contains some experimental tools for Envoy Development in VSCode Remote - Containers.

How to use

Open with VSCode with the Container extension installed. Follow the official guide to open this repository directly from GitHub or from checked-out source tree.

After opening, run the Refresh Compilation Database task to generate compilation database to navigate in source code. This will run partial build of Envoy and may take a while depends on the machine performance. This task is needed to run everytime after:

  • Changing a BUILD file that add/remove files from a target, changes dependencies
  • Changing API proto files

There are additional tools for VS Code located in tools/vscode directory.

Advanced Usages

Using Remote Build Execution

Write the following content to devcontainer.env and rebuild the container. The key will be persisted in the container's ~/.bazelrc.

GCP_SERVICE_ACCOUNT_KEY=<base64 encoded service account key>
BAZEL_REMOTE_INSTANCE=<RBE Instance>
BAZEL_REMOTE_CACHE=grpcs://remotebuildexecution.googleapis.com
BAZEL_BUILD_EXTRA_OPTIONS=--config=remote-ci --config=remote --jobs=<Number of jobs>

By default the --config=remote implies --remote_download_toplevel, change this to minimal or all depending on where you're running the container by adding them to BAZEL_BUILD_EXTRA_OPTIONS.

Disk performance

Docker for Mac/Windows is known to have disk performance issue, this makes formatting all files in the container very slow. Update the mount consistency to 'delegated' is recommended.