-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dependencies: associate extensions with deps, validate use_category. #13340
Conversation
This PR introduces a few related changes: * use_category is restructured to distinguish core/extension deps. There's also an extension allowlist added for each dependency in the dataplane_ext and observability_ext category. * tools/dependency/validate.py is introduced to validate a bunch of structural relationships implied by the bazel/repository_locations.bzl metadata. This includes that test-only deps aren't used in //source/.., that some obvious dataplane/controlplane packages taint the appropriate reachable deps and that the association between extensions/deps holds. * The CI docs jobs now runs tools/dependency/validate.py. * The dependency dashboard at https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/external_deps to include granular information on which dataplane/observability deps come from core/extensions. * Some misc. cleanup of source code dep that came up while working on this. Risk level: Low Testing: Pyunit tests added for validate.py. Part of envoyproxy#12673. Signed-off-by: Harvey Tuch <[email protected]>
LGTM - as discussed in Slack I'll PR my changes to the API dependencies so we can bring them into the docs output too |
Signed-off-by: Harvey Tuch <[email protected]>
Signed-off-by: Harvey Tuch <[email protected]>
Signed-off-by: Harvey Tuch <[email protected]>
Signed-off-by: Harvey Tuch <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neat!!! Just one small typo I found.
/wait
@htuch ive left a mostly python style/formatting review, as im only just becoming familiar with the code here. the output looks very useful |
Signed-off-by: Harvey Tuch <[email protected]>
Signed-off-by: Harvey Tuch <[email protected]>
This PR introduces a few related changes:
use_category is restructured to distinguish core/extension deps. There's also an extension
allowlist added for each dependency in the dataplane_ext and observability_ext category.
tools/dependency/validate.py is introduced to validate a bunch of structural relationships
implied by the bazel/repository_locations.bzl metadata. This includes that test-only deps
aren't used in //source/.., that some obvious dataplane/controlplane packages taint the
appropriate reachable deps and that the association between extensions/deps holds.
The CI docs job now runs tools/dependency/validate.py.
The dependency dashboard at
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/external_deps
to include granular information on which dataplane/observability deps come from core/extensions.
Some misc. cleanup of source code dep that came up while working on this.
Risk level: Low
Testing: Pyunit tests added for validate.py.
Part of #12673.
Signed-off-by: Harvey Tuch [email protected]