Closes #711. Depends on #967. This PR changes the proxy's `destination` module to honor the TTLs associated with DNS lookups, now that bluejekyll/trust-dns#444 has been merged and we can access this information from the Trust-DNS Resolver API. The `destination::background::DestinationSet` type has been modified so that, when a successful result is received for a DNS query, the DNS server will be polled again after the deadline associated with that query, rather than after a fixed deadline. The fixed deadline is still used to determine when to poll again for negative DNS responses or for errors. Furthermore, Conduit now accepts an optional CONDUIT_PROXY_DNS_MIN_TTL environment variable that will configure a minimum TTL for DNS results. If the deadline of a DNS response gives it a TTL shorter than the configured minimum, Conduit will not poll DNS again until after that minimum TTL is elapsed. By default, there is no minimum value set, as this feature is intended primarily for when Conduit is run locally for development purposes. Signed-off-by: Eliza Weisman <eliza@buoyant.io> |
||
---|---|---|
.github | ||
proxy | ||
CONTRIBUTING.md | ||
Cargo.lock | ||
Cargo.toml | ||
DCO | ||
LICENSE |