Files
paralus/internal/cluster/util/taints.go
nirav-rafay c66bdc25cd restructure rcloud-base as a single base controller (#37)
* restructure rcloud-base as a single base controller
* updated master.rest
* moved sentry from internal to pkg as it is used by relay
* removing unused rpc and it's dependencies
* Fix usermgmt tests
* Don't redefine variables in rest file
Co-authored-by: Abin Simon <abin.simon@rafay.co>
2022-03-03 17:59:06 +05:30

35 lines
684 B
Go

package util
import (
"fmt"
v1 "k8s.io/api/core/v1"
)
func ValidateTaints(taints []*v1.Taint) error {
for _, taint := range taints {
err := ValidateFullKey(taint.Key, taint.Value)
if err != nil {
return err
}
err = ValidateValue(taint.Key, taint.Value)
if err != nil {
return err
}
err = ValidateEffect(taint.Key, taint.Effect)
if err != nil {
return err
}
}
return nil
}
func ValidateEffect(key string, effect v1.TaintEffect) error {
switch effect {
case v1.TaintEffectNoSchedule, v1.TaintEffectNoExecute, v1.TaintEffectPreferNoSchedule:
return nil
default:
return fmt.Errorf("invalid taint effect '%s' for the key '%s'", effect, key)
}
}