Add namespace_labels
configuration for kubernetes plugin (#2707)
This commit is contained in:
parent
43c3e0ab68
commit
a3dd8cdf8d
9 changed files with 278 additions and 40 deletions
|
@ -234,6 +234,18 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
|
|||
continue
|
||||
}
|
||||
return nil, c.ArgErr()
|
||||
case "namespace_labels":
|
||||
args := c.RemainingArgs()
|
||||
if len(args) > 0 {
|
||||
namespaceLabelSelectorString := strings.Join(args, " ")
|
||||
nls, err := meta.ParseToLabelSelector(namespaceLabelSelectorString)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to parse namespace_label selector value: '%v': %v", namespaceLabelSelectorString, err)
|
||||
}
|
||||
k8s.opts.namespaceLabelSelector = nls
|
||||
continue
|
||||
}
|
||||
return nil, c.ArgErr()
|
||||
case "fallthrough":
|
||||
k8s.Fall.SetZonesFromArgs(c.RemainingArgs())
|
||||
case "upstream":
|
||||
|
@ -293,6 +305,10 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
|
|||
}
|
||||
}
|
||||
|
||||
if len(k8s.Namespaces) != 0 && k8s.opts.namespaceLabelSelector != nil {
|
||||
return nil, c.Errf("namespaces and namespace_labels cannot both be set")
|
||||
}
|
||||
|
||||
return k8s, nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue