From 920a49c8464b0bbc6552824b1ca6fc144782510c Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Mon, 30 Oct 2023 01:12:12 -0700 Subject: [PATCH] fix(input.prometheus): Read bearer token from file every time (#14191) --- plugins/inputs/prometheus/kubernetes.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/inputs/prometheus/kubernetes.go b/plugins/inputs/prometheus/kubernetes.go index 866654d8a..ed892c9aa 100644 --- a/plugins/inputs/prometheus/kubernetes.go +++ b/plugins/inputs/prometheus/kubernetes.go @@ -8,6 +8,7 @@ import ( "net" "net/http" "net/url" + "os" "os/user" "path/filepath" "strconv" @@ -92,7 +93,16 @@ func (p *Prometheus) startK8s(ctx context.Context) error { return case <-time.After(time.Second): if p.isNodeScrapeScope { - err = p.cAdvisor(ctx, config.BearerToken) + bearerToken := config.BearerToken + if config.BearerTokenFile != "" { + bearerTokenBytes, err := os.ReadFile(config.BearerTokenFile) + if err != nil { + p.Log.Errorf("Error reading bearer token file hence falling back to BearerToken: %s", err.Error()) + } else { + bearerToken = string(bearerTokenBytes) + } + } + err = p.cAdvisor(ctx, bearerToken) if err != nil { p.Log.Errorf("Unable to monitor pods with node scrape scope: %s", err.Error()) }