@openshift-assisted/ui-lib 2.42.1 → 2.42.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/@types/common/components/operators/operatorSpecs.d.ts +10 -3
- package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
- package/build/@types/common/components/operators/test.d.ts +50 -0
- package/build/@types/common/components/operators/test.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +2 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts +2 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
- package/build/cjs/common/components/operators/operatorSpecs.js +111 -139
- package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
- package/build/cjs/common/components/operators/test.js +323 -0
- package/build/cjs/common/components/operators/test.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +13 -4
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +3 -3
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +8 -8
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +33 -14
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +13 -3
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
- package/lib/common/components/operators/operatorSpecs.tsx +124 -160
- package/lib/common/components/operators/test.tsx +469 -0
- package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +21 -9
- package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +5 -2
- package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +15 -7
- package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +58 -37
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +30 -3
- package/package.json +3 -3
|
@@ -19,9 +19,6 @@ import {
|
|
|
19
19
|
OPERATOR_NAME_PIPELINES,
|
|
20
20
|
OPERATOR_NAME_SERVERLESS,
|
|
21
21
|
OPERATOR_NAME_SERVICEMESH,
|
|
22
|
-
OPERATOR_NAME_NODE_HEALTHCHECK,
|
|
23
|
-
OPERATOR_NAME_SELF_NODE_REMEDIATION,
|
|
24
|
-
OPERATOR_NAME_FENCE_AGENTS_REMEDIATION,
|
|
25
22
|
OPERATOR_NAME_NODE_MAINTENANCE,
|
|
26
23
|
OPERATOR_NAME_KUBE_DESCHEDULER,
|
|
27
24
|
} from '../../config/constants';
|
|
@@ -29,7 +26,6 @@ import { ExternalLink } from '../ui';
|
|
|
29
26
|
import {
|
|
30
27
|
AUTHORINO_OPERATOR_LINK,
|
|
31
28
|
CNV_LINK,
|
|
32
|
-
FENCE_AGENTS_REMEDIATION_LINK,
|
|
33
29
|
getKmmDocsLink,
|
|
34
30
|
getKubeDeschedulerLink,
|
|
35
31
|
getLsoLink,
|
|
@@ -40,7 +36,6 @@ import {
|
|
|
40
36
|
getNvidiaGpuLink,
|
|
41
37
|
getServiceMeshLink,
|
|
42
38
|
MTV_LINK,
|
|
43
|
-
NODE_HEALTHCHECK_LINK,
|
|
44
39
|
NODE_MAINTENANCE_LINK,
|
|
45
40
|
ODF_LINK,
|
|
46
41
|
ODF_REQUIREMENTS_LINK,
|
|
@@ -49,7 +44,6 @@ import {
|
|
|
49
44
|
OSC_LINK,
|
|
50
45
|
OSC_REQUIREMENTS_LINK,
|
|
51
46
|
PIPELINES_OPERATOR_LINK,
|
|
52
|
-
SELF_NODE_REMEDIATION_LINK,
|
|
53
47
|
SERVERLESS_OPERATOR_LINK,
|
|
54
48
|
} from '../../config';
|
|
55
49
|
import { getMajorMinorVersion } from '../../utils';
|
|
@@ -60,20 +54,17 @@ import {
|
|
|
60
54
|
DESCRIPTION_LSO,
|
|
61
55
|
DESCRIPTION_MTV,
|
|
62
56
|
DESCRIPTION_CNV,
|
|
63
|
-
DESCRIPTION_FENCE_AGENTS_REMEDIATION,
|
|
64
57
|
DESCRIPTION_KMM,
|
|
65
58
|
DESCRIPTION_KUBE_DESCHEDULER,
|
|
66
59
|
DESCRIPTION_MCE,
|
|
67
60
|
DESCRIPTION_NMSTATE,
|
|
68
61
|
DESCRIPTION_NODE_FEATURE_DISCOVERY,
|
|
69
|
-
DESCRIPTION_NODE_HEALTHCHECK,
|
|
70
62
|
DESCRIPTION_NODE_MAINTENANCE,
|
|
71
63
|
DESCRIPTION_NVIDIA_GPU,
|
|
72
64
|
DESCRIPTION_ODF,
|
|
73
65
|
DESCRIPTION_OPENSHIFT_AI,
|
|
74
66
|
DESCRIPTION_OSC,
|
|
75
67
|
DESCRIPTION_PIPELINES,
|
|
76
|
-
DESCRIPTION_SELF_NODE_REMEDIATION,
|
|
77
68
|
DESCRIPTION_SERVERLESS,
|
|
78
69
|
DESCRIPTION_SERVICEMESH,
|
|
79
70
|
DESCRIPTION_LVM,
|
|
@@ -92,15 +83,36 @@ export const isOCPVersionEqualsOrMore = (
|
|
|
92
83
|
);
|
|
93
84
|
};
|
|
94
85
|
|
|
86
|
+
export const highlightMatch = (text: string, searchTerm?: string): React.ReactNode => {
|
|
87
|
+
if (!searchTerm) return text;
|
|
88
|
+
try {
|
|
89
|
+
const escapeSearchTerm = searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
90
|
+
const regex = new RegExp(`(${escapeSearchTerm})`, 'gi');
|
|
91
|
+
|
|
92
|
+
const parts = text.split(regex);
|
|
93
|
+
|
|
94
|
+
return parts.map((part, i) =>
|
|
95
|
+
part.toLowerCase() === searchTerm.toLowerCase() ? <mark key={i}>{part}</mark> : part,
|
|
96
|
+
);
|
|
97
|
+
} catch (err) {
|
|
98
|
+
// eslint-disable-next-line no-console
|
|
99
|
+
console.log('failed to highlight search text', err);
|
|
100
|
+
return text;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export const HighlightedText = ({ text, searchTerm }: { text: string; searchTerm?: string }) => (
|
|
105
|
+
<>{highlightMatch(text, searchTerm)}</>
|
|
106
|
+
);
|
|
107
|
+
|
|
95
108
|
export type OperatorSpec = {
|
|
96
109
|
operatorKey: string;
|
|
97
110
|
title: string;
|
|
98
111
|
featureId: FeatureId;
|
|
99
112
|
descriptionText?: string;
|
|
100
|
-
Description?: React.ComponentType<{ openshiftVersion?: string }>;
|
|
113
|
+
Description?: React.ComponentType<{ openshiftVersion?: string; searchTerm?: string }>;
|
|
101
114
|
notStandalone?: boolean;
|
|
102
115
|
Requirements?: React.ComponentType<{ cluster: Cluster }>;
|
|
103
|
-
category: string;
|
|
104
116
|
supportLevel?: SupportLevel | undefined;
|
|
105
117
|
};
|
|
106
118
|
|
|
@@ -115,14 +127,13 @@ export const getOperatorSpecs = (
|
|
|
115
127
|
title: 'Local Storage Operator',
|
|
116
128
|
featureId: 'LSO',
|
|
117
129
|
descriptionText: DESCRIPTION_LSO,
|
|
118
|
-
Description: ({ openshiftVersion }) => (
|
|
130
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
119
131
|
<>
|
|
120
|
-
{DESCRIPTION_LSO}{' '}
|
|
132
|
+
<HighlightedText text={DESCRIPTION_LSO} searchTerm={searchTerm} />{' '}
|
|
121
133
|
<ExternalLink href={getLsoLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
122
134
|
</>
|
|
123
135
|
),
|
|
124
136
|
notStandalone: true,
|
|
125
|
-
category: categories[Category.STORAGE],
|
|
126
137
|
supportLevel: getFeatureSupportLevel('LSO'),
|
|
127
138
|
},
|
|
128
139
|
{
|
|
@@ -130,16 +141,15 @@ export const getOperatorSpecs = (
|
|
|
130
141
|
title: useLVMS ? 'Logical Volume Manager Storage' : 'Logical Volume Manager',
|
|
131
142
|
featureId: 'LVM',
|
|
132
143
|
descriptionText: DESCRIPTION_LVM,
|
|
133
|
-
Description: ({ openshiftVersion }) =>
|
|
144
|
+
Description: ({ openshiftVersion, searchTerm }) =>
|
|
134
145
|
useLVMS ? (
|
|
135
146
|
<>
|
|
136
|
-
{DESCRIPTION_LVM}{' '}
|
|
147
|
+
<HighlightedText text={DESCRIPTION_LVM} searchTerm={searchTerm} />{' '}
|
|
137
148
|
<ExternalLink href={getLvmsDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
138
149
|
</>
|
|
139
150
|
) : (
|
|
140
151
|
<>{DESCRIPTION_LVM}</>
|
|
141
152
|
),
|
|
142
|
-
category: categories[Category.STORAGE],
|
|
143
153
|
supportLevel: getFeatureSupportLevel('LVM'),
|
|
144
154
|
},
|
|
145
155
|
{
|
|
@@ -152,12 +162,12 @@ export const getOperatorSpecs = (
|
|
|
152
162
|
Learn more about the requirements for OpenShift Data Foundation
|
|
153
163
|
</ExternalLink>
|
|
154
164
|
),
|
|
155
|
-
Description: () => (
|
|
165
|
+
Description: ({ searchTerm }) => (
|
|
156
166
|
<>
|
|
157
|
-
{DESCRIPTION_ODF}
|
|
167
|
+
<HighlightedText text={DESCRIPTION_ODF} searchTerm={searchTerm} />{' '}
|
|
168
|
+
<ExternalLink href={ODF_LINK}>Learn more</ExternalLink>
|
|
158
169
|
</>
|
|
159
170
|
),
|
|
160
|
-
category: categories[Category.STORAGE],
|
|
161
171
|
supportLevel: getFeatureSupportLevel('ODF'),
|
|
162
172
|
},
|
|
163
173
|
],
|
|
@@ -170,12 +180,12 @@ export const getOperatorSpecs = (
|
|
|
170
180
|
Requirements: () => (
|
|
171
181
|
<>Enabled CPU virtualization support in BIOS (Intel-VT / AMD-V) on all nodes</>
|
|
172
182
|
),
|
|
173
|
-
Description: () => (
|
|
183
|
+
Description: ({ searchTerm }) => (
|
|
174
184
|
<>
|
|
175
|
-
{DESCRIPTION_CNV}
|
|
185
|
+
<HighlightedText text={DESCRIPTION_CNV} searchTerm={searchTerm} />{' '}
|
|
186
|
+
<ExternalLink href={CNV_LINK}>Learn more</ExternalLink>
|
|
176
187
|
</>
|
|
177
188
|
),
|
|
178
|
-
category: categories[Category.VIRT],
|
|
179
189
|
supportLevel: getFeatureSupportLevel('CNV'),
|
|
180
190
|
},
|
|
181
191
|
{
|
|
@@ -183,14 +193,32 @@ export const getOperatorSpecs = (
|
|
|
183
193
|
title: 'Migration Toolkit for Virtualization',
|
|
184
194
|
featureId: 'MTV',
|
|
185
195
|
descriptionText: DESCRIPTION_MTV,
|
|
186
|
-
Description: () => (
|
|
196
|
+
Description: ({ searchTerm }) => (
|
|
187
197
|
<>
|
|
188
|
-
{DESCRIPTION_MTV}
|
|
198
|
+
<HighlightedText text={DESCRIPTION_MTV} searchTerm={searchTerm} />{' '}
|
|
199
|
+
<ExternalLink href={MTV_LINK}>Learn more</ExternalLink>
|
|
189
200
|
</>
|
|
190
201
|
),
|
|
191
|
-
category: categories[Category.VIRT],
|
|
192
202
|
supportLevel: getFeatureSupportLevel('MTV'),
|
|
193
203
|
},
|
|
204
|
+
{
|
|
205
|
+
operatorKey: OPERATOR_NAME_OSC,
|
|
206
|
+
title: 'OpenShift sandboxed containers',
|
|
207
|
+
featureId: 'OSC',
|
|
208
|
+
descriptionText: DESCRIPTION_OSC,
|
|
209
|
+
Requirements: () => (
|
|
210
|
+
<ExternalLink href={OSC_REQUIREMENTS_LINK}>
|
|
211
|
+
Learn more about the requirements for OpenShift sandboxed containers
|
|
212
|
+
</ExternalLink>
|
|
213
|
+
),
|
|
214
|
+
Description: ({ searchTerm }) => (
|
|
215
|
+
<>
|
|
216
|
+
<HighlightedText text={DESCRIPTION_OSC} searchTerm={searchTerm} />{' '}
|
|
217
|
+
<ExternalLink href={OSC_LINK}>Learn more</ExternalLink>
|
|
218
|
+
</>
|
|
219
|
+
),
|
|
220
|
+
supportLevel: getFeatureSupportLevel('OSC'),
|
|
221
|
+
},
|
|
194
222
|
],
|
|
195
223
|
[categories[Category.AI]]: [
|
|
196
224
|
{
|
|
@@ -201,13 +229,12 @@ export const getOperatorSpecs = (
|
|
|
201
229
|
Requirements: () => (
|
|
202
230
|
<ExternalLink href={OPENSHIFT_AI_REQUIREMENTS_LINK}>Learn more</ExternalLink>
|
|
203
231
|
),
|
|
204
|
-
Description: () => (
|
|
232
|
+
Description: ({ searchTerm }) => (
|
|
205
233
|
<>
|
|
206
|
-
{DESCRIPTION_OPENSHIFT_AI}{' '}
|
|
234
|
+
<HighlightedText text={DESCRIPTION_OPENSHIFT_AI} searchTerm={searchTerm} />{' '}
|
|
207
235
|
<ExternalLink href={OPENSHIFT_AI_LINK}>Learn more</ExternalLink>
|
|
208
236
|
</>
|
|
209
237
|
),
|
|
210
|
-
category: categories[Category.AI],
|
|
211
238
|
supportLevel: getFeatureSupportLevel('OPENSHIFT_AI'),
|
|
212
239
|
},
|
|
213
240
|
{
|
|
@@ -216,8 +243,12 @@ export const getOperatorSpecs = (
|
|
|
216
243
|
featureId: 'AMD_GPU',
|
|
217
244
|
descriptionText: DESCRIPTION_AMD_GPU,
|
|
218
245
|
Requirements: () => <>Requires at least one supported AMD GPU</>,
|
|
219
|
-
Description: () =>
|
|
220
|
-
|
|
246
|
+
Description: ({ searchTerm }) => (
|
|
247
|
+
<>
|
|
248
|
+
{' '}
|
|
249
|
+
<HighlightedText text={DESCRIPTION_AMD_GPU} searchTerm={searchTerm} />{' '}
|
|
250
|
+
</>
|
|
251
|
+
),
|
|
221
252
|
supportLevel: getFeatureSupportLevel('AMD_GPU'),
|
|
222
253
|
},
|
|
223
254
|
{
|
|
@@ -226,13 +257,12 @@ export const getOperatorSpecs = (
|
|
|
226
257
|
featureId: 'NVIDIA_GPU',
|
|
227
258
|
descriptionText: DESCRIPTION_NVIDIA_GPU,
|
|
228
259
|
Requirements: () => <>Requires at least one supported NVIDIA GPU</>,
|
|
229
|
-
Description: ({ openshiftVersion }) => (
|
|
260
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
230
261
|
<>
|
|
231
|
-
{DESCRIPTION_NVIDIA_GPU}
|
|
262
|
+
<HighlightedText text={DESCRIPTION_NVIDIA_GPU} searchTerm={searchTerm} />{' '}
|
|
232
263
|
<ExternalLink href={getNvidiaGpuLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
233
264
|
</>
|
|
234
265
|
),
|
|
235
|
-
category: categories[Category.AI],
|
|
236
266
|
supportLevel: getFeatureSupportLevel('NVIDIA_GPU'),
|
|
237
267
|
},
|
|
238
268
|
],
|
|
@@ -242,13 +272,12 @@ export const getOperatorSpecs = (
|
|
|
242
272
|
title: 'NMState',
|
|
243
273
|
featureId: 'NMSTATE',
|
|
244
274
|
descriptionText: DESCRIPTION_NMSTATE,
|
|
245
|
-
Description: ({ openshiftVersion }) => (
|
|
275
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
246
276
|
<>
|
|
247
|
-
{DESCRIPTION_NMSTATE}{' '}
|
|
277
|
+
<HighlightedText text={DESCRIPTION_NMSTATE} searchTerm={searchTerm} />{' '}
|
|
248
278
|
<ExternalLink href={getNmstateLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
249
279
|
</>
|
|
250
280
|
),
|
|
251
|
-
category: categories[Category.NETWORK],
|
|
252
281
|
supportLevel: getFeatureSupportLevel('NMSTATE'),
|
|
253
282
|
},
|
|
254
283
|
{
|
|
@@ -256,109 +285,58 @@ export const getOperatorSpecs = (
|
|
|
256
285
|
title: 'Service Mesh',
|
|
257
286
|
featureId: 'SERVICEMESH',
|
|
258
287
|
descriptionText: DESCRIPTION_SERVICEMESH,
|
|
259
|
-
Description: ({ openshiftVersion }) => (
|
|
288
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
260
289
|
<>
|
|
261
|
-
{DESCRIPTION_SERVICEMESH}{' '}
|
|
290
|
+
<HighlightedText text={DESCRIPTION_SERVICEMESH} searchTerm={searchTerm} />{' '}
|
|
262
291
|
<ExternalLink href={getServiceMeshLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
263
292
|
</>
|
|
264
293
|
),
|
|
265
294
|
notStandalone: true,
|
|
266
|
-
category: categories[Category.NETWORK],
|
|
267
295
|
supportLevel: getFeatureSupportLevel('SERVICEMESH'),
|
|
268
296
|
},
|
|
269
297
|
],
|
|
270
|
-
[categories[Category.
|
|
271
|
-
{
|
|
272
|
-
operatorKey: OPERATOR_NAME_FENCE_AGENTS_REMEDIATION,
|
|
273
|
-
title: 'Fence Agents Remediation',
|
|
274
|
-
featureId: 'FENCE_AGENTS_REMEDIATION',
|
|
275
|
-
descriptionText: DESCRIPTION_FENCE_AGENTS_REMEDIATION,
|
|
276
|
-
Description: () => (
|
|
277
|
-
<>
|
|
278
|
-
{DESCRIPTION_FENCE_AGENTS_REMEDIATION}{' '}
|
|
279
|
-
<ExternalLink href={FENCE_AGENTS_REMEDIATION_LINK}>Learn more</ExternalLink>
|
|
280
|
-
</>
|
|
281
|
-
),
|
|
282
|
-
notStandalone: true,
|
|
283
|
-
category: categories[Category.REMEDIATION],
|
|
284
|
-
supportLevel: getFeatureSupportLevel('FENCE_AGENTS_REMEDIATION'),
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
operatorKey: OPERATOR_NAME_NODE_HEALTHCHECK,
|
|
288
|
-
title: 'Node Healthcheck',
|
|
289
|
-
featureId: 'NODE_HEALTHCHECK',
|
|
290
|
-
descriptionText: DESCRIPTION_NODE_HEALTHCHECK,
|
|
291
|
-
Description: () => (
|
|
292
|
-
<>
|
|
293
|
-
{DESCRIPTION_NODE_HEALTHCHECK}{' '}
|
|
294
|
-
<ExternalLink href={NODE_HEALTHCHECK_LINK}>Learn more</ExternalLink>
|
|
295
|
-
</>
|
|
296
|
-
),
|
|
297
|
-
notStandalone: true,
|
|
298
|
-
category: categories[Category.REMEDIATION],
|
|
299
|
-
supportLevel: getFeatureSupportLevel('NODE_HEALTHCHECK'),
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
operatorKey: OPERATOR_NAME_SELF_NODE_REMEDIATION,
|
|
303
|
-
title: 'Self Node Remediation',
|
|
304
|
-
featureId: 'SELF_NODE_REMEDIATION',
|
|
305
|
-
descriptionText: DESCRIPTION_SELF_NODE_REMEDIATION,
|
|
306
|
-
Description: () => (
|
|
307
|
-
<>
|
|
308
|
-
{DESCRIPTION_SELF_NODE_REMEDIATION}{' '}
|
|
309
|
-
<ExternalLink href={SELF_NODE_REMEDIATION_LINK}>Learn more</ExternalLink>
|
|
310
|
-
</>
|
|
311
|
-
),
|
|
312
|
-
notStandalone: true,
|
|
313
|
-
category: categories[Category.REMEDIATION],
|
|
314
|
-
supportLevel: getFeatureSupportLevel('SELF_NODE_REMEDIATION'),
|
|
315
|
-
},
|
|
316
|
-
],
|
|
317
|
-
[categories[Category.OTHER]]: [
|
|
298
|
+
[categories[Category.SECURITY]]: [
|
|
318
299
|
{
|
|
319
300
|
operatorKey: OPERATOR_NAME_AUTHORINO,
|
|
320
301
|
title: 'Authorino',
|
|
321
302
|
featureId: 'AUTHORINO',
|
|
322
303
|
descriptionText: DESCRIPTION_AUTHORINO,
|
|
323
|
-
Description: () => (
|
|
304
|
+
Description: ({ searchTerm }) => (
|
|
324
305
|
<>
|
|
325
|
-
{DESCRIPTION_AUTHORINO}{' '}
|
|
306
|
+
<HighlightedText text={DESCRIPTION_AUTHORINO} searchTerm={searchTerm} />{' '}
|
|
326
307
|
<ExternalLink href={AUTHORINO_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
327
308
|
</>
|
|
328
309
|
),
|
|
329
310
|
notStandalone: true,
|
|
330
|
-
category: categories[Category.OTHER],
|
|
331
311
|
supportLevel: getFeatureSupportLevel('AUTHORINO'),
|
|
332
312
|
},
|
|
333
313
|
{
|
|
334
|
-
operatorKey:
|
|
335
|
-
title: '
|
|
336
|
-
featureId: '
|
|
337
|
-
descriptionText:
|
|
338
|
-
Description: ({ openshiftVersion }) => (
|
|
314
|
+
operatorKey: OPERATOR_NAME_KMM,
|
|
315
|
+
title: 'Kernel Module Management',
|
|
316
|
+
featureId: 'KMM',
|
|
317
|
+
descriptionText: DESCRIPTION_KMM,
|
|
318
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
339
319
|
<>
|
|
340
|
-
{
|
|
341
|
-
<ExternalLink href={
|
|
342
|
-
Learn more
|
|
343
|
-
</ExternalLink>
|
|
320
|
+
<HighlightedText text={DESCRIPTION_KMM} searchTerm={searchTerm} />{' '}
|
|
321
|
+
<ExternalLink href={getKmmDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
344
322
|
</>
|
|
345
323
|
),
|
|
346
|
-
|
|
347
|
-
supportLevel: getFeatureSupportLevel('NODE_FEATURE_DISCOVERY'),
|
|
324
|
+
supportLevel: getFeatureSupportLevel('KMM'),
|
|
348
325
|
},
|
|
326
|
+
],
|
|
327
|
+
[categories[Category.CI_CD]]: [
|
|
349
328
|
{
|
|
350
329
|
operatorKey: OPERATOR_NAME_PIPELINES,
|
|
351
330
|
title: 'Pipelines',
|
|
352
331
|
featureId: 'PIPELINES',
|
|
353
332
|
descriptionText: DESCRIPTION_PIPELINES,
|
|
354
|
-
Description: () => (
|
|
333
|
+
Description: ({ searchTerm }) => (
|
|
355
334
|
<>
|
|
356
|
-
{DESCRIPTION_PIPELINES}{' '}
|
|
335
|
+
<HighlightedText text={DESCRIPTION_PIPELINES} searchTerm={searchTerm} />{' '}
|
|
357
336
|
<ExternalLink href={PIPELINES_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
358
337
|
</>
|
|
359
338
|
),
|
|
360
339
|
notStandalone: true,
|
|
361
|
-
category: categories[Category.OTHER],
|
|
362
340
|
supportLevel: getFeatureSupportLevel('PIPELINES'),
|
|
363
341
|
},
|
|
364
342
|
{
|
|
@@ -366,93 +344,75 @@ export const getOperatorSpecs = (
|
|
|
366
344
|
title: 'Serverless',
|
|
367
345
|
featureId: 'SERVERLESS',
|
|
368
346
|
descriptionText: DESCRIPTION_SERVERLESS,
|
|
369
|
-
Description: () => (
|
|
347
|
+
Description: ({ searchTerm }) => (
|
|
370
348
|
<>
|
|
371
|
-
{DESCRIPTION_SERVERLESS}{' '}
|
|
349
|
+
<HighlightedText text={DESCRIPTION_SERVERLESS} searchTerm={searchTerm} />{' '}
|
|
372
350
|
<ExternalLink href={SERVERLESS_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
373
351
|
</>
|
|
374
352
|
),
|
|
375
353
|
notStandalone: true,
|
|
376
|
-
category: categories[Category.OTHER],
|
|
377
354
|
supportLevel: getFeatureSupportLevel('SERVERLESS'),
|
|
378
355
|
},
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
title: 'Kernel Module Management',
|
|
382
|
-
featureId: 'KMM',
|
|
383
|
-
descriptionText: DESCRIPTION_KMM,
|
|
384
|
-
Description: ({ openshiftVersion }) => (
|
|
385
|
-
<>
|
|
386
|
-
{DESCRIPTION_KMM}{' '}
|
|
387
|
-
<ExternalLink href={getKmmDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
388
|
-
</>
|
|
389
|
-
),
|
|
390
|
-
category: categories[Category.OTHER],
|
|
391
|
-
supportLevel: getFeatureSupportLevel('KMM'),
|
|
392
|
-
},
|
|
356
|
+
],
|
|
357
|
+
[categories[Category.PLATFORM]]: [
|
|
393
358
|
{
|
|
394
359
|
operatorKey: OPERATOR_NAME_MCE,
|
|
395
360
|
title: 'Multicluster engine',
|
|
396
361
|
featureId: 'MCE',
|
|
397
362
|
descriptionText: DESCRIPTION_MCE,
|
|
398
|
-
Description: ({ openshiftVersion }) => (
|
|
363
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
399
364
|
<>
|
|
400
|
-
{DESCRIPTION_MCE}{' '}
|
|
365
|
+
<HighlightedText text={DESCRIPTION_MCE} searchTerm={searchTerm} />{' '}
|
|
401
366
|
<ExternalLink href={getMceDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
402
367
|
</>
|
|
403
368
|
),
|
|
404
|
-
category: categories[Category.OTHER],
|
|
405
369
|
supportLevel: getFeatureSupportLevel('MCE'),
|
|
406
370
|
},
|
|
407
371
|
{
|
|
408
|
-
operatorKey:
|
|
409
|
-
title: '
|
|
410
|
-
featureId: '
|
|
411
|
-
descriptionText:
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
372
|
+
operatorKey: OPERATOR_NAME_NODE_MAINTENANCE,
|
|
373
|
+
title: 'Node Maintenance',
|
|
374
|
+
featureId: 'NODE_MAINTENANCE',
|
|
375
|
+
descriptionText: DESCRIPTION_NODE_MAINTENANCE,
|
|
376
|
+
Description: ({ searchTerm }) => (
|
|
377
|
+
<>
|
|
378
|
+
<HighlightedText text={DESCRIPTION_NODE_MAINTENANCE} searchTerm={searchTerm} />{' '}
|
|
379
|
+
<ExternalLink href={NODE_MAINTENANCE_LINK}>Learn more</ExternalLink>
|
|
380
|
+
</>
|
|
416
381
|
),
|
|
417
|
-
|
|
382
|
+
notStandalone: true,
|
|
383
|
+
supportLevel: getFeatureSupportLevel('NODE_MAINTENANCE'),
|
|
384
|
+
},
|
|
385
|
+
],
|
|
386
|
+
[categories[Category.SCHEDULING]]: [
|
|
387
|
+
{
|
|
388
|
+
operatorKey: OPERATOR_NAME_NODE_FEATURE_DISCOVERY,
|
|
389
|
+
title: 'Node Feature Discovery',
|
|
390
|
+
featureId: 'NODE_FEATURE_DISCOVERY',
|
|
391
|
+
descriptionText: DESCRIPTION_NODE_FEATURE_DISCOVERY,
|
|
392
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
418
393
|
<>
|
|
419
|
-
{
|
|
394
|
+
<HighlightedText text={DESCRIPTION_NODE_FEATURE_DISCOVERY} searchTerm={searchTerm} />{' '}
|
|
395
|
+
<ExternalLink href={getNodeFeatureDiscoveryLink(openshiftVersion)}>
|
|
396
|
+
Learn more
|
|
397
|
+
</ExternalLink>
|
|
420
398
|
</>
|
|
421
399
|
),
|
|
422
|
-
|
|
423
|
-
supportLevel: getFeatureSupportLevel('OSC'),
|
|
400
|
+
supportLevel: getFeatureSupportLevel('NODE_FEATURE_DISCOVERY'),
|
|
424
401
|
},
|
|
425
402
|
{
|
|
426
403
|
operatorKey: OPERATOR_NAME_KUBE_DESCHEDULER,
|
|
427
404
|
title: 'Kube Descheduler',
|
|
428
405
|
featureId: 'KUBE_DESCHEDULER',
|
|
429
406
|
descriptionText: DESCRIPTION_KUBE_DESCHEDULER,
|
|
430
|
-
Description: ({ openshiftVersion }) => (
|
|
407
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
431
408
|
<>
|
|
432
|
-
{DESCRIPTION_KUBE_DESCHEDULER}{' '}
|
|
409
|
+
<HighlightedText text={DESCRIPTION_KUBE_DESCHEDULER} searchTerm={searchTerm} />{' '}
|
|
433
410
|
<ExternalLink href={getKubeDeschedulerLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
434
411
|
</>
|
|
435
412
|
),
|
|
436
413
|
notStandalone: true,
|
|
437
|
-
category: categories[Category.OTHER],
|
|
438
414
|
supportLevel: getFeatureSupportLevel('KUBE_DESCHEDULER'),
|
|
439
415
|
},
|
|
440
|
-
|
|
441
|
-
{
|
|
442
|
-
operatorKey: OPERATOR_NAME_NODE_MAINTENANCE,
|
|
443
|
-
title: 'Node Maintenance',
|
|
444
|
-
featureId: 'NODE_MAINTENANCE',
|
|
445
|
-
descriptionText: DESCRIPTION_NODE_MAINTENANCE,
|
|
446
|
-
Description: () => (
|
|
447
|
-
<>
|
|
448
|
-
{DESCRIPTION_NODE_MAINTENANCE}{' '}
|
|
449
|
-
<ExternalLink href={NODE_MAINTENANCE_LINK}>Learn more</ExternalLink>
|
|
450
|
-
</>
|
|
451
|
-
),
|
|
452
|
-
notStandalone: true,
|
|
453
|
-
category: categories[Category.OTHER],
|
|
454
|
-
supportLevel: getFeatureSupportLevel('NODE_MAINTENANCE'),
|
|
455
|
-
},
|
|
456
416
|
],
|
|
457
417
|
};
|
|
458
418
|
};
|
|
@@ -498,8 +458,10 @@ enum Category {
|
|
|
498
458
|
VIRT,
|
|
499
459
|
AI,
|
|
500
460
|
NETWORK,
|
|
501
|
-
|
|
502
|
-
|
|
461
|
+
CI_CD,
|
|
462
|
+
PLATFORM,
|
|
463
|
+
SECURITY,
|
|
464
|
+
SCHEDULING,
|
|
503
465
|
}
|
|
504
466
|
|
|
505
467
|
export const categories: { [key in Category]: string } = {
|
|
@@ -507,6 +469,8 @@ export const categories: { [key in Category]: string } = {
|
|
|
507
469
|
[Category.VIRT]: 'Virtualization',
|
|
508
470
|
[Category.AI]: 'AI',
|
|
509
471
|
[Category.NETWORK]: 'Network',
|
|
510
|
-
[Category.
|
|
511
|
-
[Category.
|
|
472
|
+
[Category.SECURITY]: 'Security & Access Control',
|
|
473
|
+
[Category.CI_CD]: 'CI/CD & Dev Productivity',
|
|
474
|
+
[Category.PLATFORM]: 'Platform Operations & Lifecycle',
|
|
475
|
+
[Category.SCHEDULING]: 'Scheduling',
|
|
512
476
|
};
|