DNS Filter Table Data

Warning

This API is work-in-progress and is subject to breaking changes.

DNS Filter config overview.

data.dns.v2alpha.DnsTable

[data.dns.v2alpha.DnsTable proto]

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

  1. {
  2. "external_retry_count": "...",
  3. "virtual_domains": [],
  4. "known_suffixes": []
  5. }

external_retry_count

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

virtual_domains

(data.dns.v2alpha.DnsTable.DnsVirtualDomain, REQUIRED) Fully qualified domain names for which Envoy will respond to queries

known_suffixes

(type.matcher.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.v2alpha.DnsTable.AddressList

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

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

  1. {
  2. "address": []
  3. }

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 one randomly chosen entry from this list in the DNS response. The random index will vary per query so that we prevent clients pinning on a single address for a configured domain

data.dns.v2alpha.DnsTable.DnsEndpoint

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

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

  1. {
  2. "address_list": "{...}"
  3. }

address_list

(data.dns.v2alpha.DnsTable.AddressList, REQUIRED)

data.dns.v2alpha.DnsTable.DnsVirtualDomain

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

  1. {
  2. "name": "...",
  3. "endpoint": "{...}",
  4. "answer_ttl": "{...}"
  5. }

name

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

endpoint

(data.dns.v2alpha.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