Skip to content

Commit 53c7665

Browse files
authored
Change learn more links dinamically for new operators (#2821)
1 parent 50540d4 commit 53c7665

File tree

6 files changed

+56
-35
lines changed

6 files changed

+56
-35
lines changed

libs/ui-lib/lib/common/config/docs_links.ts

+20-10
Original file line numberDiff line numberDiff line change
@@ -117,23 +117,33 @@ export const getMtuLink = (ocpVersion?: string) =>
117117

118118
export const AUTHORINO_OPERATOR_LINK = 'https://github.com/Kuadrant/authorino-operator';
119119

120-
export const LOCAL_STORAGE_OPERATOR_LINK =
121-
'https://docs.openshift.com/container-platform/4.17/storage/persistent_storage/persistent_storage_local/ways-to-provision-local-storage.html';
120+
export const getLsoLink = (ocpVersion?: string) =>
121+
`https://docs.openshift.com/container-platform/${getShortOpenshiftVersion(
122+
ocpVersion,
123+
)}/storage/persistent_storage/persistent_storage_local/ways-to-provision-local-storage.html`;
122124

123-
export const NMSTATE_OPERATOR_LINK =
124-
'https://docs.openshift.com/container-platform/4.17/networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.html';
125+
export const getNmstateLink = (ocpVersion?: string) =>
126+
`https://docs.openshift.com/container-platform/${getShortOpenshiftVersion(
127+
ocpVersion,
128+
)}/networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.html`;
125129

126-
export const NODE_FEATURE_DISCOVERY_OPERATOR_LINK =
127-
'https://docs.openshift.com/container-platform/4.17/hardware_enablement/psap-node-feature-discovery-operator.html';
130+
export const getNodeFeatureDiscoveryLink = (ocpVersion?: string) =>
131+
`https://docs.openshift.com/container-platform/${getShortOpenshiftVersion(
132+
ocpVersion,
133+
)}/hardware_enablement/psap-node-feature-discovery-operator.html`;
128134

129-
export const NVIDIA_GPU_OPERATOR_LINK =
130-
'https://docs.openshift.com/container-platform/4.17/virt/virtual_machines/advanced_vm_management/virt-configuring-virtual-gpus.html';
135+
export const getNvidiaGpuLink = (ocpVersion?: string) =>
136+
`https://docs.openshift.com/container-platform/${getShortOpenshiftVersion(
137+
ocpVersion,
138+
)}/virt/virtual_machines/advanced_vm_management/virt-configuring-virtual-gpus.html`;
131139

132140
export const PIPELINES_OPERATOR_LINK =
133141
'https://docs.openshift.com/pipelines/1.17/install_config/installing-pipelines.html';
134142

135-
export const SERVICE_MESH_OPERATOR_LINK =
136-
'https://docs.openshift.com/container-platform/4.17/service_mesh/v1x/preparing-ossm-installation.html';
143+
export const getServiceMeshLink = (ocpVersion?: string) =>
144+
`https://docs.openshift.com/container-platform/${getShortOpenshiftVersion(
145+
ocpVersion,
146+
)}/service_mesh/v1x/preparing-ossm-installation.html`;
137147

138148
export const SERVERLESS_OPERATOR_LINK =
139149
'https://docs.openshift.com/serverless/1.28/install/install-serverless-operator.html#serverless-install-web-console_install-serverless-operator';

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, LOCAL_STORAGE_OPERATOR_LINK, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getLsoLink, PopoverIcon } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
66
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -30,12 +30,12 @@ const LsoLabel = ({
3030
);
3131
};
3232

