The DNS client instance and the network protocol is really an implementation detail, so hide it.
This commit is contained in:
parent
4c5495f2a7
commit
969171cea8
16
main.go
16
main.go
@ -43,7 +43,7 @@ type Exporter struct {
|
|||||||
logger Logger
|
logger Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDNSSECExporter(dnsClient *dns.Client, resolver string, logger Logger) *Exporter {
|
func NewDNSSECExporter(timeout time.Duration, resolver string, logger Logger) *Exporter {
|
||||||
return &Exporter{
|
return &Exporter{
|
||||||
records: prometheus.NewGaugeVec(
|
records: prometheus.NewGaugeVec(
|
||||||
prometheus.GaugeOpts{
|
prometheus.GaugeOpts{
|
||||||
@ -71,9 +71,12 @@ func NewDNSSECExporter(dnsClient *dns.Client, resolver string, logger Logger) *E
|
|||||||
"type",
|
"type",
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
dnsClient: dnsClient,
|
dnsClient: &dns.Client{
|
||||||
resolver: resolver,
|
Net: "tcp",
|
||||||
logger: logger,
|
Timeout: timeout,
|
||||||
|
},
|
||||||
|
resolver: resolver,
|
||||||
|
logger: logger,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,10 +229,7 @@ func main() {
|
|||||||
|
|
||||||
logger := log.New(os.Stderr, "", log.LstdFlags)
|
logger := log.New(os.Stderr, "", log.LstdFlags)
|
||||||
|
|
||||||
exporter := NewDNSSECExporter(&dns.Client{
|
exporter := NewDNSSECExporter(*timeout, *resolver, logger)
|
||||||
Net: "tcp",
|
|
||||||
Timeout: *timeout,
|
|
||||||
}, *resolver, logger)
|
|
||||||
|
|
||||||
if err := toml.NewDecoder(f).Decode(exporter); err != nil {
|
if err := toml.NewDecoder(f).Decode(exporter); err != nil {
|
||||||
log.Fatalf("couldn't parse configuration file: %v", err)
|
log.Fatalf("couldn't parse configuration file: %v", err)
|
||||||
|
15
main_test.go
15
main_test.go
@ -161,10 +161,7 @@ func TestCollectionOK(t *testing.T) {
|
|||||||
addr, cancel := runServer(t, opts{})
|
addr, cancel := runServer(t, opts{})
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
e := NewDNSSECExporter(&dns.Client{
|
e := NewDNSSECExporter(time.Second, addr, nullLogger())
|
||||||
Net: "tcp",
|
|
||||||
Timeout: 1 * time.Second,
|
|
||||||
}, addr, nullLogger())
|
|
||||||
|
|
||||||
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
||||||
|
|
||||||
@ -187,10 +184,7 @@ func TestCollectionExpired(t *testing.T) {
|
|||||||
|
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
e := NewDNSSECExporter(&dns.Client{
|
e := NewDNSSECExporter(time.Second, addr, nullLogger())
|
||||||
Net: "tcp",
|
|
||||||
Timeout: 1 * time.Second,
|
|
||||||
}, addr, nullLogger())
|
|
||||||
|
|
||||||
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
||||||
|
|
||||||
@ -217,10 +211,7 @@ func TestCollectionInvalid(t *testing.T) {
|
|||||||
|
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
e := NewDNSSECExporter(&dns.Client{
|
e := NewDNSSECExporter(time.Second, addr, nullLogger())
|
||||||
Net: "tcp",
|
|
||||||
Timeout: 1 * time.Second,
|
|
||||||
}, addr, nullLogger())
|
|
||||||
|
|
||||||
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
valid, exp := e.collectRecord("example.org", "@", "SOA")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user