1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-05 07:26:55 +00:00

chore: bump kubectl-validate (#8410)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2023-09-14 22:13:13 +02:00 committed by GitHub
parent 410f99f624
commit 918cf193f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 23 deletions

View file

@ -18,17 +18,14 @@ import (
"github.com/kyverno/kyverno/pkg/utils/git"
yamlutils "github.com/kyverno/kyverno/pkg/utils/yaml"
"k8s.io/api/admissionregistration/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/yaml"
"sigs.k8s.io/kubectl-validate/pkg/openapiclient"
"sigs.k8s.io/kubectl-validate/pkg/validatorfactory"
"sigs.k8s.io/kubectl-validate/pkg/validator"
)
var (
factory, _ = validatorfactory.New(client)
factory, _ = validator.New(client)
policyV1 = schema.GroupVersion(kyvernov1.GroupVersion).WithKind("Policy")
policyV2 = schema.GroupVersion(kyvernov2beta1.GroupVersion).WithKind("Policy")
clusterPolicyV1 = schema.GroupVersion(kyvernov1.GroupVersion).WithKind("ClusterPolicy")
@ -51,26 +48,11 @@ func getPolicies(bytes []byte) ([]kyvernov1.PolicyInterface, []v1alpha1.Validati
return nil, nil, err
}
for _, document := range documents {
var metadata metav1.TypeMeta
if err := yaml.Unmarshal(document, &metadata); err != nil {
return nil, nil, err
}
gvk := metadata.GetObjectKind().GroupVersionKind()
validator, err := factory.ValidatorsForGVK(gvk)
gvk, untyped, err := factory.Parse(document)
if err != nil {
return nil, nil, err
}
decoder, err := validator.Decoder(gvk)
if err != nil {
return nil, nil, err
}
info, ok := runtime.SerializerInfoForMediaType(decoder.SupportedMediaTypes(), runtime.ContentTypeYAML)
if !ok {
return nil, nil, fmt.Errorf("failed to get serializer info for %s", gvk)
}
var untyped unstructured.Unstructured
_, _, err = decoder.DecoderToVersion(info.StrictSerializer, gvk.GroupVersion()).Decode(document, &gvk, &untyped)
if err != nil {
if err := factory.Validate(untyped); err != nil {
return nil, nil, err
}
switch gvk {

2
go.mod
View file

@ -85,7 +85,7 @@ require (
k8s.io/pod-security-admission v0.28.1
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
sigs.k8s.io/controller-runtime v0.16.1
sigs.k8s.io/kubectl-validate v0.0.0-20230914142413-ed2eb2bf4d8c
sigs.k8s.io/kubectl-validate v0.0.0-20230914185012-0d8eb44296e9
sigs.k8s.io/kustomize/api v0.14.0
sigs.k8s.io/kustomize/kyaml v0.14.3
sigs.k8s.io/release-utils v0.7.4

2
go.sum
View file

@ -2356,6 +2356,8 @@ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMm
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kubectl-validate v0.0.0-20230914142413-ed2eb2bf4d8c h1:zAY1oQLaUQqO4r45vM9YewbmjsHX8Rl/KPaBkZaxXws=
sigs.k8s.io/kubectl-validate v0.0.0-20230914142413-ed2eb2bf4d8c/go.mod h1:9FgW8ync4Up+D1hIYTSO1vc9HkNbgm55N2iZ/LYNYxk=
sigs.k8s.io/kubectl-validate v0.0.0-20230914185012-0d8eb44296e9 h1:2SQuQcVormMzrPZyayZ2q4t1EJBe0RTtqmFozc6HQTA=
sigs.k8s.io/kubectl-validate v0.0.0-20230914185012-0d8eb44296e9/go.mod h1:9FgW8ync4Up+D1hIYTSO1vc9HkNbgm55N2iZ/LYNYxk=
sigs.k8s.io/kustomize/api v0.14.0 h1:6+QLmXXA8X4eDM7ejeaNUyruA1DDB3PVIjbpVhDOJRA=
sigs.k8s.io/kustomize/api v0.14.0/go.mod h1:vmOXlC8BcmcUJQjiceUbcyQ75JBP6eg8sgoyzc+eLpQ=
sigs.k8s.io/kustomize/kyaml v0.14.3 h1:WpabVAKZe2YEp/irTSHwD6bfjwZnTtSDewd2BVJGMZs=