-
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
Add custom resolver support for v2 Address messages #1477
Comments
This seemed straightforward until I started looking at the already-existing-but-unrelated DNS resolver, which resolves names asynchronously. It seems like that's the right way to resolve names in general, but the code paths that would use this expect config parsing to be a synchronous affair. |
I guess the question is how dynamic do we need to be? We could do resolution at config ingestion time, which would probably be fine for Google, but the general resolver scheme would probably also support this happening at bind/connect time. I'd be fine with a synchronous config time load resolution as a first step, because that's all that Google needs. The use cases for the resolver so far have been IP NAT and port name mapping (from a named port to a specific port). I think there was also the idea we would use SRV in the |
Thinking about how |
We could defer resolution until |
After talking with @htuch in person, this is going to stay completely synchronous for now - no remote lookups, no network access. The calling code could be modified to support asynchronous lookups, but it would require significant changes and a lot more callbacks sprinkled around. |
Add Address::ResolverFactory and Address::Resolver interfaces for instantiating Address::Instances from strings in protos. The interface is completely synchronous, so all translation must be done inline without any network access, meaning this can't be used to resolve hostnames via DNS. Doing so would require making more things asynchronous; this can be done, but let's not do it until it's necessary. This is progress towards #1477 Signed-off-by: Alex Konradi <[email protected]>
I think this is done. Closing. |
Automatic merge from submit-queue. Remove using EndUserAuthenticationPolicySpec **What this PR does / why we need it**: Remove code of using EndUserAuthenticationPolicySpec Issue: istio/istio#4744 **Release note**: ```release-note None ```
Description: make TagsBuilder initializer public Risk Level: low Testing: unit/ci Signed-off-by: Jingwei Hao <[email protected]> Signed-off-by: JP Simard <[email protected]>
Description: make TagsBuilder initializer public Risk Level: low Testing: unit/ci Signed-off-by: Jingwei Hao <[email protected]> Signed-off-by: JP Simard <[email protected]>
In the v2 API, we allow
Address
messages to specify a resolver plugin. This will transform logical addresses to concrete addresses. This supports address virtualization and address namespaces that are non-standard. This issue will track the implementation of the registration facility, invocation of the resolver at appropriate code sites and an example resolver for testing.The resolver should be capable of returning an arbitrary
Address::Instance
subclass, which will be able to support a notion of a string representation for both the logical and physical address. These can then be plumbed into logs, stats and generated headers as distinct concepts.The text was updated successfully, but these errors were encountered: