aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/namespace.go
blob: 4dcc3afa43d8acac68856d3d8d124ea5a439e1d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package kubernetes

// filteredNamespaceExists checks if namespace exists in this cluster
// according to any `namespace_labels` plugin configuration specified.
// Returns true even for namespaces not exposed by plugin configuration,
// see namespaceExposed.
func (k *Kubernetes) filteredNamespaceExists(namespace string) bool {
	_, err := k.APIConn.GetNamespaceByName(namespace)
	if err != nil {
		return false
	}
	return true
}

// configuredNamespace returns true when the namespace is exposed through the plugin
// `namespaces` configuration.
func (k *Kubernetes) configuredNamespace(namespace string) bool {
	_, ok := k.Namespaces[namespace]
	if len(k.Namespaces) > 0 && !ok {
		return false
	}
	return true
}

func (k *Kubernetes) namespaceExposed(namespace string) bool {
	return k.configuredNamespace(namespace) && k.filteredNamespaceExists(namespace)
}