Skip to content

Commit 9f8eba8

Browse files
committed
add CEL validation for RegistrySources in Image API
1 parent afdfbaf commit 9f8eba8

11 files changed

+52
-0
lines changed

config/v1/types_image.go

+2
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ type RegistryLocation struct {
161161
}
162162

163163
// RegistrySources holds cluster-wide information about how to handle the registries config.
164+
//
165+
// +kubebuilder:validation:XValidation:rule="self.blockedRegistries.size() == 0 || self.allowedRegistries.size() == 0",message="Only one of BlockedRegistries or AllowedRegistries may be set"
164166
type RegistrySources struct {
165167
// insecureRegistries are registries which do not have a valid TLS certificates or only support HTTP connections.
166168
// +optional

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_images-CustomNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_images-Default.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ spec:
146146
type: array
147147
x-kubernetes-list-type: atomic
148148
type: object
149+
x-kubernetes-validations:
150+
- message: Only one of BlockedRegistries or AllowedRegistries may
151+
be set
152+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
153+
== 0
149154
type: object
150155
status:
151156
description: status holds observed values from the cluster. They may not

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_images-DevPreviewNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_images-TechPreviewNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

config/v1/zz_generated.featuregated-crd-manifests/images.config.openshift.io/AAA_ungated.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ spec:
146146
type: array
147147
x-kubernetes-list-type: atomic
148148
type: object
149+
x-kubernetes-validations:
150+
- message: Only one of BlockedRegistries or AllowedRegistries may
151+
be set
152+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
153+
== 0
149154
type: object
150155
status:
151156
description: status holds observed values from the cluster. They may not

config/v1/zz_generated.featuregated-crd-manifests/images.config.openshift.io/ImageStreamImportMode.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

payload-manifests/crds/0000_10_config-operator_01_images-CustomNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

payload-manifests/crds/0000_10_config-operator_01_images-Default.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ spec:
146146
type: array
147147
x-kubernetes-list-type: atomic
148148
type: object
149+
x-kubernetes-validations:
150+
- message: Only one of BlockedRegistries or AllowedRegistries may
151+
be set
152+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
153+
== 0
149154
type: object
150155
status:
151156
description: status holds observed values from the cluster. They may not

payload-manifests/crds/0000_10_config-operator_01_images-DevPreviewNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

payload-manifests/crds/0000_10_config-operator_01_images-TechPreviewNoUpgrade.crd.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,11 @@ spec:
164164
type: array
165165
x-kubernetes-list-type: atomic
166166
type: object
167+
x-kubernetes-validations:
168+
- message: Only one of BlockedRegistries or AllowedRegistries may
169+
be set
170+
rule: self.blockedRegistries.size() == 0 || self.allowedRegistries.size()
171+
== 0
167172
type: object
168173
status:
169174
description: status holds observed values from the cluster. They may not

0 commit comments

Comments
 (0)