Skip to content

Commit 61d03ed

Browse files
committed
CONSOLE-5209: Promote IngressComponentRouteLabels to Default
1 parent 18550f1 commit 61d03ed

8 files changed

Lines changed: 108 additions & 14 deletions

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

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,53 @@ spec:
7777
the route.
7878
pattern: ^([a-zA-Z0-9\p{S}\p{L}]((-?[a-zA-Z0-9\p{S}\p{L}]{0,62})?)|([a-zA-Z0-9\p{S}\p{L}](([a-zA-Z0-9-\p{S}\p{L}]{0,61}[a-zA-Z0-9\p{S}\p{L}])?)(\.)){1,}([a-zA-Z\p{L}]){2,63})$|^(([a-z0-9][-a-z0-9]{0,61}[a-z0-9]|[a-z0-9]{1,63})[\.]){0,}([a-z0-9][-a-z0-9]{0,61}[a-z0-9]|[a-z0-9]{1,63})$
7979
type: string
80+
labels:
81+
additionalProperties:
82+
description: |-
83+
LabelValue is the value part of a Kubernetes label.
84+
A label value must be either empty or 1-63 characters, consisting of
85+
alphanumeric characters, '-', '_', or '.', starting and ending with
86+
an alphanumeric character.
87+
maxLength: 63
88+
type: string
89+
x-kubernetes-validations:
90+
- message: label values must be valid Kubernetes label values
91+
(at most 63 characters, alphanumeric, '-', '_', or '.',
92+
must start and end with alphanumeric)
93+
rule: '!format.labelValue().validate(self).hasValue()'
94+
description: |-
95+
labels defines additional labels to be applied to the route created
96+
for the component. These labels are used by the IngressController to
97+
determine which routes it should manage. Changing labels may cause the
98+
route to be reassigned to a different IngressController.
99+
When omitted, no additional labels are applied to the component route.
100+
When specified, labels must contain at least one entry, up to a maximum of 8.
101+
Label keys must be valid qualified names, consisting of a name segment and
102+
an optional prefix separated by a slash (/). The name segment must be at most
103+
63 characters in length and must consist only of alphanumeric characters,
104+
dashes (-), underscores (_), and dots (.), and must start and end with
105+
alphanumeric characters. The prefix, if specified, must be a DNS subdomain:
106+
at most 253 characters in length, consisting of dot-separated segments where
107+
each segment starts and ends with an alphanumeric character.
108+
Label values must be either empty or 1-63 characters, consisting of
109+
alphanumeric characters, dashes (-), underscores (_), or dots (.),
110+
starting and ending with an alphanumeric character.
111+
Keys with the "kubernetes.io/", "k8s.io/", and "openshift.io/" prefixes are reserved and may not be used.
112+
maxProperties: 8
113+
minProperties: 1
114+
type: object
115+
x-kubernetes-map-type: granular
116+
x-kubernetes-validations:
117+
- message: label keys must be valid qualified names, consisting
118+
of an optional DNS subdomain prefix of up to 253 characters
119+
followed by a slash and a name segment of 1-63 characters,
120+
that consists only of alphanumeric characters, dashes, underscores,
121+
and dots, and must start and end with an alphanumeric character
122+
rule: self.all(key, !format.qualifiedName().validate(key).hasValue())
123+
- message: kubernetes.io/, k8s.io/, and openshift.io/ prefixed
124+
label keys are reserved and may not be used
125+
rule: self.all(key, !key.startsWith('kubernetes.io/') && !key.startsWith('k8s.io/')
126+
&& !key.startsWith('openshift.io/'))
80127
name:
81128
description: |-
82129
name is the logical name of the route to customize.

features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@
6868
| GCPDualStackInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
6969
| HyperShiftOnlyDynamicResourceAllocation| <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | |
7070
| ImageModeStatusReporting| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
71-
| IngressComponentRouteLabels| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7271
| IngressControllerMultipleHAProxyVersions| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7372
| IrreconcilableMachineConfig| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7473
| KMSEncryption| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
@@ -108,6 +107,7 @@
108107
| ExternalOIDCWithUIDAndExtraClaimMappings| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
109108
| GatewayAPIWithoutOLM| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
110109
| ImageStreamImportMode| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
110+
| IngressComponentRouteLabels| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
111111
| IngressControllerDynamicConfigurationManager| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
112112
| InsightsConfig| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
113113
| InsightsOnDemandDataGather| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |

