@openshift-assisted/ui-lib 2.44.1 → 2.44.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.
Files changed (50) hide show
  1. package/build/@types/common/features/featureGate.d.ts +1 -1
  2. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  3. package/build/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts +3 -3
  4. package/build/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts.map +1 -1
  5. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  6. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +0 -1
  7. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  8. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +4 -2
  9. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  10. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  11. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  12. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  13. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts +4 -0
  14. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -0
  15. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts +4 -0
  16. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -0
  17. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +2 -1
  18. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  19. package/build/cjs/common/features/featureGate.js.map +1 -1
  20. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js +14 -10
  21. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js.map +1 -1
  22. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +1 -1
  23. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  24. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +7 -12
  25. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  26. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  27. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +17 -2
  28. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  29. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +15 -2
  30. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  31. package/build/cjs/ocm/components/clusterWizard/constants.js +2 -0
  32. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  33. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +39 -0
  34. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -0
  35. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +63 -0
  36. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -0
  37. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +9 -1
  38. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  39. package/lib/common/features/featureGate.tsx +3 -1
  40. package/lib/ocm/components/clusterConfiguration/OcmOpenShiftVersion.tsx +18 -11
  41. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +0 -1
  42. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +17 -14
  43. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +4 -2
  44. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +18 -2
  45. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +17 -1
  46. package/lib/ocm/components/clusterWizard/constants.ts +2 -0
  47. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +88 -0
  48. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +123 -0
  49. package/lib/ocm/components/clusterWizard/wizardTransition.ts +12 -1
  50. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStaticIpStep = exports.canNextNetwork = exports.canNextOperators = exports.canNextStorage = exports.canNextHostDiscovery = exports.canNextClusterDetails = exports.allClusterWizardSoftValidationIds = exports.wizardStepsValidationsMap = exports.getClusterWizardFirstStep = exports.isStepAfter = exports.getLastStepForWizard = exports.ClusterWizardFlowStateNew = void 0;
3
+ exports.isStaticIpStep = exports.canNextNetwork = exports.canNextOperators = exports.canNextStorage = exports.canNextHostDiscovery = exports.canNextClusterDetails = exports.allClusterWizardSoftValidationIds = exports.wizardStepsValidationsMap = exports.getClusterWizardFirstStep = exports.isStepAfter = exports.getLastStepForWizard = exports.ClusterWizardFlowStateNew = exports.disconnectedSteps = void 0;
4
4
  const validationsInfoUtils_1 = require("../../../common/components/clusterWizard/validationsInfoUtils");
5
5
  const dataTypes_1 = require("../clusterConfiguration/staticIp/data/dataTypes");
6
6
  const utils_1 = require("../../../common/utils");
@@ -17,6 +17,10 @@ const wizardStepsOrder = [
17
17
  'credentials-download',
18
18
  'review',
19
19
  ];
20
+ exports.disconnectedSteps = [
21
+ 'disconnected-basic',
22
+ 'disconnected-review',
23
+ ];
20
24
  exports.ClusterWizardFlowStateNew = 'new';
