aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/metadata.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/kubernetes/metadata.go')
-rw-r--r--plugin/kubernetes/metadata.go27
1 files changed, 14 insertions, 13 deletions
diff --git a/plugin/kubernetes/metadata.go b/plugin/kubernetes/metadata.go
index 09d0b3ae5..36e2f9a0f 100644
--- a/plugin/kubernetes/metadata.go
+++ b/plugin/kubernetes/metadata.go
@@ -10,7 +10,21 @@ import (
// Metadata implements the metadata.Provider interface.
func (k *Kubernetes) Metadata(ctx context.Context, state request.Request) context.Context {
+ pod := k.podWithIP(state.IP())
+ if pod != nil {
+ metadata.SetValueFunc(ctx, "kubernetes/client-namespace", func() string {
+ return pod.Namespace
+ })
+
+ metadata.SetValueFunc(ctx, "kubernetes/client-pod-name", func() string {
+ return pod.Name
+ })
+ }
+
zone := plugin.Zones(k.Zones).Matches(state.Name())
+ if zone == "" {
+ return ctx
+ }
// possible optimization: cache r so it doesn't need to be calculated again in ServeDNS
r, err := parseRequest(state.Name(), zone)
if err != nil {
@@ -44,18 +58,5 @@ func (k *Kubernetes) Metadata(ctx context.Context, state request.Request) contex
return r.podOrSvc
})
- pod := k.podWithIP(state.IP())
- if pod == nil {
- return ctx
- }
-
- metadata.SetValueFunc(ctx, "kubernetes/client-namespace", func() string {
- return pod.Namespace
- })
-
- metadata.SetValueFunc(ctx, "kubernetes/client-pod-name", func() string {
- return pod.Name
- })
-
return ctx
}