mirror of
https://github.com/paralus/paralus.git
synced 2026-05-13 03:47:08 +00:00
* 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>
35 lines
684 B
Go
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)
|
|
}
|
|
}
|