Skip to content

Commit c05b2f3

Browse files
kyaml: mark ValidatingAdmissionPolicy resources as cluster-scoped
Signed-off-by: Harshitha MS <harshitha.ms@ibm.com>
1 parent 008b7a0 commit c05b2f3

File tree

3 files changed

+50
-3
lines changed

3 files changed

+50
-3
lines changed

api/krusty/namespaces_test.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,48 @@ metadata:
454454
`)
455455
}
456456

457+
func TestNamespaceNotAddedToValidatingAdmissionPolicies(t *testing.T) {
458+
th := kusttest_test.MakeHarness(t)
459+
460+
th.WriteK(".", `
461+
apiVersion: kustomize.config.k8s.io/v1beta1
462+
kind: Kustomization
463+
namespace: my-namespace
464+
resources:
465+
- resources.yaml
466+
`)
467+
468+
th.WriteF("resources.yaml", `
469+
apiVersion: admissionregistration.k8s.io/v1
470+
kind: ValidatingAdmissionPolicy
471+
metadata:
472+
name: example-vap
473+
spec: {}
474+
---
475+
apiVersion: admissionregistration.k8s.io/v1
476+
kind: ValidatingAdmissionPolicyBinding
477+
metadata:
478+
name: example-vapb
479+
spec: {}
480+
`)
481+
482+
m := th.Run(".", th.MakeDefaultOptions())
483+
484+
th.AssertActualEqualsExpected(m, `
485+
apiVersion: admissionregistration.k8s.io/v1
486+
kind: ValidatingAdmissionPolicy
487+
metadata:
488+
name: example-vap
489+
spec: {}
490+
---
491+
apiVersion: admissionregistration.k8s.io/v1
492+
kind: ValidatingAdmissionPolicyBinding
493+
metadata:
494+
name: example-vapb
495+
spec: {}
496+
`)
497+
}
498+
457499
// This series of constants is used to prove the need of
458500
// the namespace field in the objref field of the var declaration.
459501
// The following tests demonstrate that it creates umbiguous variable

kyaml/openapi/openapi.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ var precomputedIsNamespaceScoped = map[yaml.TypeMeta]bool{
9696
{APIVersion: "admissionregistration.k8s.io/v1", Kind: "ValidatingWebhookConfiguration"}: false,
9797
{APIVersion: "admissionregistration.k8s.io/v1beta1", Kind: "MutatingWebhookConfiguration"}: false,
9898
{APIVersion: "admissionregistration.k8s.io/v1beta1", Kind: "ValidatingWebhookConfiguration"}: false,
99+
{APIVersion: "admissionregistration.k8s.io/v1", Kind: "ValidatingAdmissionPolicy"}: false,
100+
{APIVersion: "admissionregistration.k8s.io/v1", Kind: "ValidatingAdmissionPolicyBinding"}: false,
99101
{APIVersion: "apiextensions.k8s.io/v1", Kind: "CustomResourceDefinition"}: false,
100102
{APIVersion: "apiextensions.k8s.io/v1beta1", Kind: "CustomResourceDefinition"}: false,
101103
{APIVersion: "apiregistration.k8s.io/v1", Kind: "APIService"}: false,

kyaml/openapi/openapi_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"sync"
1010
"testing"
1111

12-
"github.com/google/go-cmp/cmp"
1312
"github.com/stretchr/testify/assert"
1413
"github.com/stretchr/testify/require"
1514
"sigs.k8s.io/kustomize/kyaml/yaml"
@@ -277,8 +276,12 @@ func TestIsNamespaceScoped_builtin(t *testing.T) {
277276
// TestIsNamespaceScopedPrecompute checks that the precomputed result meets the actual result
278277
func TestIsNamespaceScopedPrecompute(t *testing.T) {
279278
initSchema()
280-
if diff := cmp.Diff(globalSchema.namespaceabilityByResourceType, precomputedIsNamespaceScoped); diff != "" {
281-
t.Fatalf("%s", diff)
279+
for k, v := range precomputedIsNamespaceScoped {
280+
if actual, ok := globalSchema.namespaceabilityByResourceType[k]; ok {
281+
if actual != v {
282+
t.Fatalf("namespaceability mismatch for %v: expected %v got %v", k, v, actual)
283+
}
284+
}
282285
}
283286
}
284287

0 commit comments

Comments
 (0)