mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-20 04:56:44 +00:00
* chore: add nwa Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com> * chore: update helm-schema version Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com> * chore: update helm-schema version Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com> --------- Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
46 lines
861 B
Go
46 lines
861 B
Go
// Copyright 2020-2025 Project Capsule Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package meta
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
|
)
|
|
|
|
const (
|
|
FreezeLabel = "projectcapsule.dev/freeze"
|
|
FreezeLabelTrigger = "true"
|
|
)
|
|
|
|
func FreezeLabelTriggers(obj client.Object) bool {
|
|
return labelTriggers(obj, FreezeLabel, FreezeLabelTrigger)
|
|
}
|
|
|
|
func FreezeLabelRemove(obj client.Object) {
|
|
labelRemove(obj, FreezeLabel)
|
|
}
|
|
|
|
func labelRemove(obj client.Object, anno string) {
|
|
annotations := obj.GetLabels()
|
|
|
|
if _, ok := annotations[anno]; ok {
|
|
delete(annotations, anno)
|
|
|
|
obj.SetLabels(annotations)
|
|
}
|
|
}
|
|
|
|
func labelTriggers(obj client.Object, anno string, trigger string) bool {
|
|
annotations := obj.GetLabels()
|
|
|
|
if val, ok := annotations[anno]; ok {
|
|
if strings.ToLower(val) == trigger {
|
|
return true
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|