mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
fix: polex mem footprint (#9954)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
baa9eb2fd3
commit
76bd67739a
11 changed files with 14 additions and 23 deletions
|
@ -10,18 +10,9 @@ import (
|
|||
func (e *engine) GetPolicyExceptions(
|
||||
policy kyvernov1.PolicyInterface,
|
||||
rule string,
|
||||
) ([]kyvernov2beta1.PolicyException, error) {
|
||||
var exceptions []kyvernov2beta1.PolicyException
|
||||
) ([]*kyvernov2beta1.PolicyException, error) {
|
||||
if e.exceptionSelector == nil {
|
||||
return exceptions, nil
|
||||
return nil, nil
|
||||
}
|
||||
policyName := cache.MetaObjectToName(policy).String()
|
||||
polexs, err := e.exceptionSelector.Find(policyName, rule)
|
||||
if err != nil {
|
||||
return exceptions, err
|
||||
}
|
||||
for _, polex := range polexs {
|
||||
exceptions = append(exceptions, *polex)
|
||||
}
|
||||
return exceptions, nil
|
||||
return e.exceptionSelector.Find(cache.MetaObjectToName(policy).String(), rule)
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ type Handler interface {
|
|||
unstructured.Unstructured,
|
||||
kyvernov1.Rule,
|
||||
engineapi.EngineContextLoader,
|
||||
[]kyvernov2beta1.PolicyException,
|
||||
[]*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse)
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ func (h mutateExistingHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
contextLoader engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -66,7 +66,7 @@ func (h mutateImageHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
contextLoader engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -28,7 +28,7 @@ func (h mutateResourceHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
contextLoader engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -44,7 +44,7 @@ func (h validateCELHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
_ engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
if engineutils.IsDeleteRequest(policyContext) {
|
||||
logger.V(3).Info("skipping CEL validation on deleted resource")
|
||||
|
|
|
@ -45,7 +45,7 @@ func (h validateImageHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
_ engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -57,7 +57,7 @@ func (h validateManifestHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
_ engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -37,7 +37,7 @@ func (h validatePssHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
_ engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
if engineutils.IsDeleteRequest(policyContext) {
|
||||
logger.V(3).Info("skipping PSS validation on deleted resource")
|
||||
|
|
|
@ -38,7 +38,7 @@ func (h validateResourceHandler) Process(
|
|||
resource unstructured.Unstructured,
|
||||
rule kyvernov1.Rule,
|
||||
contextLoader engineapi.EngineContextLoader,
|
||||
exceptions []kyvernov2beta1.PolicyException,
|
||||
exceptions []*kyvernov2beta1.PolicyException,
|
||||
) (unstructured.Unstructured, []engineapi.RuleResponse) {
|
||||
// check if there is a policy exception matches the incoming resource
|
||||
exception := engineutils.MatchesException(exceptions, policyContext, logger)
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
// MatchesException takes a list of exceptions and checks if there is an exception applies to the incoming resource.
|
||||
// It returns the matched policy exception.
|
||||
func MatchesException(
|
||||
polexs []kyvernov2beta1.PolicyException,
|
||||
polexs []*kyvernov2beta1.PolicyException,
|
||||
policyContext engineapi.PolicyContext,
|
||||
logger logr.Logger,
|
||||
) *kyvernov2beta1.PolicyException {
|
||||
|
@ -40,7 +40,7 @@ func MatchesException(
|
|||
return nil
|
||||
}
|
||||
}
|
||||
return &polex
|
||||
return polex
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
|
Loading…
Reference in a new issue