diff --git a/libs/locales/lib/en/translation.json b/libs/locales/lib/en/translation.json index e9596e98dc..73f9e9162f 100644 --- a/libs/locales/lib/en/translation.json +++ b/libs/locales/lib/en/translation.json @@ -415,6 +415,7 @@ "ai:Information & Troubleshooting": "Information & Troubleshooting", "ai:Information and warnings": "Information and warnings", "ai:Infrastructure": "Infrastructure", + "ai:Infrastructure availability policy": "Infrastructure availability policy", "ai:Infrastructure env": "Infrastructure env", "ai:Infrastructure environment details": "Infrastructure environment details", "ai:Infrastructure environments are used by clusters. Create an infrastructure environment to add resources to your cluster.": "Infrastructure environments are used by clusters. Create an infrastructure environment to add resources to your cluster.", diff --git a/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx b/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx index cf7d5a9fff..c32f5b4a99 100644 --- a/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx +++ b/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx @@ -75,6 +75,39 @@ const HostsForm: React.FC = ({ + + {t('ai:Infrastructure availability policy')}} isRequired> + + {t('ai:Highly available')}{' '} + + + } + value={'HighlyAvailable'} + /> + + {t('ai:Single replica')}{' '} + + + } + value={'SingleReplica'} + /> + + + = ({ initReleaseImage, nodePools, controllerAvailabilityPolicy, + infrastructureAvailabilityPolicy, }) => { const { t } = useTranslation(); const availableAgents = getAgentsForSelection(agents); @@ -80,6 +81,7 @@ const HostsStep: React.FC = ({ initialValues={{ controllerAvailabilityPolicy: controllerAvailabilityPolicy || 'HighlyAvailable', + infrastructureAvailabilityPolicy: infrastructureAvailabilityPolicy || 'HighlyAvailable', agentNamespace: initInfraEnv || infraEnvsWithAgents[0]?.metadata?.namespace || '', nodePools: initNodePools || [ { diff --git a/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.ts b/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.ts index eba61d3ef8..65674392f0 100644 --- a/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.ts +++ b/libs/ui-lib/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.ts @@ -9,6 +9,7 @@ export type NodePoolFormValue = { export type HostsFormValues = { controllerAvailabilityPolicy: string; + infrastructureAvailabilityPolicy: string; agentNamespace: string; nodePools: NodePoolFormValue[]; }; @@ -29,4 +30,5 @@ export type HostsStepProps = { initNodePools?: NodePoolFormValue[]; nodePools: NodePoolK8sResource[]; controllerAvailabilityPolicy: string; + infrastructureAvailabilityPolicy: string; };