33-
const LsoHelperText = () => {
33+
const LsoHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
3434
return (
3535
<HelperText>
3636
<HelperTextItem variant="indeterminate">
3737
Allows provisioning of persistent storage by using local volumes.{' '}
38-
<a href={LOCAL_STORAGE_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
38+
<a href={getLsoLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
3939
{'Learn more'} <ExternalLinkAltIcon />
4040
</a>
4141
</HelperTextItem>
@@ -46,9 +46,11 @@ const LsoHelperText = () => {
4646
const LsoCheckbox = ({
4747
disabledReason,
4848
supportLevel,
49+
openshiftVersion,
4950
}: {
5051
disabledReason?: string;
5152
supportLevel?: SupportLevel | undefined;
53+
openshiftVersion?: string;
5254
}) => {
5355
const fieldId = getFieldId(LSO_FIELD_NAME, 'input');
5456

@@ -57,7 +59,7 @@ const LsoCheckbox = ({
5759
<OcmCheckboxField
5860
name={LSO_FIELD_NAME}
5961
label={<LsoLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
60-
helperText={<LsoHelperText />}
62+
helperText={<LsoHelperText openshiftVersion={openshiftVersion || '4.17'} />}
6163
isDisabled={!!disabledReason}
6264
/>
6365
</FormGroup>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import {
4-
getFieldId,
5-
PopoverIcon,
6-
ClusterOperatorProps,
7-
NMSTATE_OPERATOR_LINK,
8-
} from '../../../../common';
3+
import { getFieldId, PopoverIcon, ClusterOperatorProps, getNmstateLink } from '../../../../common';
94
import { OcmCheckboxField } from '../../ui/OcmFormFields';
105
import NmstateRequirements from './NmstateRequirements';
116
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -39,13 +34,13 @@ const NmstateLabel = ({
3934
);
4035
};
4136

42-
const NmstateHelperText = () => {
37+
const NmstateHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
4338
return (
4439
<HelperText>
4540
<HelperTextItem variant="indeterminate">
4641
Provides users with functionality to configure various network interface types, DNS, and
4742
routing on cluster nodes.{' '}
48-
<a href={NMSTATE_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
43+
<a href={getNmstateLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
4944
{'Learn more'} <ExternalLinkAltIcon />
5045
</a>
5146
</HelperTextItem>
@@ -57,10 +52,12 @@ const NmstateCheckbox = ({
5752
clusterId,
5853
disabledReason,
5954
supportLevel,
55+
openshiftVersion,
6056
}: {
6157
clusterId: ClusterOperatorProps['clusterId'];
6258
disabledReason?: string;
6359
supportLevel?: SupportLevel | undefined;
60+
openshiftVersion?: string;
6461
}) => {
6562
const fieldId = getFieldId(NMSTATE_FIELD_NAME, 'input');
6663

@@ -75,7 +72,7 @@ const NmstateCheckbox = ({
7572
supportLevel={supportLevel}
7673
/>
7774
}
78-
helperText={<NmstateHelperText />}
75+
helperText={<NmstateHelperText openshiftVersion={openshiftVersion || '4.17'} />}
7976
isDisabled={!!disabledReason}
8077
/>
8178
</FormGroup>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, NODE_FEATURE_DISCOVERY_OPERATOR_LINK, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getNodeFeatureDiscoveryLink, PopoverIcon } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
66
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -30,13 +30,17 @@ const NodeFeatureDiscoveryLabel = ({
3030
);
3131
};
3232

33-
const NodeFeatureDiscoveryHelperText = () => {
33+
const NodeFeatureDiscoveryHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
3434
return (
3535
<HelperText>
3636
<HelperTextItem variant="indeterminate">
3737
Manage the detection of hardware features and configuration by labeling nodes with
3838
hardware-specific information.{' '}
39-
<a href={NODE_FEATURE_DISCOVERY_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
39+
<a
40+
href={getNodeFeatureDiscoveryLink(openshiftVersion)}
41+
target="_blank"
42+
rel="noopener noreferrer"
43+
>
4044
{'Learn more'} <ExternalLinkAltIcon />
4145
</a>
4246
</HelperTextItem>
@@ -47,9 +51,11 @@ const NodeFeatureDiscoveryHelperText = () => {
4751
const NodeFeatureDiscoveryCheckbox = ({
4852
disabledReason,
4953
supportLevel,
54+
openshiftVersion,
5055
}: {
5156
disabledReason?: string;
5257
supportLevel?: SupportLevel | undefined;
58+
openshiftVersion?: string;
5359
}) => {
5460
const fieldId = getFieldId(NODEFEATUREDISCOVERY_FIELD_NAME, 'input');
5561

@@ -60,7 +66,9 @@ const NodeFeatureDiscoveryCheckbox = ({
6066
label={
6167
<NodeFeatureDiscoveryLabel disabledReason={disabledReason} supportLevel={supportLevel} />
6268
}
63-
helperText={<NodeFeatureDiscoveryHelperText />}
69+
helperText={
70+
<NodeFeatureDiscoveryHelperText openshiftVersion={openshiftVersion || '4.17'} />
71+
}
6472
isDisabled={!!disabledReason}
6573
/>
6674
</FormGroup>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, NVIDIA_GPU_OPERATOR_LINK, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getNvidiaGpuLink, PopoverIcon } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
@@ -30,12 +30,12 @@ const NvidiaGpuLabel = ({
3030
);
3131
};
3232

33-
const NvidiaGpuHelperText = () => {
33+
const NvidiaGpuHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
3434
return (
3535
<HelperText>
3636
<HelperTextItem variant="indeterminate">
3737
Automate the management of NVIDIA software components needed to provision and monitor GPUs.{' '}
38-
<a href={NVIDIA_GPU_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
38+
<a href={getNvidiaGpuLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
3939
{'Learn more'} <ExternalLinkAltIcon />
4040
</a>
4141
</HelperTextItem>
@@ -46,9 +46,11 @@ const NvidiaGpuHelperText = () => {
4646
const NvidiaGpuCheckbox = ({
4747
disabledReason,
4848
supportLevel,
49+
openshiftVersion,
4950
}: {
5051
disabledReason?: string;
5152
supportLevel?: SupportLevel | undefined;
53+
openshiftVersion?: string;
5254
}) => {
5355
const fieldId = getFieldId(NVIDIAGPU_FIELD_NAME, 'input');
5456

@@ -57,7 +59,7 @@ const NvidiaGpuCheckbox = ({
5759
<OcmCheckboxField
5860
name={NVIDIAGPU_FIELD_NAME}
5961
label={<NvidiaGpuLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
60-
helperText={<NvidiaGpuHelperText />}
62+
helperText={<NvidiaGpuHelperText openshiftVersion={openshiftVersion || '4.17'} />}
6163
isDisabled={!!disabledReason}
6264
/>
6365
</FormGroup>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, PopoverIcon, SERVICE_MESH_OPERATOR_LINK } from '../../../../common';
3+
import { getFieldId, getServiceMeshLink, PopoverIcon } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
@@ -30,12 +30,12 @@ const ServiceMeshLabel = ({
3030
);
3131
};
3232

33-
const ServiceMeshHelperText = () => {
33+
const ServiceMeshHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
3434
return (
3535
<HelperText>
3636
<HelperTextItem variant="indeterminate">
3737
Platform that provides behavioral insight and operational control over a service mesh.{' '}
38-
<a href={SERVICE_MESH_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
38+
<a href={getServiceMeshLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
3939
{'Learn more'} <ExternalLinkAltIcon />
4040
</a>
4141
</HelperTextItem>
@@ -46,9 +46,11 @@ const ServiceMeshHelperText = () => {
4646
const ServiceMeshCheckbox = ({
4747
disabledReason,
4848
supportLevel,
49+
openshiftVersion,
4950
}: {
5051
disabledReason?: string;
5152
supportLevel?: SupportLevel | undefined;
53+
openshiftVersion?: string;
5254
}) => {
5355
const fieldId = getFieldId(SERVICEMESH_FIELD_NAME, 'input');
5456

@@ -57,7 +59,7 @@ const ServiceMeshCheckbox = ({
5759
<OcmCheckboxField
5860
name={SERVICEMESH_FIELD_NAME}
5961
label={<ServiceMeshLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
60-
helperText={<ServiceMeshHelperText />}
62+
helperText={<ServiceMeshHelperText openshiftVersion={openshiftVersion || '4.17'} />}
6163
isDisabled={!!disabledReason}
6264
/>
6365
</FormGroup>

0 commit comments

Comments
 (0)