1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/pkg/validation/exception/validate.go
yinka ec110353a8
validate polex activation and namespace (#6046)
* validate polex activation and namespace

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* push updates

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* push updates

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* push updates

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* pass polex options to handler

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* replace pointer

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* remove exceptionoption argument

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* remove nested if

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* revert change

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* fix line

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* pass polex options differently

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* push update

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* move struct

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* Update pkg/validation/exception/validate.go

Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: yinka <damilola.olayinka@nirmata.com>

* Update pkg/webhooks/exception/validate.go

Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: yinka <damilola.olayinka@nirmata.com>

* Update pkg/webhooks/exception/validate.go

Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: yinka <damilola.olayinka@nirmata.com>

* Update pkg/webhooks/exception/validate.go

Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: yinka <damilola.olayinka@nirmata.com>

* fix

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* add unit test

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* remove lines

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

* fix error

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>

Signed-off-by: damilola olayinka <holayinkajr@gmail.com>
Signed-off-by: yinka <damilola.olayinka@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charled.breteche@gmail.com>
2023-01-23 09:48:54 +00:00

30 lines
868 B
Go

package exception
import (
"context"
"github.com/go-logr/logr"
kyvernov2alpha1 "github.com/kyverno/kyverno/api/kyverno/v2alpha1"
)
const (
namespacesDontMatch = "PolicyException resource namespace must match the defined namespace."
disabledPolex = "PolicyException resources would not be processed until it is enabled."
)
type ValidationOptions struct {
Enabled bool
Namespace string
}
// Validate checks policy exception is valid
func Validate(ctx context.Context, logger logr.Logger, polex *kyvernov2alpha1.PolicyException, opts ValidationOptions) ([]string, error) {
var warnings []string
if !opts.Enabled {
warnings = append(warnings, disabledPolex)
} else if opts.Namespace != "" && opts.Namespace != polex.Namespace {
warnings = append(warnings, namespacesDontMatch)
}
errs := polex.Validate()
return warnings, errs.ToAggregate()
}