From e5f7caa577403b67040945c2c6dda8856219badf Mon Sep 17 00:00:00 2001 From: Sven Rebhan <36194019+srebhan@users.noreply.github.com> Date: Mon, 24 Feb 2025 18:58:29 +0100 Subject: [PATCH] fix(agent): Add authorization and user-agent when watching remote configs (#16546) --- cmd/telegraf/telegraf.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cmd/telegraf/telegraf.go b/cmd/telegraf/telegraf.go index fb5de806b..ee8391280 100644 --- a/cmd/telegraf/telegraf.go +++ b/cmd/telegraf/telegraf.go @@ -273,9 +273,20 @@ func (*Telegraf) watchRemoteConfigs(ctx context.Context, signals chan os.Signal, return case <-ticker.C: for _, configURL := range remoteConfigs { - resp, err := http.Head(configURL) //nolint:gosec // user provided URL + req, err := http.NewRequest("HEAD", configURL, nil) if err != nil { - log.Printf("W! Error fetching config URL, %s: %s\n", configURL, err) + log.Printf("W! Creating request for fetching config from %q failed: %v\n", configURL, err) + continue + } + + if v, exists := os.LookupEnv("INFLUX_TOKEN"); exists { + req.Header.Add("Authorization", "Token "+v) + } + req.Header.Set("User-Agent", internal.ProductToken()) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + log.Printf("W! Fetching config from %q failed: %v\n", configURL, err) continue } resp.Body.Close()