21
25
  const getLastStepForWizard = (customManifestsStepNeedsToBeFilled) => {
22
26
  if (customManifestsStepNeedsToBeFilled) {
@@ -199,6 +203,8 @@ const reviewStepValidationsMap = {
199
203
  };
200
204
  const credentialsValidationMap = buildEmptyValidationsMap();
201
205
  const customManifestsValidationsMap = buildEmptyValidationsMap();
206
+ const disconnectedReviewValidationsMap = buildEmptyValidationsMap();
207
+ const disconnectedBasicValidationsMap = buildEmptyValidationsMap();
202
208
  exports.wizardStepsValidationsMap = {
203
209
  'cluster-details': clusterDetailsStepValidationsMap,
204
210
  'static-ip-yaml-view': staticIpValidationsMap,
@@ -211,6 +217,8 @@ exports.wizardStepsValidationsMap = {
211
217
  networking: networkingStepValidationsMap,
212
218
  review: reviewStepValidationsMap,
213
219
  'credentials-download': credentialsValidationMap,
220
+ 'disconnected-review': disconnectedReviewValidationsMap,
221
+ 'disconnected-basic': disconnectedBasicValidationsMap,
214
222
  };
215
223
  exports.allClusterWizardSoftValidationIds = (0, validationsInfoUtils_1.getAllClusterWizardSoftValidationIds)(exports.wizardStepsValidationsMap);
216
224
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"wizardTransition.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusterWizard/wizardTransition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizardTransition.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusterWizard/wizardTransition.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
 
3
3
  // Must conform Unleash constants
4
- export type AssistedInstallerFeatureType = 'ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE';
4
+ export type AssistedInstallerFeatureType =
5
+ | 'ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE'
6
+ | 'ASSISTED_INSTALLER_ABI';
5
7
 
6
8
  export type FeatureListType = {
7
9
  [key in AssistedInstallerFeatureType]?: boolean;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { Stack, StackItem } from '@patternfly/react-core';
2
3
  import {
3
4
  ClusterCpuArchitecture,
4
5
  getOpenshiftVersionText,
@@ -7,9 +8,9 @@ import {
7
8
  } from '../../../common';
8
9
 
9
10
  type OcmOpenShiftVersionProps = {
10
- versions: OpenshiftVersionOptionType[];
11
+ versions?: OpenshiftVersionOptionType[];
11
12
  openshiftVersion: string;
12
- clusterCpuArchitecture: string | undefined;
13
+ clusterCpuArchitecture?: string;
13
14
  withPreviewText?: boolean;
14
15
  withMultiText?: boolean;
15
16
  };
@@ -20,17 +21,23 @@ const OcmOpenShiftVersion = ({
20
21
  versions,
21
22
  withPreviewText,
22
23
  withMultiText,
23
- }: OcmOpenShiftVersionProps) => {
24
+ children,
25
+ }: React.PropsWithChildren<OcmOpenShiftVersionProps>) => {
24
26
  return (
25
27
  <StaticTextField name="openshiftVersion" label="OpenShift version" isRequired>
26
- OpenShift{' '}
27
- {getOpenshiftVersionText({
28
- openshiftVersion,
29
- cpuArchitecture: clusterCpuArchitecture as ClusterCpuArchitecture,
30
- versions,
31
- withPreviewText,
32
- withMultiText,
33
- })}
28
+ <Stack>
29
+ <StackItem>
30
+ OpenShift{' '}
31
+ {getOpenshiftVersionText({
32
+ openshiftVersion,
33
+ cpuArchitecture: clusterCpuArchitecture as ClusterCpuArchitecture,
34
+ versions,
35
+ withPreviewText,
36
+ withMultiText,
37
+ })}
38
+ </StackItem>
39
+ {children && <StackItem>{children}</StackItem>}
40
+ </Stack>
34
41
  </StaticTextField>
35
42
  );
36
43
  };
@@ -132,7 +132,6 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
132
132
  managedDomains={managedDomains}
133
133
  ocpVersions={versions}
134
134
  usedClusterNames={usedClusterNames}
135
- moveNext={() => clusterWizardContext.moveNext()}
136
135
  handleClusterUpdate={handleClusterUpdate}
137
136
  handleClusterCreate={handleClusterCreate}
138
137
  navigation={navigation}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { useLocation } from 'react-router-dom-v5-compat';
4
- import { Grid, GridItem } from '@patternfly/react-core';
4
+ import { Grid, GridItem, Switch } from '@patternfly/react-core';
5
5
  import isUndefined from 'lodash-es/isUndefined.js';
6
6
  import { Formik, FormikHelpers } from 'formik';
7
7
  import {
@@ -41,7 +41,6 @@ type ClusterDetailsFormProps = {
41
41
  ocpVersions: OpenshiftVersionOptionType[];
42
42
  usedClusterNames: string[];
43
43
  navigation: React.ReactNode;
44
- moveNext: () => void;
45
44
  handleClusterCreate: (params: ClusterCreateParams, addCustomManifests: boolean) => Promise<void>;
46
45
  handleClusterUpdate: (
47
46
  clusterId: Cluster['id'],
@@ -58,17 +57,18 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
58
57
  managedDomains,
59
58
  ocpVersions,
60
59
  usedClusterNames = [],
61
- moveNext,
62
60
  handleClusterUpdate,
63
61
  handleClusterCreate,
64
62
  navigation,
65
63
  } = props;
66
64
 
67
- const clusterWizardContext = useClusterWizardContext();
65
+ const { installDisconnected, setInstallDisconnected, customManifestsStep, moveNext } =
66
+ useClusterWizardContext();
68
67
  const { search } = useLocation();
69
68
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
70
69
  const { clearAlerts } = useAlerts();
71
70
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
71
+ const isABIEnabled = useFeature('ASSISTED_INSTALLER_ABI');
72
72
 
73
73
  const handleSubmit = React.useCallback(
74
74
  async (values: OcmClusterDetailsValues) => {
@@ -119,17 +119,9 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
119
119
  managedDomains,
120
120
  ocpVersions,
121
121
  urlSearchParams: search,
122
- addCustomManifests: clusterWizardContext.customManifestsStep,
122
+ addCustomManifests: customManifestsStep,
123
123
  }),
124
- [
125
- infraEnv,
126
- cluster,
127
- pullSecret,
128
- managedDomains,
129
- ocpVersions,
130
- search,
131
- clusterWizardContext.customManifestsStep,
132
- ],
124
+ [infraEnv, cluster, pullSecret, managedDomains, ocpVersions, search, customManifestsStep],
133
125
  );
134
126
 
135
127
  const { t } = useTranslation();
@@ -173,6 +165,17 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
173
165
  <GridItem>
174
166
  <ClusterWizardStepHeader>Cluster details</ClusterWizardStepHeader>
175
167
  </GridItem>
168
+ {!isSingleClusterFeatureEnabled && isABIEnabled && (
169
+ <GridItem>
170
+ <Switch
171
+ id="disconnected-install-switch"
172
+ label="I'm installing on a disconnected/air-gapped/secured environment"
173
+ isChecked={installDisconnected}
174
+ onChange={(_, checked) => setInstallDisconnected(checked)}
175
+ ouiaId="DisconnectedInstall"
176
+ />
177
+ </GridItem>
178
+ )}
176
179
  <GridItem span={12} lg={10} xl={9} xl2={7}>
177
180
  <OcmClusterDetailsFormFields
178
181
  versions={ocpVersions}
@@ -7,8 +7,8 @@ import { UISettingsValues } from '../../../common';
7
7
  export type ClusterWizardContextType = {
8
8
  currentStepId: ClusterWizardStepsType;
9
9
  setCurrentStepId(stepId: ClusterWizardStepsType): void;
10
- moveBack(): void;
11
- moveNext(): void;
10
+ moveBack: () => void;
11
+ moveNext: () => void;
12
12
  wizardStepIds: ClusterWizardStepsType[];
13
13
  onUpdateStaticIpView(view: StaticIpView): void;
14
14
  onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void;
@@ -18,6 +18,8 @@ export type ClusterWizardContextType = {
18
18
  setWizardPerPage: (perPage: number) => void;
19
19
  updateUISettings: (data: UISettingsValues) => Promise<void>;
20
20
  uiSettings?: UISettingsValues;
21
+ installDisconnected: boolean;
22
+ setInstallDisconnected: (enabled: boolean) => void;
21
23
  };
22
24
 
23
25
  export const ClusterWizardContext = React.createContext<ClusterWizardContextType | null>(null);
@@ -4,6 +4,7 @@ import { ClusterWizardContextType, ClusterWizardContext } from './ClusterWizardC
4
4
  import {
5
5
  ClusterWizardFlowStateType,
6
6
  ClusterWizardStepsType,
7
+ disconnectedSteps,
7
8
  getClusterWizardFirstStep,
8
9
  isStaticIpStep,
9
10
  isStepAfter,
@@ -87,9 +88,10 @@ const ClusterWizardContextProvider = ({
87
88
  }>) => {
88
89
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
89
90
  const [currentStepId, setCurrentStepId] = React.useState<ClusterWizardStepsType>();
90
- const [wizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
91
+ const [connectedWizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
91
92
  const [wizardPerPage, setWizardPerPage] = React.useState(10);
92
93
  const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
94
+ const [installDisconnected, setInstallDisconnected] = React.useState(false);
93
95
  const location = useLocation();
94
96
  const locationState = location.state as ClusterWizardFlowStateType | undefined;
95
97
  const {
@@ -101,6 +103,8 @@ const ClusterWizardContextProvider = ({
101
103
  const { clearAlerts, addAlert, alerts } = useAlerts();
102
104
  const setClusterPermissions = useSetClusterPermissions();
103
105
 
106
+ const wizardStepIds = installDisconnected ? disconnectedSteps : connectedWizardStepIds;
107
+
104
108
  React.useEffect(() => {
105
109
  if (!UISettingsLoading) {
106
110
  const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
@@ -237,7 +241,7 @@ const ClusterWizardContextProvider = ({
237
241
  );
238
242
  }
239
243
  },
240
- wizardStepIds,
244
+ wizardStepIds: wizardStepIds,
241
245
  currentStepId,
242
246
  setCurrentStepId: onSetCurrentStepId,
243
247
  customManifestsStep,
@@ -246,6 +250,15 @@ const ClusterWizardContextProvider = ({
246
250
  setWizardPerPage,
247
251
  uiSettings,
248
252
  updateUISettings,
253
+ installDisconnected,
254
+ setInstallDisconnected: (enabled: boolean) => {
255
+ setInstallDisconnected(enabled);
256
+ if (enabled) {
257
+ onSetCurrentStepId(disconnectedSteps[0]);
258
+ } else {
259
+ connectedWizardStepIds?.length && onSetCurrentStepId(connectedWizardStepIds[0]);
260
+ }
261
+ },
249
262
  };
250
263
  }, [
251
264
  wizardStepIds,
@@ -257,6 +270,9 @@ const ClusterWizardContextProvider = ({
257
270
  clearAlerts,
258
271
  uiSettings,
259
272
  updateUISettings,
273
+ installDisconnected,
274
+ setInstallDisconnected,
275
+ connectedWizardStepIds,
260
276
  ]);
261
277
 
262
278
  if (!contextValue) {
@@ -1,11 +1,27 @@
1
1
  import classNames from 'classnames';
2
2
  import React from 'react';
3
3
  import ClusterDetails from './ClusterDetails';
4
+ import { useClusterWizardContext } from './ClusterWizardContext';
5
+ import ReviewStep from './disconnected/ReviewStep';
6
+ import BasicStep from './disconnected/BasicStep';
7
+ import { ClusterWizardStepsType } from './wizardTransition';
8
+
9
+ const getCurrentStep = (currentStepId: ClusterWizardStepsType) => {
10
+ switch (currentStepId) {
11
+ case 'disconnected-review':
12
+ return <ReviewStep />;
13
+ case 'disconnected-basic':
14
+ return <BasicStep />;
15
+ default:
16
+ return <ClusterDetails />;
17
+ }
18
+ };
4
19
 
5
20
  const NewClusterWizard: React.FC = () => {
21
+ const { currentStepId } = useClusterWizardContext();
6
22
  return (
7
23
  <div className={classNames('pf-v5-c-wizard', 'cluster-wizard')}>
8
- <ClusterDetails />
24
+ {getCurrentStep(currentStepId)}
9
25
  </div>
10
26
  );
11
27
  };
@@ -12,6 +12,8 @@ export const wizardStepNames: { [key in ClusterWizardStepsType]: string } = {
12
12
  'custom-manifests': 'Custom manifests',
13
13
  review: 'Review and create',
14
14
  'credentials-download': 'Download credentials',
15
+ 'disconnected-review': 'Review and download ISO',
16
+ 'disconnected-basic': 'Basic information',
15
17
  };
16
18
 
17
19
  export const defaultWizardSteps: ClusterWizardStepsType[] = [
@@ -0,0 +1,88 @@
1
+ import * as React from 'react';
2
+ import {
3
+ ClusterWizardStep,
4
+ DeveloperPreview,
5
+ ExternalLink,
6
+ OCP_RELEASES_PAGE,
7
+ StaticTextField,
8
+ useTranslation,
9
+ } from '../../../../common';
10
+ import {
11
+ Switch,
12
+ Split,
13
+ SplitItem,
14
+ TextContent,
15
+ Text,
16
+ TextVariants,
17
+ Grid,
18
+ GridItem,
19
+ Form,
20
+ } from '@patternfly/react-core';
21
+ import { Formik } from 'formik';
22
+ import OcmOpenShiftVersion from '../../clusterConfiguration/OcmOpenShiftVersion';
23
+ import { useClusterWizardContext } from '../ClusterWizardContext';
24
+ import ClusterWizardFooter from '../ClusterWizardFooter';
25
+ import ClusterWizardNavigation from '../ClusterWizardNavigation';
26
+ import { WithErrorBoundary } from '../../../../common/components/ErrorHandling/WithErrorBoundary';
27
+
28
+ const BasicStep = () => {
29
+ const { t } = useTranslation();
30
+ const { installDisconnected, setInstallDisconnected, moveNext, moveBack } =
31
+ useClusterWizardContext();
32
+
33
+ return (
34
+ <Formik
35
+ initialValues={{}}
36
+ onSubmit={() => {
37
+ // nothing to do
38
+ }}
39
+ >
40
+ <ClusterWizardStep
41
+ navigation={<ClusterWizardNavigation />}
42
+ footer={<ClusterWizardFooter onNext={moveNext} onBack={moveBack} />}
43
+ >
44
+ <WithErrorBoundary title="Failed to load Basic step">
45
+ <Grid hasGutter>
46
+ <GridItem>
47
+ <Split>
48
+ <SplitItem>
49
+ <TextContent>
50
+ <Text component={TextVariants.h2}>Basic information</Text>
51
+ </TextContent>
52
+ </SplitItem>
53
+ <SplitItem>
54
+ <DeveloperPreview />
55
+ </SplitItem>
56
+ </Split>
57
+ </GridItem>
58
+ <GridItem>
59
+ <Switch
60
+ id="disconnected-install-switch"
61
+ label="I'm installing on a disconnected/air-gapped/secured environment"
62
+ isChecked={installDisconnected}
63
+ onChange={(_, checked) => setInstallDisconnected(checked)}
64
+ ouiaId="DisconnectedInstall"
65
+ />
66
+ </GridItem>
67
+ <GridItem>
68
+ <Form id="wizard-cluster-basic-info__form">
69
+ <OcmOpenShiftVersion openshiftVersion="4.19" withPreviewText withMultiText>
70
+ <ExternalLink href={`${window.location.origin}/${OCP_RELEASES_PAGE}`}>
71
+ <span data-ouia-id="openshift-releases-link">
72
+ {t('ai:Learn more about OpenShift releases')}
73
+ </span>
74
+ </ExternalLink>
75
+ </OcmOpenShiftVersion>
76
+ <StaticTextField name="cpuArchitecture" label="CPU architecture" isRequired>
77
+ x86_64
78
+ </StaticTextField>
79
+ </Form>
80
+ </GridItem>
81
+ </Grid>
82
+ </WithErrorBoundary>
83
+ </ClusterWizardStep>
84
+ </Formik>
85
+ );
86
+ };
87
+
88
+ export default BasicStep;
@@ -0,0 +1,123 @@
1
+ import * as React from 'react';
2
+ import ClusterWizardFooter from '../ClusterWizardFooter';
3
+ import { useClusterWizardContext } from '../ClusterWizardContext';
4
+ import {
5
+ ClusterWizardStep,
6
+ DeveloperPreview,
7
+ PULL_SECRET_INFO_LINK,
8
+ singleClusterOperators,
9
+ } from '../../../../common';
10
+ import ClusterWizardNavigation from '../ClusterWizardNavigation';
11
+ import { WithErrorBoundary } from '../../../../common/components/ErrorHandling/WithErrorBoundary';
12
+ import {
13
+ Split,
14
+ SplitItem,
15
+ Alert,
16
+ Grid,
17
+ Text,
18
+ TextContent,
19
+ TextVariants,
20
+ DescriptionList,
21
+ DescriptionListGroup,
22
+ DescriptionListTerm,
23
+ DescriptionListDescription,
24
+ List,
25
+ ListItem,
26
+ ListComponent,
27
+ OrderType,
28
+ } from '@patternfly/react-core';
29
+ import { Formik } from 'formik';
30
+ import { saveAs } from 'file-saver';
31
+ import { useNavigate } from 'react-router-dom-v5-compat';
32
+
33
+ import { getOperatorSpecs } from '../../../../common/components/operators/operatorSpecs';
34
+
35
+ const downloadUrl =
36
+ 'https://mirror.openshift.com/pub/cgw/assisted-installer-disconnected/latest/agent-ove.x86_64.iso';
37
+
38
+ const ReviewStep = () => {
39
+ const { moveBack } = useClusterWizardContext();
40
+ const opSpecs = getOperatorSpecs(() => undefined);
41
+ const navigate = useNavigate();
42
+
43
+ return (
44
+ <Formik
45
+ initialValues={{}}
46
+ onSubmit={() => {
47
+ // nothing to do
48
+ }}
49
+ >
50
+ <ClusterWizardStep
51
+ navigation={<ClusterWizardNavigation />}
52
+ footer={
53
+ <ClusterWizardFooter
54
+ onNext={() => {
55
+ downloadUrl && saveAs(downloadUrl);
56
+ navigate('/cluster-list');
57
+ }}
58
+ onBack={moveBack}
59
+ nextButtonText="Download ISO"
60
+ />
61
+ }
62
+ >
63
+ <WithErrorBoundary title="Failed to load Review step">
64
+ <Grid hasGutter>
65
+ <Split>
66
+ <SplitItem>
67
+ <TextContent>
68
+ <Text component={TextVariants.h2}>Review and download ISO</Text>
69
+ </TextContent>
70
+ </SplitItem>
71
+ <SplitItem>
72
+ <DeveloperPreview />
73
+ </SplitItem>
74
+ </Split>
75
+ <Alert isInline variant="info" title="Discovery ISO boot instructions">
76
+ <List component={ListComponent.ol} type={OrderType.number}>
77
+ <ListItem>Download ISO</ListItem>
78
+ <ListItem>
79
+ Download or copy your pull secret from{' '}
80
+ <a href={PULL_SECRET_INFO_LINK} target="_blank" rel="noopener noreferrer">
81
+ here
82
+ </a>
83
+ </ListItem>
84
+ <ListItem>
85
+ Boot your cluster's machines from this ISO and follow instructions
86
+ </ListItem>
87
+ <ListItem>
88
+ Provide your pull secret inside the installation wizard when requested
89
+ </ListItem>
90
+ </List>
91
+ </Alert>
92
+ <Alert isInline isExpandable variant="info" title="List of available operators">
93
+ <List>
94
+ {singleClusterOperators.map((o) => {
95
+ const operator = Object.values(opSpecs)
96
+ .flatMap((op) => op)
97
+ .find((op) => op.operatorKey === o);
98
+ return <ListItem key={o}>{operator ? operator.title : o}</ListItem>;
99
+ })}
100
+ </List>
101
+ </Alert>
102
+ <DescriptionList isHorizontal>
103
+ <DescriptionListGroup>
104
+ <DescriptionListTerm>OpenShift version</DescriptionListTerm>
105
+ <DescriptionListDescription>4.19</DescriptionListDescription>
106
+ </DescriptionListGroup>
107
+ <DescriptionListGroup>
108
+ <DescriptionListTerm>CPU architecture</DescriptionListTerm>
109
+ <DescriptionListDescription>x86_64</DescriptionListDescription>
110
+ </DescriptionListGroup>
111
+ <DescriptionListGroup>
112
+ <DescriptionListTerm>ISO size</DescriptionListTerm>
113
+ <DescriptionListDescription>approx. 35GB</DescriptionListDescription>
114
+ </DescriptionListGroup>
115
+ </DescriptionList>
116
+ </Grid>
117
+ </WithErrorBoundary>
118
+ </ClusterWizardStep>
119
+ </Formik>
120
+ );
121
+ };
122
+
123
+ export default ReviewStep;
@@ -29,7 +29,9 @@ export type ClusterWizardStepsType =
29
29
  | 'networking'
30
30
  | 'review'
31
31
  | 'custom-manifests'
32
- | 'credentials-download';
32
+ | 'credentials-download'
33
+ | 'disconnected-basic'
34
+ | 'disconnected-review';
33
35
 
34
36
  const wizardStepsOrder: ClusterWizardStepsType[] = [
35
37
  'cluster-details',
@@ -45,6 +47,11 @@ const wizardStepsOrder: ClusterWizardStepsType[] = [
45
47
  'review',
46
48
  ];
47
49
 
50
+ export const disconnectedSteps: ClusterWizardStepsType[] = [
51
+ 'disconnected-basic',
52
+ 'disconnected-review',
53
+ ];
54
+
48
55
  export const ClusterWizardFlowStateNew = 'new';
49
56
  export type ClusterWizardFlowStateType = Cluster['status'] | typeof ClusterWizardFlowStateNew;
50
57
 
@@ -251,6 +258,8 @@ const reviewStepValidationsMap: WizardStepValidationMap = {
251
258
  const credentialsValidationMap = buildEmptyValidationsMap();
252
259
 
253
260
  const customManifestsValidationsMap = buildEmptyValidationsMap();
261
+ const disconnectedReviewValidationsMap = buildEmptyValidationsMap();
262
+ const disconnectedBasicValidationsMap = buildEmptyValidationsMap();
254
263
 
255
264
  export const wizardStepsValidationsMap: WizardStepsValidationMap<ClusterWizardStepsType> = {
256
265
  'cluster-details': clusterDetailsStepValidationsMap,
@@ -264,6 +273,8 @@ export const wizardStepsValidationsMap: WizardStepsValidationMap<ClusterWizardSt
264
273
  networking: networkingStepValidationsMap,
265
274
  review: reviewStepValidationsMap,
266
275
  'credentials-download': credentialsValidationMap,
276
+ 'disconnected-review': disconnectedReviewValidationsMap,
277
+ 'disconnected-basic': disconnectedBasicValidationsMap,
267
278
  };
268
279
 
269
280
  export const allClusterWizardSoftValidationIds =
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@openshift-assisted/locales": "2.44.1",
4
- "@openshift-assisted/types": "2.44.1",
3
+ "@openshift-assisted/locales": "2.44.2",
4
+ "@openshift-assisted/types": "2.44.2",
5
5
  "@openshift-console/dynamic-plugin-sdk": "0.0.3",
6
6
  "@patternfly/patternfly": "5.2.0",
7
7
  "@patternfly/react-code-editor": "5.2.0",
@@ -140,5 +140,5 @@
140
140
  ]
141
141
  }
142
142
  },
143
- "version": "2.44.1"
143
+ "version": "2.44.2"
144
144
  }