construct wgctrl client in setup()

This commit is contained in:
Jordan Whited 2020-05-12 17:40:19 -07:00
parent c103287912
commit 8ea2232963

View File

@ -1,9 +1,12 @@
package wgsd
import (
"fmt"
"github.com/caddyserver/caddy"
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/plugin"
"golang.zx2c4.com/wireguard/wgctrl"
)
func init() {
@ -11,9 +14,20 @@ func init() {
}
func setup(c *caddy.Controller) error {
client, err := wgctrl.New()
if err != nil {
return fmt.Errorf("wgsd: error constructing wgctrl client: %v",
err)
}
// TODO: parse zone and wireguard device name from config
// Add the Plugin to CoreDNS, so Servers can use it in their plugin chain.
dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler {
return &WGSD{Next: next}
return &WGSD{
Next: next,
client: client,
}
})
return nil