envoyproxy / envoyproxy/envoy

dns_filter: feature req - DNS over TLS

Open
#11,738 11 comments 1 reaction 1 assignee Claimed by @ramaraochavali View on GitHub
area/dns help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

Today, the upstream resolver is specified using IP/Port like this:

```yaml
dns_filter:
client_config:
resolver_timeout: 5s
upstream_resolvers:
addressList:
- address: 8.8.8.8, port: 53 #only plaintext dns
max_pending_lookups: 256
```

If we allow the specification of upstream resolvers using a cluster name reference, we will get DNS over TLS for free in addition to bunch of other [weird] functionalities. For example,

```yaml
dns_filter:
client_config:
resolver_timeout: 5s
upstream_resolver_cluster: my_dns_cluster
max_pending_lookups: 256
...
Clusters:
- name: my_dns_cluster
type: STATIC
lbEndpoints:
- 8.8.8.8, port 853
upstreamTLSContext:
....
```

If the request is not satisfied within the `resolver_timeout` period, then the resolution fails [just like http route timeout]. The question is should there be an API-ish mechanism to constrain the cluster type to just static or should we let the user use any normal cluster (strict_dns, eds, etc.). It doesn't really matter to the `client_config` as its just consuming the response from the cluster object.

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.