kubernetes: Add useragent (#6484)

In kubernetes' audit logs you'll see:

"userAgent":"coredns/v0.0.0 (linux/amd64) kubernetes/$Format"

This change adds a userAgent to the requests made by CoreDNS against the kubernetes API:

"userAgent":"CoreDNS/v1.11.1 git_commit:ae2bbc29be1aaae0b3ded5d188968a6c97bb3144 (linux/amd64/go1.22)"

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
This commit is contained in:
Manuel Rüger
2024-08-26 22:45:39 +02:00
committed by GitHub
parent bb1e1b08d8
commit ebbbb453be
3 changed files with 6 additions and 2 deletions

View File

@@ -31,7 +31,7 @@ func init() {
flag.StringVar(&dnsserver.Port, serverType+".port", dnsserver.DefaultPort, "Default port") flag.StringVar(&dnsserver.Port, serverType+".port", dnsserver.DefaultPort, "Default port")
flag.StringVar(&dnsserver.Port, "p", dnsserver.DefaultPort, "Default port") flag.StringVar(&dnsserver.Port, "p", dnsserver.DefaultPort, "Default port")
caddy.AppName = coreName caddy.AppName = CoreName
caddy.AppVersion = CoreVersion caddy.AppVersion = CoreVersion
} }

View File

@@ -3,6 +3,6 @@ package coremain
// Various CoreDNS constants. // Various CoreDNS constants.
const ( const (
CoreVersion = "1.11.3" CoreVersion = "1.11.3"
coreName = "CoreDNS" CoreName = "CoreDNS"
serverType = "dns" serverType = "dns"
) )

View File

@@ -6,9 +6,11 @@ import (
"errors" "errors"
"fmt" "fmt"
"net" "net"
"runtime"
"strings" "strings"
"time" "time"
"github.com/coredns/coredns/coremain"
"github.com/coredns/coredns/plugin" "github.com/coredns/coredns/plugin"
"github.com/coredns/coredns/plugin/etcd/msg" "github.com/coredns/coredns/plugin/etcd/msg"
"github.com/coredns/coredns/plugin/kubernetes/object" "github.com/coredns/coredns/plugin/kubernetes/object"
@@ -192,6 +194,7 @@ func (k *Kubernetes) getClientConfig() (*rest.Config, error) {
return nil, err return nil, err
} }
cc.ContentType = "application/vnd.kubernetes.protobuf" cc.ContentType = "application/vnd.kubernetes.protobuf"
cc.UserAgent = fmt.Sprintf("%s/%s git_commit:%s (%s/%s/%s)", coremain.CoreName, coremain.CoreVersion, coremain.GitCommit, runtime.GOOS, runtime.GOARCH, runtime.Version())
return cc, err return cc, err
} }
@@ -218,6 +221,7 @@ func (k *Kubernetes) getClientConfig() (*rest.Config, error) {
return nil, err return nil, err
} }
cc.ContentType = "application/vnd.kubernetes.protobuf" cc.ContentType = "application/vnd.kubernetes.protobuf"
cc.UserAgent = fmt.Sprintf("%s/%s git_commit:%s (%s/%s/%s)", coremain.CoreName, coremain.CoreVersion, coremain.GitCommit, runtime.GOOS, runtime.GOARCH, runtime.Version())
return cc, err return cc, err
} }