Merge pull request #1816 from prometheus/fabxc-k8sfix

config: validate Kubernetes role correctly.
This commit is contained in:
Brian Brazil 2016-07-18 14:29:10 +01:00 committed by GitHub
commit 6eb1d5e63c
3 changed files with 10 additions and 2 deletions

View File

@ -781,7 +781,7 @@ func (c *MarathonSDConfig) UnmarshalYAML(unmarshal func(interface{}) error) erro
// KubernetesSDConfig is the configuration for Kubernetes service discovery.
type KubernetesSDConfig struct {
APIServers []URL `yaml:"api_servers"`
Role string `yaml:"role"`
Role KubernetesRole `yaml:"role"`
InCluster bool `yaml:"in_cluster,omitempty"`
BasicAuth *BasicAuth `yaml:"basic_auth,omitempty"`
BearerToken string `yaml:"bearer_token,omitempty"`
@ -813,7 +813,7 @@ func (c *KubernetesRole) UnmarshalYAML(unmarshal func(interface{}) error) error
case KubernetesRoleNode, KubernetesRolePod, KubernetesRoleContainer, KubernetesRoleService, KubernetesRoleEndpoint, KubernetesRoleAPIServer:
return nil
default:
return fmt.Errorf("Unknown Kubernetes SD role %q", c)
return fmt.Errorf("Unknown Kubernetes SD role %q", *c)
}
}

View File

@ -385,6 +385,9 @@ var expectedErrors = []struct {
}, {
filename: "kubernetes_bearertoken.bad.yml",
errMsg: "at most one of bearer_token & bearer_token_file must be configured",
}, {
filename: "kubernetes_role.bad.yml",
errMsg: "role",
}, {
filename: "kubernetes_bearertoken_basicauth.bad.yml",
errMsg: "at most one of basic_auth, bearer_token & bearer_token_file must be configured",

View File

@ -0,0 +1,5 @@
scrape_configs:
- kubernetes_sd_configs:
- api_server: kubernetes:443
role: vacation