summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go31
1 files changed, 16 insertions, 15 deletions
diff --git a/main.go b/main.go
index 6cc5b0c..a6c2733 100644
--- a/main.go
+++ b/main.go
@@ -8,24 +8,25 @@ import (
)
type Options struct {
- Verbose bool `long:"verbose" short:"v"`
- Watch bool `long:"watch" description:"Watch for interface changes"`
+ Verbose bool `long:"verbose" short:"v"`
+ Watch bool `long:"watch" description:"Watch for interface changes"`
- Interface string `long:"interface" short:"i" value-name:"IFACE" description:"Use address from interface"`
- InterfaceFamily Family `long:"interface-family" value-name:"ipv4|ipv6|all" description:"Limit to interface addreses of given family"`
+ // Netlink Interface
+ Interface string `long:"interface" short:"i" value-name:"IFACE" description:"Use address from interface"`
+ InterfaceFamily Family `long:"interface-family" value-name:"ipv4|ipv6|all" description:"Limit to interface addreses of given family"`
- Server string `long:"server" value-name:"HOST[:PORT]" description:"Server for UPDATE query, default is discovered from zone SOA"`
- Timeout time.Duration `long:"timeout" value-name:"DURATION" default:"10s" description:"Timeout for sever queries"`
- Retry time.Duration `long:"retry" value-name:"DURATION" default:"30s" description:"Retry interval, increased for each retry attempt"`
- TSIGName string `long:"tsig-name" value-name:"FQDN"`
- TSIGSecret string `long:"tsig-secret" value-name:"BASE-64" env:"TSIG_SECRET" description:"base64-encoded shared TSIG secret key"`
+ // DNS Update
+ Server string `long:"server" value-name:"HOST[:PORT]" description:"Server for UPDATE query, default is discovered from zone SOA"`
+ Timeout time.Duration `long:"timeout" value-name:"DURATION" default:"10s" description:"Timeout for sever queries"`
+ Retry time.Duration `long:"retry" value-name:"DURATION" default:"30s" description:"Retry interval, increased for each retry attempt"`
+ TSIGName string `long:"tsig-name" value-name:"FQDN"`
+ TSIGSecret string `long:"tsig-secret" value-name:"BASE-64" env:"TSIG_SECRET" description:"base64-encoded shared TSIG secret key"`
TSIGAlgorithm TSIGAlgorithm `long:"tsig-algorithm" value-name:"hmac-{md5,sha1,sha256,sha512}" default:"hmac-sha1."`
+ Zone string `long:"zone" value-name:"FQDN" description:"Zone to update, default is derived from name"`
+ TTL time.Duration `long:"ttl" value-name:"DURATION" default:"60s" description:"TTL for updated records"`
- Zone string `long:"zone" value-name:"FQDN" description:"Zone to update, default is derived from name"`
- TTL time.Duration `long:"ttl" value-name:"DURATION" default:"60s" description:"TTL for updated records"`
-
- Args struct {
- Name string `value-name:"FQDN" description:"DNS Name to update"`
+ Args struct {
+ Name string `value-name:"FQDN" description:"DNS Name to update"`
} `positional-args:"yes"`
}
@@ -38,7 +39,7 @@ func main() {
}
var update = Update{
- ttl: int(options.TTL.Seconds()),
+ ttl: int(options.TTL.Seconds()),
timeout: options.Timeout,
retry: options.Retry,
verbose: options.Verbose,