middleware/kubernetes: put reverse function in own file (#863)
Move reverse function and (some) test code to reverse*.go
This commit is contained in:
parent
be037a32a5
commit
df1879f9ae
4 changed files with 66 additions and 52 deletions
32
middleware/kubernetes/reverse.go
Normal file
32
middleware/kubernetes/reverse.go
Normal file
|
@ -0,0 +1,32 @@
|
|||
package kubernetes
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
"github.com/coredns/coredns/middleware"
|
||||
"github.com/coredns/coredns/middleware/etcd/msg"
|
||||
"github.com/coredns/coredns/middleware/pkg/dnsutil"
|
||||
"github.com/coredns/coredns/request"
|
||||
)
|
||||
|
||||
// Reverse implements the ServiceBackend interface.
|
||||
func (k *Kubernetes) Reverse(state request.Request, exact bool, opt middleware.Options) ([]msg.Service, []msg.Service, error) {
|
||||
|
||||
ip := dnsutil.ExtractAddressFromReverse(state.Name())
|
||||
if ip == "" {
|
||||
return nil, nil, nil
|
||||
}
|
||||
|
||||
records := k.getServiceRecordForIP(ip, state.Name())
|
||||
return records, nil, nil
|
||||
}
|
||||
|
||||
func (k *Kubernetes) isRequestInReverseRange(name string) bool {
|
||||
ip := dnsutil.ExtractAddressFromReverse(name)
|
||||
for _, c := range k.ReverseCidrs {
|
||||
if c.Contains(net.ParseIP(ip)) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue