@openshift-assisted/ui-lib 2.42.1 → 2.42.2
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 +123 -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,31 @@ 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: () => (
|
|
215
|
+
<>
|
|
216
|
+
{DESCRIPTION_OSC} <ExternalLink href={OSC_LINK}>Learn more</ExternalLink>
|
|
217
|
+
</>
|
|
218
|
+
),
|
|
219
|
+
supportLevel: getFeatureSupportLevel('OSC'),
|
|
220
|
+
},
|
|
194
221
|
],
|
|
195
222
|
[categories[Category.AI]]: [
|
|
196
223
|
{
|
|
@@ -201,13 +228,12 @@ export const getOperatorSpecs = (
|
|
|
201
228
|
Requirements: () => (
|
|
202
229
|
<ExternalLink href={OPENSHIFT_AI_REQUIREMENTS_LINK}>Learn more</ExternalLink>
|
|
203
230
|
),
|
|
204
|
-
Description: () => (
|
|
231
|
+
Description: ({ searchTerm }) => (
|
|
205
232
|
<>
|
|
206
|
-
{DESCRIPTION_OPENSHIFT_AI}{' '}
|
|
233
|
+
<HighlightedText text={DESCRIPTION_OPENSHIFT_AI} searchTerm={searchTerm} />{' '}
|
|
207
234
|
<ExternalLink href={OPENSHIFT_AI_LINK}>Learn more</ExternalLink>
|
|
208
235
|
</>
|
|
209
236
|
),
|
|
210
|
-
category: categories[Category.AI],
|
|
211
237
|
supportLevel: getFeatureSupportLevel('OPENSHIFT_AI'),
|
|
212
238
|
},
|
|
213
239
|
{
|
|
@@ -216,8 +242,12 @@ export const getOperatorSpecs = (
|
|
|
216
242
|
featureId: 'AMD_GPU',
|
|
217
243
|
descriptionText: DESCRIPTION_AMD_GPU,
|
|
218
244
|
Requirements: () => <>Requires at least one supported AMD GPU</>,
|
|
219
|
-
Description: () =>
|
|
220
|
-
|
|
245
|
+
Description: ({ searchTerm }) => (
|
|
246
|
+
<>
|
|
247
|
+
{' '}
|
|
248
|
+
<HighlightedText text={DESCRIPTION_AMD_GPU} searchTerm={searchTerm} />{' '}
|
|
249
|
+
</>
|
|
250
|
+
),
|
|
221
251
|
supportLevel: getFeatureSupportLevel('AMD_GPU'),
|
|
222
252
|
},
|
|
223
253
|
{
|
|
@@ -226,13 +256,12 @@ export const getOperatorSpecs = (
|
|
|
226
256
|
featureId: 'NVIDIA_GPU',
|
|
227
257
|
descriptionText: DESCRIPTION_NVIDIA_GPU,
|
|
228
258
|
Requirements: () => <>Requires at least one supported NVIDIA GPU</>,
|
|
229
|
-
Description: ({ openshiftVersion }) => (
|
|
259
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
230
260
|
<>
|
|
231
|
-
{DESCRIPTION_NVIDIA_GPU}
|
|
261
|
+
<HighlightedText text={DESCRIPTION_NVIDIA_GPU} searchTerm={searchTerm} />{' '}
|
|
232
262
|
<ExternalLink href={getNvidiaGpuLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
233
263
|
</>
|
|
234
264
|
),
|
|
235
|
-
category: categories[Category.AI],
|
|
236
265
|
supportLevel: getFeatureSupportLevel('NVIDIA_GPU'),
|
|
237
266
|
},
|
|
238
267
|
],
|
|
@@ -242,13 +271,12 @@ export const getOperatorSpecs = (
|
|
|
242
271
|
title: 'NMState',
|
|
243
272
|
featureId: 'NMSTATE',
|
|
244
273
|
descriptionText: DESCRIPTION_NMSTATE,
|
|
245
|
-
Description: ({ openshiftVersion }) => (
|
|
274
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
246
275
|
<>
|
|
247
|
-
{DESCRIPTION_NMSTATE}{' '}
|
|
276
|
+
<HighlightedText text={DESCRIPTION_NMSTATE} searchTerm={searchTerm} />{' '}
|
|
248
277
|
<ExternalLink href={getNmstateLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
249
278
|
</>
|
|
250
279
|
),
|
|
251
|
-
category: categories[Category.NETWORK],
|
|
252
280
|
supportLevel: getFeatureSupportLevel('NMSTATE'),
|
|
253
281
|
},
|
|
254
282
|
{
|
|
@@ -256,109 +284,58 @@ export const getOperatorSpecs = (
|
|
|
256
284
|
title: 'Service Mesh',
|
|
257
285
|
featureId: 'SERVICEMESH',
|
|
258
286
|
descriptionText: DESCRIPTION_SERVICEMESH,
|
|
259
|
-
Description: ({ openshiftVersion }) => (
|
|
287
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
260
288
|
<>
|
|
261
|
-
{DESCRIPTION_SERVICEMESH}{' '}
|
|
289
|
+
<HighlightedText text={DESCRIPTION_SERVICEMESH} searchTerm={searchTerm} />{' '}
|
|
262
290
|
<ExternalLink href={getServiceMeshLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
263
291
|
</>
|
|
264
292
|
),
|
|
265
293
|
notStandalone: true,
|
|
266
|
-
category: categories[Category.NETWORK],
|
|
267
294
|
supportLevel: getFeatureSupportLevel('SERVICEMESH'),
|
|
268
295
|
},
|
|
269
296
|
],
|
|
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]]: [
|
|
297
|
+
[categories[Category.SECURITY]]: [
|
|
318
298
|
{
|
|
319
299
|
operatorKey: OPERATOR_NAME_AUTHORINO,
|
|
320
300
|
title: 'Authorino',
|
|
321
301
|
featureId: 'AUTHORINO',
|
|
322
302
|
descriptionText: DESCRIPTION_AUTHORINO,
|
|
323
|
-
Description: () => (
|
|
303
|
+
Description: ({ searchTerm }) => (
|
|
324
304
|
<>
|
|
325
|
-
{DESCRIPTION_AUTHORINO}{' '}
|
|
305
|
+
<HighlightedText text={DESCRIPTION_AUTHORINO} searchTerm={searchTerm} />{' '}
|
|
326
306
|
<ExternalLink href={AUTHORINO_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
327
307
|
</>
|
|
328
308
|
),
|
|
329
309
|
notStandalone: true,
|
|
330
|
-
category: categories[Category.OTHER],
|
|
331
310
|
supportLevel: getFeatureSupportLevel('AUTHORINO'),
|
|
332
311
|
},
|
|
333
312
|
{
|
|
334
|
-
operatorKey:
|
|
335
|
-
title: '
|
|
336
|
-
featureId: '
|
|
337
|
-
descriptionText:
|
|
338
|
-
Description: ({ openshiftVersion }) => (
|
|
313
|
+
operatorKey: OPERATOR_NAME_KMM,
|
|
314
|
+
title: 'Kernel Module Management',
|
|
315
|
+
featureId: 'KMM',
|
|
316
|
+
descriptionText: DESCRIPTION_KMM,
|
|
317
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
339
318
|
<>
|
|
340
|
-
{
|
|
341
|
-
<ExternalLink href={
|
|
342
|
-
Learn more
|
|
343
|
-
</ExternalLink>
|
|
319
|
+
<HighlightedText text={DESCRIPTION_KMM} searchTerm={searchTerm} />{' '}
|
|
320
|
+
<ExternalLink href={getKmmDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
344
321
|
</>
|
|
345
322
|
),
|
|
346
|
-
|
|
347
|
-
supportLevel: getFeatureSupportLevel('NODE_FEATURE_DISCOVERY'),
|
|
323
|
+
supportLevel: getFeatureSupportLevel('KMM'),
|
|
348
324
|
},
|
|
325
|
+
],
|
|
326
|
+
[categories[Category.CI_CD]]: [
|
|
349
327
|
{
|
|
350
328
|
operatorKey: OPERATOR_NAME_PIPELINES,
|
|
351
329
|
title: 'Pipelines',
|
|
352
330
|
featureId: 'PIPELINES',
|
|
353
331
|
descriptionText: DESCRIPTION_PIPELINES,
|
|
354
|
-
Description: () => (
|
|
332
|
+
Description: ({ searchTerm }) => (
|
|
355
333
|
<>
|
|
356
|
-
{DESCRIPTION_PIPELINES}{' '}
|
|
334
|
+
<HighlightedText text={DESCRIPTION_PIPELINES} searchTerm={searchTerm} />{' '}
|
|
357
335
|
<ExternalLink href={PIPELINES_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
358
336
|
</>
|
|
359
337
|
),
|
|
360
338
|
notStandalone: true,
|
|
361
|
-
category: categories[Category.OTHER],
|
|
362
339
|
supportLevel: getFeatureSupportLevel('PIPELINES'),
|
|
363
340
|
},
|
|
364
341
|
{
|
|
@@ -366,93 +343,75 @@ export const getOperatorSpecs = (
|
|
|
366
343
|
title: 'Serverless',
|
|
367
344
|
featureId: 'SERVERLESS',
|
|
368
345
|
descriptionText: DESCRIPTION_SERVERLESS,
|
|
369
|
-
Description: () => (
|
|
346
|
+
Description: ({ searchTerm }) => (
|
|
370
347
|
<>
|
|
371
|
-
{DESCRIPTION_SERVERLESS}{' '}
|
|
348
|
+
<HighlightedText text={DESCRIPTION_SERVERLESS} searchTerm={searchTerm} />{' '}
|
|
372
349
|
<ExternalLink href={SERVERLESS_OPERATOR_LINK}>Learn more</ExternalLink>
|
|
373
350
|
</>
|
|
374
351
|
),
|
|
375
352
|
notStandalone: true,
|
|
376
|
-
category: categories[Category.OTHER],
|
|
377
353
|
supportLevel: getFeatureSupportLevel('SERVERLESS'),
|
|
378
354
|
},
|
|
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
|
-
},
|
|
355
|
+
],
|
|
356
|
+
[categories[Category.PLATFORM]]: [
|
|
393
357
|
{
|
|
394
358
|
operatorKey: OPERATOR_NAME_MCE,
|
|
395
359
|
title: 'Multicluster engine',
|
|
396
360
|
featureId: 'MCE',
|
|
397
361
|
descriptionText: DESCRIPTION_MCE,
|
|
398
|
-
Description: ({ openshiftVersion }) => (
|
|
362
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
399
363
|
<>
|
|
400
|
-
{DESCRIPTION_MCE}{' '}
|
|
364
|
+
<HighlightedText text={DESCRIPTION_MCE} searchTerm={searchTerm} />{' '}
|
|
401
365
|
<ExternalLink href={getMceDocsLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
402
366
|
</>
|
|
403
367
|
),
|
|
404
|
-
category: categories[Category.OTHER],
|
|
405
368
|
supportLevel: getFeatureSupportLevel('MCE'),
|
|
406
369
|
},
|
|
407
370
|
{
|
|
408
|
-
operatorKey:
|
|
409
|
-
title: '
|
|
410
|
-
featureId: '
|
|
411
|
-
descriptionText:
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
371
|
+
operatorKey: OPERATOR_NAME_NODE_MAINTENANCE,
|
|
372
|
+
title: 'Node Maintenance',
|
|
373
|
+
featureId: 'NODE_MAINTENANCE',
|
|
374
|
+
descriptionText: DESCRIPTION_NODE_MAINTENANCE,
|
|
375
|
+
Description: ({ searchTerm }) => (
|
|
376
|
+
<>
|
|
377
|
+
<HighlightedText text={DESCRIPTION_NODE_MAINTENANCE} searchTerm={searchTerm} />{' '}
|
|
378
|
+
<ExternalLink href={NODE_MAINTENANCE_LINK}>Learn more</ExternalLink>
|
|
379
|
+
</>
|
|
416
380
|
),
|
|
417
|
-
|
|
381
|
+
notStandalone: true,
|
|
382
|
+
supportLevel: getFeatureSupportLevel('NODE_MAINTENANCE'),
|
|
383
|
+
},
|
|
384
|
+
],
|
|
385
|
+
[categories[Category.SCHEDULING]]: [
|
|
386
|
+
{
|
|
387
|
+
operatorKey: OPERATOR_NAME_NODE_FEATURE_DISCOVERY,
|
|
388
|
+
title: 'Node Feature Discovery',
|
|
389
|
+
featureId: 'NODE_FEATURE_DISCOVERY',
|
|
390
|
+
descriptionText: DESCRIPTION_NODE_FEATURE_DISCOVERY,
|
|
391
|
+
Description: ({ openshiftVersion }) => (
|
|
418
392
|
<>
|
|
419
|
-
{
|
|
393
|
+
{DESCRIPTION_NODE_FEATURE_DISCOVERY}{' '}
|
|
394
|
+
<ExternalLink href={getNodeFeatureDiscoveryLink(openshiftVersion)}>
|
|
395
|
+
Learn more
|
|
396
|
+
</ExternalLink>
|
|
420
397
|
</>
|
|
421
398
|
),
|
|
422
|
-
|
|
423
|
-
supportLevel: getFeatureSupportLevel('OSC'),
|
|
399
|
+
supportLevel: getFeatureSupportLevel('NODE_FEATURE_DISCOVERY'),
|
|
424
400
|
},
|
|
425
401
|
{
|
|
426
402
|
operatorKey: OPERATOR_NAME_KUBE_DESCHEDULER,
|
|
427
403
|
title: 'Kube Descheduler',
|
|
428
404
|
featureId: 'KUBE_DESCHEDULER',
|
|
429
405
|
descriptionText: DESCRIPTION_KUBE_DESCHEDULER,
|
|
430
|
-
Description: ({ openshiftVersion }) => (
|
|
406
|
+
Description: ({ openshiftVersion, searchTerm }) => (
|
|
431
407
|
<>
|
|
432
|
-
{DESCRIPTION_KUBE_DESCHEDULER}{' '}
|
|
408
|
+
<HighlightedText text={DESCRIPTION_KUBE_DESCHEDULER} searchTerm={searchTerm} />{' '}
|
|
433
409
|
<ExternalLink href={getKubeDeschedulerLink(openshiftVersion)}>Learn more</ExternalLink>
|
|
434
410
|
</>
|
|
435
411
|
),
|
|
436
412
|
notStandalone: true,
|
|
437
|
-
category: categories[Category.OTHER],
|
|
438
413
|
supportLevel: getFeatureSupportLevel('KUBE_DESCHEDULER'),
|
|
439
414
|
},
|
|
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
415
|
],
|
|
457
416
|
};
|
|
458
417
|
};
|
|
@@ -498,8 +457,10 @@ enum Category {
|
|
|
498
457
|
VIRT,
|
|
499
458
|
AI,
|
|
500
459
|
NETWORK,
|
|
501
|
-
|
|
502
|
-
|
|
460
|
+
CI_CD,
|
|
461
|
+
PLATFORM,
|
|
462
|
+
SECURITY,
|
|
463
|
+
SCHEDULING,
|
|
503
464
|
}
|
|
504
465
|
|
|
505
466
|
export const categories: { [key in Category]: string } = {
|
|
@@ -507,6 +468,8 @@ export const categories: { [key in Category]: string } = {
|
|
|
507
468
|
[Category.VIRT]: 'Virtualization',
|
|
508
469
|
[Category.AI]: 'AI',
|
|
509
470
|
[Category.NETWORK]: 'Network',
|
|
510
|
-
[Category.
|
|
511
|
-
[Category.
|
|
471
|
+
[Category.SECURITY]: 'Security & Access Control',
|
|
472
|
+
[Category.CI_CD]: 'CI/CD & Dev Productivity',
|
|
473
|
+
[Category.PLATFORM]: 'Platform Operations & Lifecycle',
|
|
474
|
+
[Category.SCHEDULING]: 'Scheduling',
|
|
512
475
|
};
|