Files
capsule/pkg/utils/namespace_selector.go
Siarhei Rasiukevich f85b61860e feat: namespace metadata sync on creation #1378 (#1379)
* feat: namespace metadata sync on creation #1378

Signed-off-by: Siarhei Rasiukevich <s_rasiukevich@wargaming.net>

* fix(tenant): internal error is not returned in cordon webhook

Signed-off-by: Siarhei Rasiukevich <s_rasiukevich@wargaming.net>

* fix(utils): lint on pkg/utils/namespace_selector.go

Signed-off-by: Siarhei Rasiukevich <s_rasiukevich@wargaming.net>

---------

Signed-off-by: Siarhei Rasiukevich <s_rasiukevich@wargaming.net>
Co-authored-by: Siarhei Rasiukevich <s_rasiukevich@wargaming.net>
2025-05-09 06:39:12 +02:00

24 lines
584 B
Go

// Copyright 2020-2023 Project Capsule Authors.
// SPDX-License-Identifier: Apache-2.0
package utils
import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
func IsNamespaceSelectedBySelector(ns *corev1.Namespace, selector *metav1.LabelSelector) (bool, error) {
if selector == nil {
return true, nil // If selector is nil, all namespaces match
}
labelSelector, err := metav1.LabelSelectorAsSelector(selector)
if err != nil {
return false, err
}
return labelSelector.Matches(labels.Set(ns.Labels)), nil
}