1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-05 15:37:19 +00:00

refactor: remove a couple of old util funcs (#5746)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2022-12-21 17:44:02 +01:00 committed by GitHub
parent 6dfcac53f2
commit d6e8efb7f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 37 deletions

View file

@ -15,6 +15,7 @@ import (
enginecontext "github.com/kyverno/kyverno/pkg/engine/context" enginecontext "github.com/kyverno/kyverno/pkg/engine/context"
"github.com/kyverno/kyverno/pkg/engine/context/resolvers" "github.com/kyverno/kyverno/pkg/engine/context/resolvers"
"github.com/kyverno/kyverno/pkg/engine/response" "github.com/kyverno/kyverno/pkg/engine/response"
"github.com/kyverno/kyverno/pkg/logging"
"github.com/kyverno/kyverno/pkg/registryclient" "github.com/kyverno/kyverno/pkg/registryclient"
jsonutils "github.com/kyverno/kyverno/pkg/utils/json" jsonutils "github.com/kyverno/kyverno/pkg/utils/json"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@ -47,11 +48,14 @@ func applyPolicy(
var err error var err error
ctx := enginecontext.NewContext() ctx := enginecontext.NewContext()
err = enginecontext.AddResource(ctx, transformResource(resource)) data, err := resource.MarshalJSON()
if err != nil {
logging.Error(err, "failed to marshal resource")
}
err = enginecontext.AddResource(ctx, data)
if err != nil { if err != nil {
logger.Error(err, "failed to add transform resource to ctx") logger.Error(err, "failed to add transform resource to ctx")
} }
err = ctx.AddNamespace(resource.GetNamespace()) err = ctx.AddNamespace(resource.GetNamespace())
if err != nil { if err != nil {
logger.Error(err, "failed to add namespace to ctx") logger.Error(err, "failed to add namespace to ctx")

View file

@ -3,12 +3,10 @@ package policy
import ( import (
"context" "context"
"reflect" "reflect"
"strings"
"github.com/go-logr/logr" "github.com/go-logr/logr"
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
"github.com/kyverno/kyverno/pkg/config" "github.com/kyverno/kyverno/pkg/config"
"github.com/kyverno/kyverno/pkg/logging"
"github.com/kyverno/kyverno/pkg/utils" "github.com/kyverno/kyverno/pkg/utils"
kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube"
"github.com/kyverno/kyverno/pkg/utils/wildcard" "github.com/kyverno/kyverno/pkg/utils/wildcard"
@ -17,33 +15,6 @@ import (
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
) )
func transformResource(resource unstructured.Unstructured) []byte {
data, err := resource.MarshalJSON()
if err != nil {
logging.Error(err, "failed to marshal resource")
return nil
}
return data
}
func ParseNamespacedPolicy(key string) (string, string, bool) {
namespace := ""
index := strings.Index(key, "/")
if index != -1 {
namespace = key[:index]
key = key[index+1:]
return namespace, key, true
}
return namespace, key, false
}
// MergeResources merges b into a map
func MergeResources(a, b map[string]unstructured.Unstructured) {
for k, v := range b {
a[k] = v
}
}
func (pc *PolicyController) getResourceList(kind, namespace string, labelSelector *metav1.LabelSelector, log logr.Logger) *unstructured.UnstructuredList { func (pc *PolicyController) getResourceList(kind, namespace string, labelSelector *metav1.LabelSelector, log logr.Logger) *unstructured.UnstructuredList {
gv, k := kubeutils.GetKindFromGVK(kind) gv, k := kubeutils.GetKindFromGVK(kind)
resourceList, err := pc.client.ListResource(context.TODO(), gv, k, namespace, labelSelector) resourceList, err := pc.client.ListResource(context.TODO(), gv, k, namespace, labelSelector)

View file

@ -377,11 +377,16 @@ func (pc *PolicyController) syncPolicy(key string) error {
} }
func (pc *PolicyController) getPolicy(key string) (kyvernov1.PolicyInterface, error) { func (pc *PolicyController) getPolicy(key string) (kyvernov1.PolicyInterface, error) {
namespace, key, isNamespacedPolicy := ParseNamespacedPolicy(key) if ns, name, err := cache.SplitMetaNamespaceKey(key); err != nil {
pc.log.Error(err, "failed to parse policy name", "policyName", key)
return nil, err
} else {
isNamespacedPolicy := ns != ""
if !isNamespacedPolicy { if !isNamespacedPolicy {
return pc.pLister.Get(key) return pc.pLister.Get(name)
}
return pc.npLister.Policies(ns).Get(name)
} }
return pc.npLister.Policies(namespace).Get(key)
} }
func generateTriggers(client dclient.Interface, rule kyvernov1.Rule, log logr.Logger) []*unstructured.Unstructured { func generateTriggers(client dclient.Interface, rule kyvernov1.Rule, log logr.Logger) []*unstructured.Unstructured {

View file

@ -5,9 +5,9 @@ import (
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
"github.com/kyverno/kyverno/pkg/autogen" "github.com/kyverno/kyverno/pkg/autogen"
"github.com/kyverno/kyverno/pkg/policy"
kubeutils "github.com/kyverno/kyverno/pkg/utils/kube" kubeutils "github.com/kyverno/kyverno/pkg/utils/kube"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
kcache "k8s.io/client-go/tools/cache"
) )
type store interface { type store interface {
@ -150,7 +150,11 @@ func (m *policyMap) get(key PolicyType, gvk, namespace string) []kyvernov1.Polic
kind := computeKind(gvk) kind := computeKind(gvk)
var result []kyvernov1.PolicyInterface var result []kyvernov1.PolicyInterface
for policyName := range m.kindType[kind][key] { for policyName := range m.kindType[kind][key] {
ns, _, isNamespacedPolicy := policy.ParseNamespacedPolicy(policyName) ns, _, err := kcache.SplitMetaNamespaceKey(policyName)
if err != nil {
logger.Error(err, "failed to parse policy name", "policyName", policyName)
}
isNamespacedPolicy := ns != ""
policy := m.policies[policyName] policy := m.policies[policyName]
if policy == nil { if policy == nil {
logger.Info("nil policy in the cache, this should not happen") logger.Info("nil policy in the cache, this should not happen")