lib/promscrape: allow explicitly setting empty token via token: "" in consul_sd_config

This commit is contained in:
Aliaksandr Valialkin 2020-05-05 07:48:08 +03:00
parent fd739808f3
commit 054457d1f4
2 changed files with 6 additions and 6 deletions

View file

@ -85,9 +85,9 @@ func newAPIConfig(sdc *SDConfig, baseDir string) (*apiConfig, error) {
return cfg, nil return cfg, nil
} }
func getToken(token string) (string, error) { func getToken(token *string) (string, error) {
if token != "" { if token != nil {
return token, nil return *token, nil
} }
if tokenFile := os.Getenv("CONSUL_HTTP_TOKEN_FILE"); tokenFile != "" { if tokenFile := os.Getenv("CONSUL_HTTP_TOKEN_FILE"); tokenFile != "" {
data, err := ioutil.ReadFile(tokenFile) data, err := ioutil.ReadFile(tokenFile)
@ -96,9 +96,9 @@ func getToken(token string) (string, error) {
} }
return string(data), nil return string(data), nil
} }
token = os.Getenv("CONSUL_HTTP_TOKEN") t := os.Getenv("CONSUL_HTTP_TOKEN")
// Allow empty token - it shouls work if authorization is disabled in Consul // Allow empty token - it shouls work if authorization is disabled in Consul
return token, nil return t, nil
} }
func getDatacenter(client *discoveryutils.Client, dc string) (string, error) { func getDatacenter(client *discoveryutils.Client, dc string) (string, error) {

View file

@ -11,7 +11,7 @@ import (
// See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config // See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
type SDConfig struct { type SDConfig struct {
Server string `yaml:"server"` Server string `yaml:"server"`
Token string `yaml:"token"` Token *string `yaml:"token"`
Datacenter string `yaml:"datacenter"` Datacenter string `yaml:"datacenter"`
Scheme string `yaml:"scheme"` Scheme string `yaml:"scheme"`
Username string `yaml:"username"` Username string `yaml:"username"`