-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Refactoring Envoy DNS resolution as extension #17479
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
Merged
mattklein123
merged 144 commits into
envoyproxy:main
from
yanjunxiang-google:dns-as-extension
Oct 15, 2021
Merged
Changes from all commits
Commits
Show all changes
144 commits
Select commit
Hold shift + click to select a range
7046a2c
This is the code change for refactoring Envoy DNS resolution as first…
yanjunxiang-google aea3243
checking whether typed_dns_resolver_config based on typed_url not by …
yanjunxiang-google c1c5fc8
Adding Typed DNS resolver config Extension in dns_filter.proto
yanjunxiang-google 6576f1c
Adding proto message for apple and cares DNS resolver
yanjunxiang-google 1658c1b
Put cares and apple DNS resolver as extension in build file
yanjunxiang-google d292bb1
construct typed_dns_resolver_config in a template function
yanjunxiang-google 31f4c73
get dns_filter code compile with typed_dns_resolver_config
yanjunxiang-google 8fc3390
change message copy from CopyFrom to MergeFrom for efficiency
yanjunxiang-google eb83596
removing use_apple_api_for_dns_lookups from documents since this run …
yanjunxiang-google 4d2f55a
fix format
yanjunxiang-google 4363842
only copy config protobuf fields if they exists
yanjunxiang-google 3629afb
Using Apple DNS library by default in MacOS system
yanjunxiang-google 23c8d53
Revert "removing use_apple_api_for_dns_lookups from documents since t…
yanjunxiang-google 7cb85ba
support default Apple DNS in MacOS and support fallback to default be…
yanjunxiang-google c487995
fixing comments errors
yanjunxiang-google cafdfce
add unit test for cluster manager
yanjunxiang-google 7011364
Revert "checking whether typed_dns_resolver_config based on typed_url…
yanjunxiang-google 601302f
adding test code for DNS cache impl
yanjunxiang-google 93765c5
add test for DNS filter
yanjunxiang-google 7db98f0
fixing integration test in dns_impl_test.cc
yanjunxiang-google 0c27d9a
move DNS related test files to extension directory
yanjunxiang-google 0d66904
fixing Apple DNS integration testing issue
yanjunxiang-google 9e01e1c
moving dns_factory.h to source/common
yanjunxiang-google 38bbb91
git pull upstream main
yanjunxiang-google 5a388b1
remove the DNS apple cross cares options check documentation
yanjunxiang-google 1c39827
fix target naming
yanjunxiang-google da77357
proto format
yanjunxiang-google 1b0a396
proto file naming change
yanjunxiang-google 23b6974
fixing CI error in pre_submit check
yanjunxiang-google 1726de4
address comments
yanjunxiang-google 9cfcb8e
fixing CI doc failure
yanjunxiang-google 395b21a
merge upstream main
yanjunxiang-google 81b6774
re-wording some comments
yanjunxiang-google 84af29e
fixing CI pre_format check error
yanjunxiang-google 0f2d3d9
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google cab5d81
fixing CI error: fix_format
yanjunxiang-google 3bc187f
fixing check_format CI error
yanjunxiang-google 37380ce
merge conflicts with commits: Dns resolve fuzz bug #17107
yanjunxiang-google 050e123
Always include cares DNS resolver extension in Envoy build
yanjunxiang-google fb1766d
merge upstream main
yanjunxiang-google 930e3ef
fix CI errors
yanjunxiang-google 0ea1797
adding cares resolver in metadata file to get DOCs build in CI passing
yanjunxiang-google 297a725
fixing dns_filter integration test issues
yanjunxiang-google 3e155ed
fixing CI errors
yanjunxiang-google 52c7255
white space causing CI failure
yanjunxiang-google 5eb5e64
fixing macos CI clang-tidy error and macos build error
yanjunxiang-google 4ca3763
fixing CI errors appledns_impl_test.cc failure
yanjunxiang-google be61bac
fixing CI error
yanjunxiang-google d46bf12
fix CI error
yanjunxiang-google ed9b4ad
fixing apple build error
yanjunxiang-google 2e2322b
revert the last two commits
yanjunxiang-google 34717fd
lower dns_factory.h line coverage to 80%
yanjunxiang-google a1ed897
addressing comments for name conventions
yanjunxiang-google 5026b4d
merge upstream main
yanjunxiang-google ae0b5e2
refactoring the template function
yanjunxiang-google 53e901b
pull upstream main
yanjunxiang-google 66738f7
Merge branch 'dns-as-extension' of https://github.com/yanjunxiang-goo…
yanjunxiang-google 8b29cd7
addressing comments, adding more test cases
yanjunxiang-google 02d8fef
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google 8953123
fixing CI errors
yanjunxiang-google 4035236
merge upstream resolve conflicts
yanjunxiang-google cabd1a6
fixing CI error after merge upstream
yanjunxiang-google 4d047a8
changing std::string to absl::string_view and refactor test code
yanjunxiang-google 88a0731
merge upstream main
yanjunxiang-google b775b4e
proto format scripts
yanjunxiang-google c1639b9
fixing format error
yanjunxiang-google 923011a
fix format error
yanjunxiang-google 054ad4e
cleanup the build dependancy to move the DNS extensions out from core
yanjunxiang-google afff32f
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google 78b3d16
adding unitest and fixing CI error
yanjunxiang-google a80c02b
adding more unit test for dns_factory, and addressing comments
yanjunxiang-google c5ea7d6
fixing CI issue
yanjunxiang-google bbb1a61
fixing white space error
yanjunxiang-google 71d7839
remove unnessary assert
yanjunxiang-google 76f48c8
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google d1468d8
addressing comments
yanjunxiang-google a0e1284
merge upstream main
yanjunxiang-google ff6200d
fixing api compat issues
yanjunxiang-google 9a643bd
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google c8adfd3
Revert "fixing api compat issues"
yanjunxiang-google 3696dc5
addressing comments
yanjunxiang-google 6c96669
addressing comments
yanjunxiang-google ad98ecb
fixing format error
yanjunxiang-google be9ea18
addressing comments that createDnsResolver() can not be called with e…
yanjunxiang-google a1bbff7
Addressing documentation comments, also put apple DNS as required ext…
yanjunxiang-google 6dd626c
put dns_resolution_config proto field as deprecated
yanjunxiang-google e299f44
not put dns_resolution_config in dns_filter.proto as deprecated for now
yanjunxiang-google a458d94
merge upstream main
yanjunxiang-google 1361d47
addressing comments also adding dns_resolution_config deprecation in …
yanjunxiang-google b0d8dde
merge upstream main
yanjunxiang-google 426aa09
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google e448474
removing generated_api_shadow/*
yanjunxiang-google 19291e3
Using Utility::addressToProtobufAddress to setup address in test fun…
yanjunxiang-google e43ddf3
Addressing comments about documentation also just fail/throw exceptio…
yanjunxiang-google b1a7b78
merge upstream
yanjunxiang-google 27280fe
fixing documenation format
yanjunxiang-google 0ad2f17
fixing documentation
yanjunxiang-google de7889f
fixing documentation error
yanjunxiang-google 3a598d1
adding ASSERT(isMainThread) in createDnsResolver
yanjunxiang-google b67da06
create DnsResolverFactory based on proto config, and passing it to th…
yanjunxiang-google d1b9570
merge upstream main
yanjunxiang-google c2346fc
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google d851cfe
fix formats
yanjunxiang-google 6cc11f9
fixing test failure
yanjunxiang-google 109d248
merge upstream main
yanjunxiang-google 2ddec0c
fix format
yanjunxiang-google afa29a6
fix clangTidy issue
yanjunxiang-google c034a0d
cleaning up createDnsResolver() from dispatcher interface
yanjunxiang-google 6ce81c8
remove unnecessary #include head file
yanjunxiang-google febc37d
fixing wasm_speed_test build error
yanjunxiang-google 9baefa0
fixing CI errors
yanjunxiang-google 8c2ac6c
run fixing format scripts
yanjunxiang-google e3ee969
fixing CI errors
yanjunxiang-google 065a31f
fixing clang-tidy error
yanjunxiang-google a447ced
fixing macos testing issue
yanjunxiang-google 1ba1c00
adjust line coverage due to removed code not tested any more
yanjunxiang-google 768cf2c
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google addfd6c
fixing documentation
yanjunxiang-google bf7122c
merge upstream main
yanjunxiang-google 0d94ed7
Adjust changes due to dns_filter changed from v3aplha to v3
yanjunxiang-google dc284b2
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google 8fd2eb1
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google 404b0e9
change method name from createDnsResolverImpl to createDnsResolver
yanjunxiang-google 9924c2b
merge upstream main
yanjunxiang-google ebdfda1
fixing build issue after merge upstream
yanjunxiang-google e47b315
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google c013c63
fixing current.rst contents due to bad merge
yanjunxiang-google 522ff6e
fixing current.rst merge issue
yanjunxiang-google 0e743a2
merge upstream main to resolver conflicts
yanjunxiang-google cb37d3c
change to check isMainOrTestThread()
yanjunxiang-google cb104fd
fixing test issue
yanjunxiang-google cb69b97
adjusting test coverage numbers to address CI coverage failure
yanjunxiang-google c3d6e50
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google da637e8
resolving conflicts with upstream main
yanjunxiang-google 02a18d1
merge upstream main to resolver conflicts in per_file_coverage
yanjunxiang-google f72ddd1
adding a debug log when creating Apple DNS resolver
yanjunxiang-google 83027cc
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google 1d46667
fixing current.rst merging issue
yanjunxiang-google 2a7c60f
adjusting per_file_coverage numbers based on test results
yanjunxiang-google b4470d1
dns-as-extension
yanjunxiang-google 8fbc51a
Merge branch 'main' of https://github.com/envoyproxy/envoy into dns-a…
yanjunxiang-google d7a9faa
Adding #ifdef __APPLE__ to flag build file issue if apple DNS resolv…
yanjunxiang-google b49db1b
fixing macOS integration test failure
yanjunxiang-google 8757f5f
bump up dns_resolver test coverage number
yanjunxiang-google File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
|
||
| load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
|
||
| licenses(["notice"]) # Apache 2 | ||
|
|
||
| api_proto_package( | ||
| deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], | ||
| ) |
17 changes: 17 additions & 0 deletions
17
api/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| syntax = "proto3"; | ||
|
|
||
| package envoy.extensions.network.dns_resolver.apple.v3; | ||
|
|
||
| import "udpa/annotations/status.proto"; | ||
|
|
||
| option java_package = "io.envoyproxy.envoy.extensions.network.dns_resolver.apple.v3"; | ||
| option java_outer_classname = "AppleDnsResolverProto"; | ||
| option java_multiple_files = true; | ||
| option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
|
||
| // [#protodoc-title: apple DNS resolver] | ||
| // [#extension: envoy.network.dns_resolver.apple] | ||
|
|
||
| // Configuration for apple DNS resolver. | ||
| message AppleDnsResolverConfig { | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
|
||
| load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
|
||
| licenses(["notice"]) # Apache 2 | ||
|
|
||
| api_proto_package( | ||
| deps = [ | ||
| "//envoy/config/core/v3:pkg", | ||
| "@com_github_cncf_udpa//udpa/annotations:pkg", | ||
| ], | ||
| ) |
28 changes: 28 additions & 0 deletions
28
api/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| syntax = "proto3"; | ||
|
|
||
| package envoy.extensions.network.dns_resolver.cares.v3; | ||
|
|
||
| import "envoy/config/core/v3/address.proto"; | ||
| import "envoy/config/core/v3/resolver.proto"; | ||
|
|
||
| import "udpa/annotations/status.proto"; | ||
| import "validate/validate.proto"; | ||
|
|
||
| option java_package = "io.envoyproxy.envoy.extensions.network.dns_resolver.cares.v3"; | ||
| option java_outer_classname = "CaresDnsResolverProto"; | ||
| option java_multiple_files = true; | ||
| option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
|
||
| // [#protodoc-title: c-ares DNS resolver] | ||
| // [#extension: envoy.network.dns_resolver.cares] | ||
|
|
||
| // Configuration for c-ares DNS resolver. | ||
| message CaresDnsResolverConfig { | ||
| // A list of dns resolver addresses. If specified, the DNS client library will perform resolution | ||
| // via the underlying DNS resolvers. Otherwise, the default system resolvers | ||
| // (e.g., /etc/resolv.conf) will be used. | ||
| repeated config.core.v3.Address resolvers = 1 [(validate.rules).repeated = {min_items: 1}]; | ||
yanjunxiang-google marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| // Configuration of DNS resolver option flags which control the behavior of the DNS resolver. | ||
| config.core.v3.DnsResolverOptions dns_resolver_options = 2; | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| DNS Resolver | ||
| ================= | ||
|
|
||
| .. toctree:: | ||
| :glob: | ||
| :maxdepth: 2 | ||
|
|
||
| ../../extensions/network/dns_resolver/*/v3/* |
4 changes: 4 additions & 0 deletions
4
docs/root/configuration/http/http_filters/_include/dns-cache-circuit-breaker-apple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| typed_dns_resolver_config: | ||
| name: envoy.network.dns_resolver.apple | ||
| typed_config: | ||
| "@type": type.googleapis.com/envoy.extensions.network.dns_resolver.apple.v3.AppleDnsResolverConfig |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.