envoyproxy / envoyproxy/envoy

Restrict visibility to Envoy internals in consuming projects

Open
#827 2 comments 0 reactions 0 assignees View on GitHub
area/build help wanted tech debt
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

Today, the Bazel visibility for all targets (from source, to test support to the tests themselves) is public. This means that a project that consumes Envoy and adds its own filters etc., might rely on internal implementation details that are not intended to be stable aspects of the API.

We should restrict visibility outside of Envoy to only its interfaces, well defined library/binary exports (`//source/exe:envoy`, `//source/exe:envoy_main_lib`) and common code under `::Api::` that should be explicitly shared and is subject to the same API considerations as the Envoy interfaces in `include`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.