coredns-netbox-plugin
coredns-netbox-plugin copied to clipboard
Support for netbox-dns plugin
I'm using the netbox-dns-plugin, which extends NetBox with complete DNS zone management functionality. This adds additional features like zones and other record types. It'd be great if I could query this information from coredns with your plugin.
I had a look at the plugin code and have some ideas how to implement this. I'd add a boolean argument in setup.go
, which toggles if the native API or the DNS plugin API is used.
case "zoneplugin":
if !c.NextArg() {
return nil, c.ArgErr()
}
zoneplugin, err := strconv.ParseBool(c.Val())
if err != nil {
return n, c.Errf("could not parse 'zoneplugin': %s", err)
}
n.ZonePlugin = zoneplugin
Then I'd convert func query()
to a wrapper function which calls either the existing query()
(renamed to e.g. queryNative()
) function or a new function queryZonePlugin()
.
func (n *Netbox) query(host string, family int) ([]net.IP, error) {
if n.ZonePlugin {
return n.queryZonePlugin(host, family)
}
return n.queryNative(host, family)
}
I'd be happy to try and implement that functionality into your plugin, if you find this useful.
Seems like a useful thing.
Accidentally closed. Please submit a PR.
Adding support for the netbox-dns plugin would be a game changer, in my opinion.
I don't think I'm skilled enough to help with the actual implementation, but if there's anything I can do to assist (even if that just means buying ya'll some coffee), please let me know! 😁
You can contact me in private. I am actually interested in that, I am just not interested in doing all the work for free. A few coffees might be enough ;-)