DNS Filter Table Data

DNS Filter config overview.

data.dns.v3.DnsTable

[data.dns.v3.DnsTable proto]

This message contains the configuration for the DNS Filter if populated from the control plane

{
  "external_retry_count": "...",
  "virtual_domains": [],
  "known_suffixes": []
}
external_retry_count

(uint32) Control how many times Envoy makes an attempt to forward a query to an external DNS server

virtual_domains

(data.dns.v3.DnsTable.DnsVirtualDomain) Fully qualified domain names for which Envoy will respond to DNS queries. By leaving this list empty, Envoy will forward all queries to external resolvers

known_suffixes

(type.matcher.v3.StringMatcher) This field serves to help Envoy determine whether it can authoritatively answer a query for a name matching a suffix in this list. If the query name does not match a suffix in this list, Envoy will forward the query to an upstream DNS server

data.dns.v3.DnsTable.AddressList

[data.dns.v3.DnsTable.AddressList proto]

This message contains a list of IP addresses returned for a query for a known name

{
  "address": []
}
address

(string, REQUIRED) This field contains a well formed IP address that is returned in the answer for a name query. The address field can be an IPv4 or IPv6 address. Address family detection is done automatically when Envoy parses the string. Since this field is repeated, Envoy will return as many entries from this list in the DNS response while keeping the response under 512 bytes

data.dns.v3.DnsTable.DnsEndpoint

[data.dns.v3.DnsTable.DnsEndpoint proto]

This message type is extensible and can contain a list of addresses, clusters or dictate a different method for resolving the addresses for an endpoint

{
  "address_list": "{...}",
  "cluster_name": "..."
}
address_list

(data.dns.v3.DnsTable.AddressList)

Precisely one of address_list, cluster_name must be set.

cluster_name

(string)

Precisely one of address_list, cluster_name must be set.

data.dns.v3.DnsTable.DnsVirtualDomain

[data.dns.v3.DnsTable.DnsVirtualDomain proto]

{
  "name": "...",
  "endpoint": "{...}",
  "answer_ttl": "{...}"
}
name

(string) A domain name for which Envoy will respond to query requests

endpoint

(data.dns.v3.DnsTable.DnsEndpoint) The configuration containing the method to determine the address of this endpoint

answer_ttl

(Duration) Sets the TTL in DNS answers from Envoy returned to the client. The default TTL is 300s