mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
3142af64a0
* feat: add global context entry validation webhook Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> * fix: use `k8s.io/apimachinery/pkg/util/json` instead of `encoding/json` Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> * fix: lint Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> --------- Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>
26 lines
628 B
Go
26 lines
628 B
Go
package globalcontext
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/go-logr/logr"
|
|
kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1"
|
|
)
|
|
|
|
const (
|
|
disabledGctx = "Global context entry would not be processed until it is enabled."
|
|
)
|
|
|
|
type ValidationOptions struct {
|
|
Enabled bool
|
|
}
|
|
|
|
// Validate checks global context entry is valid
|
|
func Validate(ctx context.Context, logger logr.Logger, gctx *kyvernov2alpha1.GlobalContextEntry, opts ValidationOptions) ([]string, error) {
|
|
var warnings []string
|
|
if !opts.Enabled {
|
|
warnings = append(warnings, disabledGctx)
|
|
}
|
|
errs := gctx.Validate()
|
|
return warnings, errs.ToAggregate()
|
|
}
|