You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: api/v1alpha1/clusterextension_types.go
+12-11Lines changed: 12 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,7 @@ type SourceConfig struct {
97
97
// catalog is used to configure how information is sourced from a catalog.
98
98
// This field is required when sourceType is "Catalog", and forbidden otherwise.
99
99
//
100
-
// +optional.
100
+
// +optional
101
101
Catalog*CatalogSource`json:"catalog,omitempty"`
102
102
}
103
103
@@ -107,7 +107,7 @@ type SourceConfig struct {
107
107
// +union
108
108
typeClusterExtensionInstallConfigstruct {
109
109
// namespace designates the kubernetes Namespace where bundle content
110
-
// for the 'packageName' package field will be applied and the necessary
110
+
// for the package, referenced in the 'packageName' field, will be applied and the necessary
111
111
// service account can be found.
112
112
// The bundle may contain cluster-scoped resources or resources that are
113
113
// applied to other Namespaces. This Namespace is expected to exist.
@@ -120,7 +120,7 @@ type ClusterExtensionInstallConfig struct {
120
120
//
121
121
// +kubebuilder:validation:MaxLength:=63
122
122
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="namespace is immutable"
123
-
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$\")",message="namespace must be a valid DNS1123 label"
123
+
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$\")",message="namespace must be a valid DNS1123 label. It must contain only lowercase alphanumeric characters or hyphens (-), start and end with an alphanumeric character, and be no longer than 63 characters"
124
124
// +kubebuilder:validation:Required
125
125
Namespacestring`json:"namespace"`
126
126
@@ -173,7 +173,7 @@ type CatalogSource struct {
173
173
// +kubebuilder:validation.Required
174
174
// +kubebuilder:validation:MaxLength:=253
175
175
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="packageName is immutable"
176
-
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain"
176
+
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
177
177
// +kubebuilder:validation:Required
178
178
PackageNamestring`json:"packageName"`
179
179
@@ -264,7 +264,7 @@ type CatalogSource struct {
264
264
// Each channel in the list must follow the DNS subdomain standard
265
265
// as defined in [RFC 1123]. It must contain only lowercase alphanumeric characters,
266
266
// hyphens (-) or periods (.), start and end with an alphanumeric character,
267
-
// and be no longer than 253 characters.
267
+
// and be no longer than 253 characters. No more than 256 channels can be specified.
268
268
//
269
269
// When specified, it is used to constrain the set of installable bundles and
270
270
// the automated upgrade path. This constraint is an AND operation with the
@@ -363,7 +363,7 @@ type ServiceAccountReference struct {
363
363
//
364
364
// +kubebuilder:validation:MaxLength:=253
365
365
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
366
-
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="name must be a valid DNS1123 subdomain"
366
+
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="name must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
367
367
// +kubebuilder:validation:Required
368
368
Namestring`json:"name"`
369
369
}
@@ -394,7 +394,6 @@ type CRDUpgradeSafetyPreflightConfig struct {
@@ -430,14 +429,14 @@ type BundleMetadata struct {
430
429
// and be no longer than 253 characters.
431
430
//
432
431
// +kubebuilder:validation:Required
433
-
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain"
432
+
// +kubebuilder:validation:XValidation:rule="self.matches(\"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\")",message="packageName must be a valid DNS1123 subdomain. It must contain only lowercase alphanumeric characters, hyphens (-) or periods (.), start and end with an alphanumeric character, and be no longer than 253 characters"
434
433
Namestring`json:"name"`
435
434
436
435
// version is a required field and is a reference to the version that this bundle represents
437
-
// version follows the semantic versioning standard as defined in https://semver.org/, but permits a leading 'v' character.
436
+
// version follows the semantic versioning standard as defined in https://semver.org/.
438
437
//
439
438
// +kubebuilder:validation:Required
440
-
// +kubebuilder:validation:XValidation:rule="self.matches(\"^v?([0-9]+)(\\\\.[0-9]+)?(\\\\.[0-9]+)?(-([-0-9A-Za-z]+(\\\\.[-0-9A-Za-z]+)*))?(\\\\+([-0-9A-Za-z]+(-\\\\.[-0-9A-Za-z]+)*))?\")",message="version name must foo"
439
+
// +kubebuilder:validation:XValidation:rule="self.matches(\"^([0-9]+)(\\\\.[0-9]+)?(\\\\.[0-9]+)?(-([-0-9A-Za-z]+(\\\\.[-0-9A-Za-z]+)*))?(\\\\+([-0-9A-Za-z]+(-\\\\.[-0-9A-Za-z]+)*))?\")",message="version must be well-formed semver"
441
440
Versionstring`json:"version"`
442
441
}
443
442
@@ -451,8 +450,8 @@ type ClusterExtensionStatus struct {
451
450
//
452
451
// The Progressing condition represents whether or not the ClusterExtension is advancing towards a new state.
453
452
// When Progressing is True and the Reason is Succeeded, the ClusterExtension is making progress towards a new state.
453
+
// When Progressing is True and the Reason is Retrying, the ClusterExtension has encountered an error that could be resolved on subsequent reconciliation attempts.
454
454
// When Progressing is False and the Reason is Blocked, the ClusterExtension has encountered an error that requires manual intervention for recovery.
455
-
// When Progressing is False and the Reason is Retrying, the ClusterExtension has encountered an error that could be resolved on subsequent reconciliation attempts.
456
455
//
457
456
// When the ClusterExtension is sourced from a catalog, if may also communicate a deprecation condition.
458
457
// These are indications from a package owner to guide users away from a particular package, channel, or bundle.
@@ -517,6 +516,8 @@ type ClusterExtensionList struct {
517
516
// +optional
518
517
metav1.ListMeta`json:"metadata,omitempty"`
519
518
519
+
// items is a required list of ClusterExtension objects.
The Progressing condition represents whether or not the ClusterExtension is advancing towards a new state.
479
487
When Progressing is True and the Reason is Succeeded, the ClusterExtension is making progress towards a new state.
488
+
When Progressing is True and the Reason is Retrying, the ClusterExtension has encountered an error that could be resolved on subsequent reconciliation attempts.
480
489
When Progressing is False and the Reason is Blocked, the ClusterExtension has encountered an error that requires manual intervention for recovery.
481
-
When Progressing is False and the Reason is Retrying, the ClusterExtension has encountered an error that could be resolved on subsequent reconciliation attempts.
482
490
483
491
When the ClusterExtension is sourced from a catalog, if may also communicate a deprecation condition.
484
492
These are indications from a package owner to guide users away from a particular package, channel, or bundle.
@@ -563,16 +571,19 @@ spec:
563
571
and be no longer than 253 characters.
564
572
type: string
565
573
x-kubernetes-validations:
566
-
- message: packageName must be a valid DNS1123 subdomain
574
+
- message: packageName must be a valid DNS1123 subdomain.
575
+
It must contain only lowercase alphanumeric characters,
576
+
hyphens (-) or periods (.), start and end with an alphanumeric
0 commit comments