open-consul/agent/config
Pierre Souchay 42f250fa53 Added SOA configuration for DNS settings. (#4714)
This will allow to fine TUNE SOA settings sent by Consul in DNS responses,
for instance to be able to control negative ttl.

Will fix: https://github.com/hashicorp/consul/issues/4713

# Example

Override all settings:

* min_ttl: 0 => 60s
* retry: 600 (10m) => 300s (5 minutes),
* expire: 86400 (24h) => 43200 (12h)
* refresh: 3600 (1h) => 1800 (30 minutes)

```
consul agent -dev -hcl 'dns_config={soa={min_ttl=60,retry=300,expire=43200,refresh=1800}}'
```

Result:
```
dig +multiline @localhost -p 8600 service.consul

; <<>> DiG 9.12.1 <<>> +multiline @localhost -p 8600 service.consul
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36557
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;service.consul.		IN A

;; AUTHORITY SECTION:
consul.			0 IN SOA ns.consul. hostmaster.consul. (
				1537959133 ; serial
				1800       ; refresh (30 minutes)
				300        ; retry (5 minutes)
				43200      ; expire (12 hours)
				60         ; minimum (1 minute)
				)

;; Query time: 4 msec
;; SERVER: 127.0.0.1#8600(127.0.0.1)
;; WHEN: Wed Sep 26 12:52:13 CEST 2018
;; MSG SIZE  rcvd: 93
```
2018-10-10 15:50:56 -04:00
..
builder.go Added SOA configuration for DNS settings. (#4714) 2018-10-10 15:50:56 -04:00
config.go Added SOA configuration for DNS settings. (#4714) 2018-10-10 15:50:56 -04:00
default.go XDS Server Config (#4730) 2018-10-10 16:55:34 +01:00
default_oss.go Add enterprise default config section 2018-02-05 13:33:59 -08:00
doc.go Metrics service prefix (#3498) 2017-09-26 17:49:55 -07:00
flags.go XDS Server Config (#4730) 2018-10-10 16:55:34 +01:00
flags_test.go XDS Server Config (#4730) 2018-10-10 16:55:34 +01:00
flagset.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
merge.go Changes maps to merge vs. overwrite when processing configs. 2017-12-13 16:06:01 -08:00
merge_test.go Changes maps to merge vs. overwrite when processing configs. 2017-12-13 16:06:01 -08:00
patch_hcl.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
patch_hcl_test.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
runtime.go Added SOA configuration for DNS settings. (#4714) 2018-10-10 15:50:56 -04:00
runtime_test.go Added SOA configuration for DNS settings. (#4714) 2018-10-10 15:50:56 -04:00
segment_oss.go Renames "segments" to "segment" to be consistent with other files. 2017-11-29 18:36:52 -08:00
segment_oss_test.go Renames "segments" to "segment" to be consistent with other files. 2017-11-29 18:36:52 -08:00
translate.go Add SidecarService Syntax sugar to Service Definition (#4686) 2018-10-10 16:55:34 +01:00
translate_test.go config: add generic method to translate between CamelCase and snake_case (#3557) 2017-10-10 16:40:59 -07:00