diff options
author | 2020-05-05 14:34:24 -0400 | |
---|---|---|
committer | 2020-05-05 11:34:24 -0700 | |
commit | 7c7772b735542d2b6a3a8b615f85f4a7db8ffb29 (patch) | |
tree | f11e158fc901bb036c10f89835eb810d636da186 /plugin/kubernetes/metadata.go | |
parent | 9f9509b6c0b947e44e7ea0240fd1251935b58836 (diff) | |
download | coredns-7c7772b735542d2b6a3a8b615f85f4a7db8ffb29.tar.gz coredns-7c7772b735542d2b6a3a8b615f85f4a7db8ffb29.tar.zst coredns-7c7772b735542d2b6a3a8b615f85f4a7db8ffb29.zip |
always add client metadata (#3874)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/kubernetes/metadata.go')
-rw-r--r-- | plugin/kubernetes/metadata.go | 27 |
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 } |