1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-13 19:28:55 +00:00

Fix: namespace quota policy failed to be applied for two resources named ResourceQuota with different APIVersions (#2612)

Signed-off-by: Shaohui Liu <liushaohui@xiaomi.com>

Co-authored-by: Vyankatesh Kudtarkar <vyankateshkd@gmail.com>
This commit is contained in:
Liu Shaohui 2022-01-20 15:18:52 +08:00 committed by GitHub
parent e4e15322d1
commit 25722366f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View file

@ -1431,9 +1431,10 @@ func checkClusterResourceInMatchAndExclude(rule kyverno.Rule, clusterResources [
// should not be mentioned
if rule.HasGenerate() {
generateResourceKind := rule.Generation.Kind
generateResourceAPIVersion := rule.Generation.APIVersion
for _, resList := range res {
for _, r := range resList.APIResources {
if r.Kind == generateResourceKind {
if r.Kind == generateResourceKind && (len(generateResourceAPIVersion) == 0 || r.Version == generateResourceAPIVersion) {
if r.Namespaced {
if rule.Generation.Namespace == "" {
return fmt.Errorf("path: spec.rules[%v]: please mention the namespace to generate a namespaced resource", rule.Name)

View file

@ -22,6 +22,7 @@ spec:
- "kube-public"
- "kyverno"
generate:
apiVersion: v1
kind: ResourceQuota
name: default-resourcequota
synchronize : true
@ -39,6 +40,7 @@ spec:
kinds:
- Namespace
generate:
apiVersion: v1
kind: LimitRange
name: default-limitrange
synchronize : true