Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MGMT-20054: Change learn more links dinamically for new operators - 2.28 #2821

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 20 additions & 10 deletions libs/ui-lib/lib/common/config/docs_links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,23 +117,33 @@ export const getMtuLink = (ocpVersion?: string) =>

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

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

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

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

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

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

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

export const SERVERLESS_OPERATOR_LINK =
'https://docs.openshift.com/serverless/1.28/install/install-serverless-operator.html#serverless-install-web-console_install-serverless-operator';
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
import { getFieldId, LOCAL_STORAGE_OPERATOR_LINK, PopoverIcon } from '../../../../common';
import { getFieldId, getLsoLink, PopoverIcon } from '../../../../common';
import { OcmCheckboxField } from '../../ui/OcmFormFields';
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
Expand Down Expand Up @@ -30,12 +30,12 @@ const LsoLabel = ({
);
};

const LsoHelperText = () => {
const LsoHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
return (
<HelperText>
<HelperTextItem variant="indeterminate">
Allows provisioning of persistent storage by using local volumes.{' '}
<a href={LOCAL_STORAGE_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
<a href={getLsoLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
{'Learn more'} <ExternalLinkAltIcon />
</a>
</HelperTextItem>
Expand All @@ -46,9 +46,11 @@ const LsoHelperText = () => {
const LsoCheckbox = ({
disabledReason,
supportLevel,
openshiftVersion,
}: {
disabledReason?: string;
supportLevel?: SupportLevel | undefined;
openshiftVersion?: string;
}) => {
const fieldId = getFieldId(LSO_FIELD_NAME, 'input');

Expand All @@ -57,7 +59,7 @@ const LsoCheckbox = ({
<OcmCheckboxField
name={LSO_FIELD_NAME}
label={<LsoLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
helperText={<LsoHelperText />}
helperText={<LsoHelperText openshiftVersion={openshiftVersion || '4.17'} />}
isDisabled={!!disabledReason}
/>
</FormGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
import React from 'react';
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
import {
getFieldId,
PopoverIcon,
ClusterOperatorProps,
NMSTATE_OPERATOR_LINK,
} from '../../../../common';
import { getFieldId, PopoverIcon, ClusterOperatorProps, getNmstateLink } from '../../../../common';
import { OcmCheckboxField } from '../../ui/OcmFormFields';
import NmstateRequirements from './NmstateRequirements';
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
Expand Down Expand Up @@ -39,13 +34,13 @@ const NmstateLabel = ({
);
};

const NmstateHelperText = () => {
const NmstateHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
return (
<HelperText>
<HelperTextItem variant="indeterminate">
Provides users with functionality to configure various network interface types, DNS, and
routing on cluster nodes.{' '}
<a href={NMSTATE_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
<a href={getNmstateLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
{'Learn more'} <ExternalLinkAltIcon />
</a>
</HelperTextItem>
Expand All @@ -57,10 +52,12 @@ const NmstateCheckbox = ({
clusterId,
disabledReason,
supportLevel,
openshiftVersion,
}: {
clusterId: ClusterOperatorProps['clusterId'];
disabledReason?: string;
supportLevel?: SupportLevel | undefined;
openshiftVersion?: string;
}) => {
const fieldId = getFieldId(NMSTATE_FIELD_NAME, 'input');

Expand All @@ -75,7 +72,7 @@ const NmstateCheckbox = ({
supportLevel={supportLevel}
/>
}
helperText={<NmstateHelperText />}
helperText={<NmstateHelperText openshiftVersion={openshiftVersion || '4.17'} />}
isDisabled={!!disabledReason}
/>
</FormGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
import { getFieldId, NODE_FEATURE_DISCOVERY_OPERATOR_LINK, PopoverIcon } from '../../../../common';
import { getFieldId, getNodeFeatureDiscoveryLink, PopoverIcon } from '../../../../common';
import { OcmCheckboxField } from '../../ui/OcmFormFields';
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
Expand Down Expand Up @@ -30,13 +30,17 @@ const NodeFeatureDiscoveryLabel = ({
);
};

const NodeFeatureDiscoveryHelperText = () => {
const NodeFeatureDiscoveryHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
return (
<HelperText>
<HelperTextItem variant="indeterminate">
Manage the detection of hardware features and configuration by labeling nodes with
hardware-specific information.{' '}
<a href={NODE_FEATURE_DISCOVERY_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
<a
href={getNodeFeatureDiscoveryLink(openshiftVersion)}
target="_blank"
rel="noopener noreferrer"
>
{'Learn more'} <ExternalLinkAltIcon />
</a>
</HelperTextItem>
Expand All @@ -47,9 +51,11 @@ const NodeFeatureDiscoveryHelperText = () => {
const NodeFeatureDiscoveryCheckbox = ({
disabledReason,
supportLevel,
openshiftVersion,
}: {
disabledReason?: string;
supportLevel?: SupportLevel | undefined;
openshiftVersion?: string;
}) => {
const fieldId = getFieldId(NODEFEATUREDISCOVERY_FIELD_NAME, 'input');

Expand All @@ -60,7 +66,9 @@ const NodeFeatureDiscoveryCheckbox = ({
label={
<NodeFeatureDiscoveryLabel disabledReason={disabledReason} supportLevel={supportLevel} />
}
helperText={<NodeFeatureDiscoveryHelperText />}
helperText={
<NodeFeatureDiscoveryHelperText openshiftVersion={openshiftVersion || '4.17'} />
}
isDisabled={!!disabledReason}
/>
</FormGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
import { getFieldId, NVIDIA_GPU_OPERATOR_LINK, PopoverIcon } from '../../../../common';
import { getFieldId, getNvidiaGpuLink, PopoverIcon } from '../../../../common';
import { OcmCheckboxField } from '../../ui/OcmFormFields';
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
Expand Down Expand Up @@ -30,12 +30,12 @@ const NvidiaGpuLabel = ({
);
};

const NvidiaGpuHelperText = () => {
const NvidiaGpuHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
return (
<HelperText>
<HelperTextItem variant="indeterminate">
Automate the management of NVIDIA software components needed to provision and monitor GPUs.{' '}
<a href={NVIDIA_GPU_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
<a href={getNvidiaGpuLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
{'Learn more'} <ExternalLinkAltIcon />
</a>
</HelperTextItem>
Expand All @@ -46,9 +46,11 @@ const NvidiaGpuHelperText = () => {
const NvidiaGpuCheckbox = ({
disabledReason,
supportLevel,
openshiftVersion,
}: {
disabledReason?: string;
supportLevel?: SupportLevel | undefined;
openshiftVersion?: string;
}) => {
const fieldId = getFieldId(NVIDIAGPU_FIELD_NAME, 'input');

Expand All @@ -57,7 +59,7 @@ const NvidiaGpuCheckbox = ({
<OcmCheckboxField
name={NVIDIAGPU_FIELD_NAME}
label={<NvidiaGpuLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
helperText={<NvidiaGpuHelperText />}
helperText={<NvidiaGpuHelperText openshiftVersion={openshiftVersion || '4.17'} />}
isDisabled={!!disabledReason}
/>
</FormGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
import { getFieldId, PopoverIcon, SERVICE_MESH_OPERATOR_LINK } from '../../../../common';
import { getFieldId, getServiceMeshLink, PopoverIcon } from '../../../../common';
import { OcmCheckboxField } from '../../ui/OcmFormFields';
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
Expand Down Expand Up @@ -30,12 +30,12 @@ const ServiceMeshLabel = ({
);
};

const ServiceMeshHelperText = () => {
const ServiceMeshHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
return (
<HelperText>
<HelperTextItem variant="indeterminate">
Platform that provides behavioral insight and operational control over a service mesh.{' '}
<a href={SERVICE_MESH_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
<a href={getServiceMeshLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
{'Learn more'} <ExternalLinkAltIcon />
</a>
</HelperTextItem>
Expand All @@ -46,9 +46,11 @@ const ServiceMeshHelperText = () => {
const ServiceMeshCheckbox = ({
disabledReason,
supportLevel,
openshiftVersion,
}: {
disabledReason?: string;
supportLevel?: SupportLevel | undefined;
openshiftVersion?: string;
}) => {
const fieldId = getFieldId(SERVICEMESH_FIELD_NAME, 'input');

Expand All @@ -57,7 +59,7 @@ const ServiceMeshCheckbox = ({
<OcmCheckboxField
name={SERVICEMESH_FIELD_NAME}
label={<ServiceMeshLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
helperText={<ServiceMeshHelperText />}
helperText={<ServiceMeshHelperText openshiftVersion={openshiftVersion || '4.17'} />}
isDisabled={!!disabledReason}
/>
</FormGroup>
Expand Down
Loading