features/features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ var (
671671
contactPerson("leoli").
672672
productScope(ocpSpecific).
673673
enhancementPR("https://github.com/openshift/enhancements/pull/2033").
674-
enable(inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()).
674+
enable(inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()).
675675
mustRegister()
676676

677677
FeatureGateIngressControllerMultipleHAProxyVersions = newFeatureGate("IngressControllerMultipleHAProxyVersions").

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

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,53 @@ spec:
7777
the route.
7878
pattern: ^([a-zA-Z0-9\p{S}\p{L}]((-?[a-zA-Z0-9\p{S}\p{L}]{0,62})?)|([a-zA-Z0-9\p{S}\p{L}](([a-zA-Z0-9-\p{S}\p{L}]{0,61}[a-zA-Z0-9\p{S}\p{L}])?)(\.)){1,}([a-zA-Z\p{L}]){2,63})$|^(([a-z0-9][-a-z0-9]{0,61}[a-z0-9]|[a-z0-9]{1,63})[\.]){0,}([a-z0-9][-a-z0-9]{0,61}[a-z0-9]|[a-z0-9]{1,63})$
7979
type: string
80+
labels:
81+
additionalProperties:
82+
description: |-
83+
LabelValue is the value part of a Kubernetes label.
84+
A label value must be either empty or 1-63 characters, consisting of
85+
alphanumeric characters, '-', '_', or '.', starting and ending with
86+
an alphanumeric character.
87+
maxLength: 63
88+
type: string
89+
x-kubernetes-validations:
90+
- message: label values must be valid Kubernetes label values
91+
(at most 63 characters, alphanumeric, '-', '_', or '.',
92+
must start and end with alphanumeric)
93+
rule: '!format.labelValue().validate(self).hasValue()'
94+
description: |-
95+
labels defines additional labels to be applied to the route created
96+
for the component. These labels are used by the IngressController to
97+
determine which routes it should manage. Changing labels may cause the
98+
route to be reassigned to a different IngressController.
99+
When omitted, no additional labels are applied to the component route.
100+
When specified, labels must contain at least one entry, up to a maximum of 8.
101+
Label keys must be valid qualified names, consisting of a name segment and
102+
an optional prefix separated by a slash (/). The name segment must be at most
103+
63 characters in length and must consist only of alphanumeric characters,
104+
dashes (-), underscores (_), and dots (.), and must start and end with
105+
alphanumeric characters. The prefix, if specified, must be a DNS subdomain:
106+
at most 253 characters in length, consisting of dot-separated segments where
107+
each segment starts and ends with an alphanumeric character.
108+
Label values must be either empty or 1-63 characters, consisting of
109+
alphanumeric characters, dashes (-), underscores (_), or dots (.),
110+
starting and ending with an alphanumeric character.
111+
Keys with the "kubernetes.io/", "k8s.io/", and "openshift.io/" prefixes are reserved and may not be used.
112+
maxProperties: 8
113+
minProperties: 1
114+
type: object
115+
x-kubernetes-map-type: granular
116+
x-kubernetes-validations:
117+
- message: label keys must be valid qualified names, consisting
118+
of an optional DNS subdomain prefix of up to 253 characters
119+
followed by a slash and a name segment of 1-63 characters,
120+
that consists only of alphanumeric characters, dashes, underscores,
121+
and dots, and must start and end with an alphanumeric character
122+
rule: self.all(key, !format.qualifiedName().validate(key).hasValue())
123+
- message: kubernetes.io/, k8s.io/, and openshift.io/ prefixed
124+
label keys are reserved and may not be used
125+
rule: self.all(key, !key.startsWith('kubernetes.io/') && !key.startsWith('k8s.io/')
126+
&& !key.startsWith('openshift.io/'))
80127
name:
81128
description: |-
82129
name is the logical name of the route to customize.

payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,6 @@
161161
{
162162
"name": "ImageModeStatusReporting"
163163
},
164-
{
165-
"name": "IngressComponentRouteLabels"
166-
},
167164
{
168165
"name": "IngressControllerMultipleHAProxyVersions"
169166
},
@@ -340,6 +337,9 @@
340337
{
341338
"name": "ImageStreamImportMode"
342339
},
340+
{
341+
"name": "IngressComponentRouteLabels"
342+
},
343343
{
344344
"name": "IngressControllerDynamicConfigurationManager"
345345
},

payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,6 @@
163163
{
164164
"name": "ImageModeStatusReporting"
165165
},
166-
{
167-
"name": "IngressComponentRouteLabels"
168-
},
169166
{
170167
"name": "IngressControllerMultipleHAProxyVersions"
171168
},
@@ -342,6 +339,9 @@
342339
{
343340
"name": "ImageStreamImportMode"
344341
},
342+
{
343+
"name": "IngressComponentRouteLabels"
344+
},
345345
{
346346
"name": "IngressControllerDynamicConfigurationManager"
347347
},

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,6 @@
164164
{
165165
"name": "ImageModeStatusReporting"
166166
},
167-
{
168-
"name": "IngressComponentRouteLabels"
169-
},
170167
{
171168
"name": "IngressControllerMultipleHAProxyVersions"
172169
},
@@ -328,6 +325,9 @@
328325
{
329326
"name": "ImageStreamImportMode"
330327
},
328+
{
329+
"name": "IngressComponentRouteLabels"
330+
},
331331
{
332332
"name": "IngressControllerDynamicConfigurationManager"
333333
},

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,6 @@
166166
{
167167
"name": "ImageModeStatusReporting"
168168
},
169-
{
170-
"name": "IngressComponentRouteLabels"
171-
},
172169
{
173170
"name": "IngressControllerMultipleHAProxyVersions"
174171
},
@@ -330,6 +327,9 @@
330327
{
331328
"name": "ImageStreamImportMode"
332329
},
330+
{
331+
"name": "IngressComponentRouteLabels"
332+
},
333333
{
334334
"name": "IngressControllerDynamicConfigurationManager"
335335
},

0 commit comments

Comments
 (0)