@openshift-assisted/ui-lib 2.14.7-cim → 2.15.1-cim

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 (602) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/LabelsSelector.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  5. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
  6. package/build/@types/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.d.ts.map +1 -1
  7. package/build/@types/cim/components/InfraEnv/InfraTableToolbar.d.ts.map +1 -1
  8. package/build/@types/cim/components/common/CpuArchitectureDropdown.d.ts.map +1 -1
  9. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +1 -1
  10. package/build/@types/cim/components/helpers/clusterDeployment.d.ts +1 -1
  11. package/build/@types/cim/components/helpers/versions.d.ts +0 -1
  12. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  13. package/build/@types/cim/index.d.ts +1 -0
  14. package/build/@types/cim/index.d.ts.map +1 -1
  15. package/build/@types/common/api/assisted-service/BundleAPI.d.ts +8 -0
  16. package/build/@types/common/api/assisted-service/BundleAPI.d.ts.map +1 -0
  17. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +1 -0
  18. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  19. package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts +6 -0
  20. package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts.map +1 -0
  21. package/build/@types/common/api/index.d.ts +1 -0
  22. package/build/@types/common/api/index.d.ts.map +1 -1
  23. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  24. package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts +2 -1
  25. package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -1
  26. package/build/@types/common/components/clusterDetail/ClusterCredentials.d.ts.map +1 -1
  27. package/build/@types/common/components/clusterDetail/ClusterProgressItems.d.ts.map +1 -1
  28. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts +2 -3
  29. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
  30. package/build/@types/common/components/clusterDetail/index.d.ts +1 -0
  31. package/build/@types/common/components/clusterDetail/index.d.ts.map +1 -1
  32. package/build/@types/common/components/clusterWizard/ClusterWizardStep.d.ts.map +1 -1
  33. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  34. package/build/@types/common/components/clusterWizard/types.d.ts +2 -2
  35. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  36. package/build/@types/common/components/hosts/DiskRole.d.ts.map +1 -1
  37. package/build/@types/common/components/hosts/HostPropertyValidationPopover.d.ts.map +1 -1
  38. package/build/@types/common/components/hosts/HostRowDetail.d.ts.map +1 -1
  39. package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
  40. package/build/@types/common/components/hosts/HostValidationGroups.d.ts +2 -1
  41. package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
  42. package/build/@types/common/components/hosts/TableToolbar.d.ts.map +1 -1
  43. package/build/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.d.ts +1 -2
  44. package/build/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.d.ts.map +1 -1
  45. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +5 -3
  46. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
  47. package/build/@types/common/components/operators/operatorSpecs.d.ts +22 -0
  48. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -0
  49. package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
  50. package/build/@types/common/components/ui/ClusterEventsToolbar.d.ts.map +1 -1
  51. package/build/@types/common/components/ui/DeveloperPreview.d.ts.map +1 -1
  52. package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts +0 -1
  53. package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts.map +1 -1
  54. package/build/@types/common/components/ui/SimpleDropdown.d.ts +2 -2
  55. package/build/@types/common/components/ui/SimpleDropdown.d.ts.map +1 -1
  56. package/build/@types/common/components/ui/WizardFooter.d.ts +2 -0
  57. package/build/@types/common/components/ui/WizardFooter.d.ts.map +1 -1
  58. package/build/@types/common/components/ui/WizardNavItem.d.ts +1 -1
  59. package/build/@types/common/components/ui/WizardNavItem.d.ts.map +1 -1
  60. package/build/@types/common/components/ui/formik/MultiSelectField.d.ts.map +1 -1
  61. package/build/@types/common/components/ui/formik/types.d.ts +2 -2
  62. package/build/@types/common/components/ui/formik/types.d.ts.map +1 -1
  63. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +1 -1
  64. package/build/@types/common/components/ui/utils.d.ts +1 -1
  65. package/build/@types/common/components/ui/utils.d.ts.map +1 -1
  66. package/build/@types/common/config/constants.d.ts +45 -15
  67. package/build/@types/common/config/constants.d.ts.map +1 -1
  68. package/build/@types/common/config/docs_links.d.ts +21 -2
  69. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  70. package/build/@types/common/hooks/index.d.ts +1 -0
  71. package/build/@types/common/hooks/index.d.ts.map +1 -1
  72. package/build/@types/common/index.d.ts +2 -3
  73. package/build/@types/common/index.d.ts.map +1 -1
  74. package/build/@types/common/selectors/clusterSelectors.d.ts +2 -2
  75. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  76. package/build/@types/common/types/clusters.d.ts +3 -7
  77. package/build/@types/common/types/clusters.d.ts.map +1 -1
  78. package/build/@types/common/types/ui-settings.d.ts +1 -0
  79. package/build/@types/common/types/ui-settings.d.ts.map +1 -1
  80. package/build/@types/common/utils.d.ts +1 -0
  81. package/build/@types/common/utils.d.ts.map +1 -1
  82. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -1
  83. package/build/@types/ocm/components/HostsClusterDetailTab/utils.d.ts.map +1 -1
  84. package/build/@types/ocm/components/SentryErrorMonitorContextProvider.d.ts.map +1 -1
  85. package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +9 -0
  86. package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -0
  87. package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
  88. package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +1 -1
  89. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts.map +1 -1
  90. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterConfiguration/HostInventory.d.ts.map +1 -1
  92. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  93. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  94. package/build/@types/ocm/components/clusterConfiguration/OcmClusterProgressItems.d.ts.map +1 -1
  95. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts +2 -3
  96. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
  97. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts.map +1 -1
  98. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  99. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -1
  100. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +1 -1
  101. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +12 -0
  102. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -0
  103. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts +11 -0
  104. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts.map +1 -0
  105. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +6 -8
  106. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
  107. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
  108. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts +1 -1
  109. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
  110. package/build/@types/ocm/components/clusterConfiguration/review/ReviewStep.d.ts.map +1 -1
  111. package/build/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -1
  112. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts.map +1 -1
  113. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts.map +1 -1
  114. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts.map +1 -1
  115. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  116. package/build/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -1
  117. package/build/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts +1 -0
  118. package/build/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts.map +1 -1
  119. package/build/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts.map +1 -1
  120. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  121. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  122. package/build/@types/ocm/components/clusterWizard/ClusterWizard.d.ts.map +1 -1
  123. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  124. package/build/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts.map +1 -1
  125. package/build/@types/ocm/components/clusterWizard/CredentialsDownload.d.ts +7 -0
  126. package/build/@types/ocm/components/clusterWizard/CredentialsDownload.d.ts.map +1 -0
  127. package/build/@types/ocm/components/clusterWizard/KubeconfigDownload.d.ts +7 -0
  128. package/build/@types/ocm/components/clusterWizard/KubeconfigDownload.d.ts.map +1 -0
  129. package/build/@types/ocm/components/clusterWizard/Operators.d.ts +1 -3
  130. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  131. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +9 -0
  132. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -0
  133. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts +9 -0
  134. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -0
  135. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts +1 -1
  136. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  137. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  138. package/build/@types/ocm/components/clusterWizard/index.d.ts +1 -0
  139. package/build/@types/ocm/components/clusterWizard/index.d.ts.map +1 -1
  140. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +3 -3
  141. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  142. package/build/@types/ocm/components/clusters/ClusterPage.d.ts +2 -1
  143. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  144. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts.map +1 -1
  145. package/build/@types/ocm/components/clusters/index.d.ts +3 -0
  146. package/build/@types/ocm/components/clusters/index.d.ts.map +1 -1
  147. package/build/@types/ocm/components/clusters/utils.d.ts +1 -5
  148. package/build/@types/ocm/components/clusters/utils.d.ts.map +1 -1
  149. package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
  150. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +1 -6
  151. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  152. package/build/@types/ocm/components/hosts/ModalDialogsContext.d.ts +5 -1
  153. package/build/@types/ocm/components/hosts/ModalDialogsContext.d.ts.map +1 -1
  154. package/build/@types/ocm/components/index.d.ts +2 -0
  155. package/build/@types/ocm/components/index.d.ts.map +1 -1
  156. package/build/@types/ocm/components/utils.d.ts +0 -2
  157. package/build/@types/ocm/components/utils.d.ts.map +1 -1
  158. package/build/@types/ocm/hooks/index.d.ts +2 -0
  159. package/build/@types/ocm/hooks/index.d.ts.map +1 -1
  160. package/build/@types/ocm/index.d.ts +1 -0
  161. package/build/@types/ocm/index.d.ts.map +1 -1
  162. package/build/@types/ocm/sentry.d.ts +2 -2
  163. package/build/@types/ocm/sentry.d.ts.map +1 -1
  164. package/build/@types/ocm/services/BundleService.d.ts +6 -0
  165. package/build/@types/ocm/services/BundleService.d.ts.map +1 -0
  166. package/build/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -1
  167. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  168. package/build/@types/ocm/services/OperatorsService.d.ts +1 -9
  169. package/build/@types/ocm/services/OperatorsService.d.ts.map +1 -1
  170. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +1 -0
  171. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -1
  172. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +2 -1
  173. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -1
  174. package/build/cjs/cim/components/ClusterDeployment/LabelsSelector.js +5 -5
  175. package/build/cjs/cim/components/ClusterDeployment/LabelsSelector.js.map +1 -1
  176. package/build/cjs/cim/components/ClusterDeployment/ShortCapacitySummary.js +1 -1
  177. package/build/cjs/cim/components/ClusterDeployment/ShortCapacitySummary.js.map +1 -1
  178. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +29 -28
  179. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  180. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -2
  181. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  182. package/build/cjs/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.js +4 -8
  183. package/build/cjs/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.js.map +1 -1
  184. package/build/cjs/cim/components/InfraEnv/InfraTableToolbar.js +12 -12
  185. package/build/cjs/cim/components/InfraEnv/InfraTableToolbar.js.map +1 -1
  186. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js +2 -2
  187. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js.map +1 -1
  188. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +2 -1
  189. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +1 -1
  190. package/build/cjs/cim/components/helpers/versions.js +3 -7
  191. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  192. package/build/cjs/cim/components/modals/MassApproveAction.js +2 -2
  193. package/build/cjs/cim/components/modals/MassApproveAction.js.map +1 -1
  194. package/build/cjs/cim/index.js +1 -0
  195. package/build/cjs/cim/index.js.map +1 -1
  196. package/build/cjs/common/api/assisted-service/BundleAPI.js +16 -0
  197. package/build/cjs/common/api/assisted-service/BundleAPI.js.map +1 -0
  198. package/build/cjs/common/api/assisted-service/ClustersAPI.js +5 -0
  199. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  200. package/build/cjs/common/api/assisted-service/OperatorsAPI.js +13 -0
  201. package/build/cjs/common/api/assisted-service/OperatorsAPI.js.map +1 -0
  202. package/build/cjs/common/api/index.js +1 -0
  203. package/build/cjs/common/api/index.js.map +1 -1
  204. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +5 -6
  205. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  206. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +6 -2
  207. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  208. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js +1 -1
  209. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js.map +1 -1
  210. package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js +1 -1
  211. package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js.map +1 -1
  212. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +7 -8
  213. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
  214. package/build/cjs/common/components/clusterDetail/index.js +3 -1
  215. package/build/cjs/common/components/clusterDetail/index.js.map +1 -1
  216. package/build/cjs/common/components/clusterWizard/ClusterWizardStep.js +2 -4
  217. package/build/cjs/common/components/clusterWizard/ClusterWizardStep.js.map +1 -1
  218. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +8 -6
  219. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  220. package/build/cjs/common/components/hosts/AITableMemo.js +16 -13
  221. package/build/cjs/common/components/hosts/AITableMemo.js.map +1 -1
  222. package/build/cjs/common/components/hosts/DiskRole.js +5 -5
  223. package/build/cjs/common/components/hosts/DiskRole.js.map +1 -1
  224. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js +12 -9
  225. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js.map +1 -1
  226. package/build/cjs/common/components/hosts/HostRowDetail.js +35 -1
  227. package/build/cjs/common/components/hosts/HostRowDetail.js.map +1 -1
  228. package/build/cjs/common/components/hosts/HostStatus.js +1 -1
  229. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  230. package/build/cjs/common/components/hosts/HostToolbarActions.js +3 -3
  231. package/build/cjs/common/components/hosts/HostToolbarActions.js.map +1 -1
  232. package/build/cjs/common/components/hosts/HostValidationGroups.js +27 -5
  233. package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
  234. package/build/cjs/common/components/hosts/TableToolbar.js +15 -15
  235. package/build/cjs/common/components/hosts/TableToolbar.js.map +1 -1
  236. package/build/cjs/common/components/hosts/utils.js +1 -1
  237. package/build/cjs/common/components/hosts/utils.js.map +1 -1
  238. package/build/cjs/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.js.map +1 -1
  239. package/build/cjs/common/components/operators/operatorSpecs.js +215 -0
  240. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -0
  241. package/build/cjs/common/components/storage/DisksTable.js +14 -10
  242. package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
  243. package/build/cjs/common/components/ui/ClusterEventsToolbar.js +18 -10
  244. package/build/cjs/common/components/ui/ClusterEventsToolbar.js.map +1 -1
  245. package/build/cjs/common/components/ui/DeveloperPreview.js +2 -1
  246. package/build/cjs/common/components/ui/DeveloperPreview.js.map +1 -1
  247. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js +13 -16
  248. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js.map +1 -1
  249. package/build/cjs/common/components/ui/SimpleDropdown.js +4 -5
  250. package/build/cjs/common/components/ui/SimpleDropdown.js.map +1 -1
  251. package/build/cjs/common/components/ui/WizardFooter.js +6 -4
  252. package/build/cjs/common/components/ui/WizardFooter.js.map +1 -1
  253. package/build/cjs/common/components/ui/WizardNavItem.js +2 -2
  254. package/build/cjs/common/components/ui/WizardNavItem.js.map +1 -1
  255. package/build/cjs/common/components/ui/formik/MultiSelectField.js +26 -28
  256. package/build/cjs/common/components/ui/formik/MultiSelectField.js.map +1 -1
  257. package/build/cjs/common/components/ui/utils.js +1 -1
  258. package/build/cjs/common/components/ui/utils.js.map +1 -1
  259. package/build/cjs/common/config/constants.js +42 -60
  260. package/build/cjs/common/config/constants.js.map +1 -1
  261. package/build/cjs/common/config/docs_links.js +43 -5
  262. package/build/cjs/common/config/docs_links.js.map +1 -1
  263. package/build/cjs/common/hooks/index.js +3 -1
  264. package/build/cjs/common/hooks/index.js.map +1 -1
  265. package/build/cjs/common/index.js +2 -3
  266. package/build/cjs/common/index.js.map +1 -1
  267. package/build/cjs/common/selectors/clusterSelectors.js +7 -1
  268. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  269. package/build/cjs/common/types/clusters.js.map +1 -1
  270. package/build/cjs/common/utils.js +6 -1
  271. package/build/cjs/common/utils.js.map +1 -1
  272. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2Wizard.js +2 -2
  273. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2Wizard.js.map +1 -1
  274. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2WizardNav.js +5 -5
  275. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2WizardNav.js.map +1 -1
  276. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +10 -9
  277. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
  278. package/build/cjs/ocm/components/HostsClusterDetailTab/utils.js +8 -4
  279. package/build/cjs/ocm/components/HostsClusterDetailTab/utils.js.map +1 -1
  280. package/build/cjs/ocm/components/SentryErrorMonitorContextProvider.js.map +1 -1
  281. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +70 -0
  282. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -0
  283. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +3 -5
  284. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
  285. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +0 -11
  286. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +1 -1
  287. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +14 -1
  288. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
  289. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js +15 -17
  290. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js.map +1 -1
  291. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
  292. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +5 -7
  293. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  294. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +6 -7
  295. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  296. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
  297. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
  298. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +6 -8
  299. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
  300. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js +6 -8
  301. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js.map +1 -1
  302. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +23 -1
  303. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  304. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +7 -10
  305. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -1
  306. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +91 -0
  307. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -0
  308. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js +23 -0
  309. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js.map +1 -0
  310. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +54 -19
  311. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
  312. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +38 -23
  313. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  314. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +24 -18
  315. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
  316. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js +2 -1
  317. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -1
  318. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js +1 -6
  319. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -1
  320. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js +1 -1
  321. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js.map +1 -1
  322. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsSelect.js +1 -1
  323. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js +1 -1
  324. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js.map +1 -1
  325. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +8 -2
  326. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  327. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js +3 -3
  328. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js.map +1 -1
  329. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +0 -2
  330. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -1
  331. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js +1 -1
  332. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js.map +1 -1
  333. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +11 -11
  334. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  335. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +16 -14
  336. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -1
  337. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js +1 -0
  338. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js.map +1 -1
  339. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +3 -21
  340. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  341. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +8 -0
  342. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  343. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +5 -1
  344. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  345. package/build/cjs/ocm/components/clusterWizard/ClusterWizard.js +3 -0
  346. package/build/cjs/ocm/components/clusterWizard/ClusterWizard.js.map +1 -1
  347. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +2 -3
  348. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  349. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +11 -1
  350. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
  351. package/build/cjs/ocm/components/clusterWizard/ClusterWizardNavigation.js +5 -5
  352. package/build/cjs/ocm/components/clusterWizard/ClusterWizardNavigation.js.map +1 -1
  353. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js +62 -0
  354. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js.map +1 -0
  355. package/build/cjs/ocm/components/clusterWizard/KubeconfigDownload.js +21 -0
  356. package/build/cjs/ocm/components/clusterWizard/KubeconfigDownload.js.map +1 -0
  357. package/build/cjs/ocm/components/clusterWizard/Operators.js +11 -22
  358. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  359. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
  360. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +123 -0
  361. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -0
  362. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +63 -0
  363. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -0
  364. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +33 -22
  365. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  366. package/build/cjs/ocm/components/clusterWizard/constants.js +1 -0
  367. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  368. package/build/cjs/ocm/components/clusterWizard/index.js +3 -1
  369. package/build/cjs/ocm/components/clusterWizard/index.js.map +1 -1
  370. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +10 -6
  371. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  372. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -6
  373. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  374. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +3 -3
  375. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  376. package/build/cjs/ocm/components/clusters/index.js +7 -1
  377. package/build/cjs/ocm/components/clusters/index.js.map +1 -1
  378. package/build/cjs/ocm/components/clusters/utils.js +1 -14
  379. package/build/cjs/ocm/components/clusters/utils.js.map +1 -1
  380. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +0 -1
  381. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
  382. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +85 -61
  383. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  384. package/build/cjs/ocm/components/hosts/ModalDialogsContext.js +1 -0
  385. package/build/cjs/ocm/components/hosts/ModalDialogsContext.js.map +1 -1
  386. package/build/cjs/ocm/components/index.js +2 -0
  387. package/build/cjs/ocm/components/index.js.map +1 -1
  388. package/build/cjs/ocm/components/utils.js +1 -10
  389. package/build/cjs/ocm/components/utils.js.map +1 -1
  390. package/build/cjs/ocm/hooks/index.js +5 -1
  391. package/build/cjs/ocm/hooks/index.js.map +1 -1
  392. package/build/cjs/ocm/hooks/useInfraEnv.js +2 -2
  393. package/build/cjs/ocm/hooks/useInfraEnv.js.map +1 -1
  394. package/build/cjs/ocm/index.js +1 -0
  395. package/build/cjs/ocm/index.js.map +1 -1
  396. package/build/cjs/ocm/sentry.js +1 -1
  397. package/build/cjs/ocm/sentry.js.map +1 -1
  398. package/build/cjs/ocm/services/BundleService.js +20 -0
  399. package/build/cjs/ocm/services/BundleService.js.map +1 -0
  400. package/build/cjs/ocm/services/ClusterDetailsService.js +2 -1
  401. package/build/cjs/ocm/services/ClusterDetailsService.js.map +1 -1
  402. package/build/cjs/ocm/services/ClustersService.js +7 -1
  403. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  404. package/build/cjs/ocm/services/OperatorsService.js +6 -50
  405. package/build/cjs/ocm/services/OperatorsService.js.map +1 -1
  406. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +8 -6
  407. package/lib/cim/components/ClusterDeployment/LabelsSelector.tsx +27 -14
  408. package/lib/cim/components/ClusterDeployment/ShortCapacitySummary.tsx +1 -1
  409. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +59 -47
  410. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +1 -1
  411. package/lib/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.tsx +34 -22
  412. package/lib/cim/components/InfraEnv/InfraTableToolbar.tsx +40 -28
  413. package/lib/cim/components/common/CpuArchitectureDropdown.tsx +5 -2
  414. package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +2 -1
  415. package/lib/cim/components/helpers/versions.ts +1 -5
  416. package/lib/cim/components/modals/MassApproveAction.tsx +1 -1
  417. package/lib/cim/index.ts +1 -0
  418. package/lib/common/api/assisted-service/BundleAPI.ts +18 -0
  419. package/lib/common/api/assisted-service/ClustersAPI.ts +6 -0
  420. package/lib/common/api/assisted-service/OperatorsAPI.ts +13 -0
  421. package/lib/common/api/index.ts +1 -0
  422. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +30 -17
  423. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +9 -1
  424. package/lib/common/components/clusterDetail/ClusterCredentials.tsx +12 -2
  425. package/lib/common/components/clusterDetail/ClusterProgressItems.tsx +1 -4
  426. package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +6 -12
  427. package/lib/common/components/clusterDetail/index.ts +1 -0
  428. package/lib/common/components/clusterWizard/ClusterWizardStep.tsx +2 -4
  429. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +7 -6
  430. package/lib/common/components/clusterWizard/types.ts +3 -1
  431. package/lib/common/components/hosts/AITableMemo.tsx +1 -1
  432. package/lib/common/components/hosts/DiskRole.tsx +23 -17
  433. package/lib/common/components/hosts/HostPropertyValidationPopover.tsx +10 -4
  434. package/lib/common/components/hosts/HostRowDetail.tsx +71 -1
  435. package/lib/common/components/hosts/HostStatus.tsx +1 -2
  436. package/lib/common/components/hosts/HostToolbarActions.tsx +1 -1
  437. package/lib/common/components/hosts/HostValidationGroups.tsx +52 -5
  438. package/lib/common/components/hosts/TableToolbar.tsx +54 -48
  439. package/lib/common/components/hosts/utils.ts +1 -1
  440. package/lib/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.tsx +2 -2
  441. package/lib/common/components/newFeatureSupportLevels/types.ts +16 -9
  442. package/lib/common/components/operators/operatorSpecs.tsx +344 -0
  443. package/lib/common/components/storage/DisksTable.tsx +24 -19
  444. package/lib/common/components/ui/ClusterEventsToolbar.tsx +78 -45
  445. package/lib/common/components/ui/DeveloperPreview.tsx +2 -0
  446. package/lib/common/components/ui/OpenShiftVersionDropdown.tsx +38 -44
  447. package/lib/common/components/ui/SimpleDropdown.tsx +23 -22
  448. package/lib/common/components/ui/WizardFooter.tsx +29 -10
  449. package/lib/common/components/ui/WizardNavItem.tsx +1 -1
  450. package/lib/common/components/ui/formik/MultiSelectField.tsx +98 -58
  451. package/lib/common/components/ui/formik/types.ts +2 -2
  452. package/lib/common/components/ui/utils.ts +4 -2
  453. package/lib/common/config/constants.ts +42 -73
  454. package/lib/common/config/docs_links.ts +87 -6
  455. package/lib/common/hooks/index.ts +1 -0
  456. package/lib/common/index.ts +2 -4
  457. package/lib/common/selectors/clusterSelectors.ts +9 -2
  458. package/lib/common/types/clusters.ts +3 -7
  459. package/lib/common/types/ui-settings.ts +1 -0
  460. package/lib/common/utils.ts +5 -0
  461. package/lib/ocm/components/AddHosts/day2Wizard/Day2Wizard.tsx +1 -1
  462. package/lib/ocm/components/AddHosts/day2Wizard/Day2WizardNav.tsx +5 -5
  463. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +12 -9
  464. package/lib/ocm/components/HostsClusterDetailTab/utils.ts +5 -1
  465. package/lib/ocm/components/SentryErrorMonitorContextProvider.tsx +1 -2
  466. package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +158 -0
  467. package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +26 -20
  468. package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +0 -13
  469. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +24 -1
  470. package/lib/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.tsx +47 -46
  471. package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +0 -1
  472. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +16 -13
  473. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +18 -20
  474. package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +1 -4
  475. package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +5 -10
  476. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.tsx +25 -26
  477. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +29 -1
  478. package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +24 -29
  479. package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +210 -0
  480. package/lib/ocm/components/clusterConfiguration/operators/bundleSpecs.tsx +43 -0
  481. package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +88 -31
  482. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +89 -63
  483. package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +46 -43
  484. package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +2 -1
  485. package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +1 -15
  486. package/lib/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.tsx +1 -1
  487. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsSelect.tsx +1 -1
  488. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.tsx +1 -1
  489. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +13 -8
  490. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.tsx +9 -7
  491. package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +0 -2
  492. package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.ts +1 -1
  493. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +38 -28
  494. package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +18 -19
  495. package/lib/ocm/components/clusterDetail/ClusterDetailsButtonGroup.tsx +2 -0
  496. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +3 -36
  497. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +8 -0
  498. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +7 -1
  499. package/lib/ocm/components/clusterWizard/ClusterWizard.tsx +3 -0
  500. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +1 -3
  501. package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +15 -1
  502. package/lib/ocm/components/clusterWizard/ClusterWizardNavigation.tsx +5 -5
  503. package/lib/ocm/components/clusterWizard/CredentialsDownload.tsx +105 -0
  504. package/lib/ocm/components/clusterWizard/KubeconfigDownload.tsx +39 -0
  505. package/lib/ocm/components/clusterWizard/Operators.tsx +17 -41
  506. package/lib/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
  507. package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +244 -0
  508. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +108 -0
  509. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +48 -36
  510. package/lib/ocm/components/clusterWizard/_wizardTransition.test.ts +25 -0
  511. package/lib/ocm/components/clusterWizard/constants.ts +1 -0
  512. package/lib/ocm/components/clusterWizard/index.ts +1 -0
  513. package/lib/ocm/components/clusterWizard/wizardTransition.ts +12 -7
  514. package/lib/ocm/components/clusters/ClusterPage.tsx +11 -8
  515. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +39 -19
  516. package/lib/ocm/components/clusters/index.ts +3 -0
  517. package/lib/ocm/components/clusters/utils.ts +0 -19
  518. package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +0 -1
  519. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +94 -69
  520. package/lib/ocm/components/hosts/ModalDialogsContext.tsx +8 -1
  521. package/lib/ocm/components/index.ts +2 -0
  522. package/lib/ocm/components/utils.ts +0 -12
  523. package/lib/ocm/hooks/index.ts +2 -0
  524. package/lib/ocm/hooks/useInfraEnv.ts +1 -1
  525. package/lib/ocm/index.ts +1 -0
  526. package/lib/ocm/sentry.ts +2 -1
  527. package/lib/ocm/services/BundleService.ts +14 -0
  528. package/lib/ocm/services/ClusterDetailsService.ts +2 -1
  529. package/lib/ocm/services/ClustersService.ts +11 -3
  530. package/lib/ocm/services/OperatorsService.tsx +4 -76
  531. package/package.json +3 -3
  532. package/build/@types/ocm/components/clusterConfiguration/OcmSNOControlGroup.d.ts +0 -10
  533. package/build/@types/ocm/components/clusterConfiguration/OcmSNOControlGroup.d.ts.map +0 -1
  534. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +0 -8
  535. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +0 -1
  536. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts +0 -8
  537. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +0 -1
  538. package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +0 -8
  539. package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts.map +0 -1
  540. package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts +0 -7
  541. package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts.map +0 -1
  542. package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts +0 -9
  543. package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts.map +0 -1
  544. package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts +0 -8
  545. package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts.map +0 -1
  546. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts +0 -7
  547. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +0 -1
  548. package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts +0 -7
  549. package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts.map +0 -1
  550. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +0 -4
  551. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +0 -1
  552. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts +0 -4
  553. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts.map +0 -1
  554. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts +0 -4
  555. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +0 -1
  556. package/build/@types/ocm/components/clusterDetail/RebootNodeZeroModal.d.ts +0 -7
  557. package/build/@types/ocm/components/clusterDetail/RebootNodeZeroModal.d.ts.map +0 -1
  558. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.css +0 -9
  559. package/build/cjs/ocm/components/clusterConfiguration/OcmSNOControlGroup.js +0 -20
  560. package/build/cjs/ocm/components/clusterConfiguration/OcmSNOControlGroup.js.map +0 -1
  561. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +0 -49
  562. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +0 -1
  563. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +0 -55
  564. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +0 -1
  565. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js +0 -61
  566. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js.map +0 -1
  567. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js +0 -22
  568. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js.map +0 -1
  569. package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js +0 -36
  570. package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js.map +0 -1
  571. package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js +0 -54
  572. package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js.map +0 -1
  573. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +0 -41
  574. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +0 -1
  575. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js +0 -51
  576. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js.map +0 -1
  577. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +0 -46
  578. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +0 -1
  579. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js +0 -48
  580. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js.map +0 -1
  581. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +0 -30
  582. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +0 -1
  583. package/build/cjs/ocm/components/clusterDetail/RebootNodeZeroModal.css +0 -7
  584. package/build/cjs/ocm/components/clusterDetail/RebootNodeZeroModal.js +0 -35
  585. package/build/cjs/ocm/components/clusterDetail/RebootNodeZeroModal.js.map +0 -1
  586. package/lib/common/components/ui/OpenShiftVersionDropdown.css +0 -9
  587. package/lib/ocm/components/clusterConfiguration/OcmSNOControlGroup.tsx +0 -62
  588. package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +0 -108
  589. package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +0 -64
  590. package/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx +0 -130
  591. package/lib/ocm/components/clusterConfiguration/operators/LvmHostRequirements.tsx +0 -38
  592. package/lib/ocm/components/clusterConfiguration/operators/MceCheckbox.tsx +0 -83
  593. package/lib/ocm/components/clusterConfiguration/operators/MceRequirements.tsx +0 -61
  594. package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +0 -79
  595. package/lib/ocm/components/clusterConfiguration/operators/MtvRequirements.tsx +0 -52
  596. package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +0 -74
  597. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.tsx +0 -80
  598. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -36
  599. package/lib/ocm/components/clusterDetail/RebootNodeZeroModal.css +0 -7
  600. package/lib/ocm/components/clusterDetail/RebootNodeZeroModal.tsx +0 -69
  601. /package/build/cjs/{common/styles.css → ocm/components/clusterDetail/ClusterDetailsButtonGroup.css} +0 -0
  602. /package/lib/{common/styles.css → ocm/components/clusterDetail/ClusterDetailsButtonGroup.css} +0 -0
@@ -12,14 +12,12 @@ import { TFunction } from 'i18next';
12
12
  import './OcmOperatorsProgressItem.css';
13
13
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
14
14
  import ClusterProgressItem from '../../../common/components/clusterDetail/ClusterProgressItem';
15
- import { operatorLabels, OperatorName } from '../../../common';
16
- import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
17
15
  import {
18
- Cluster,
19
16
  MonitoredOperator,
20
17
  MonitoredOperatorsList,
21
18
  OperatorStatus,
22
19
  } from '@openshift-assisted/types/assisted-installer-service';
20
+ import { useOperatorSpecs } from '../../../common/components/operators/operatorSpecs';
23
21
 
24
22
  export function getAggregatedStatus(operators: MonitoredOperatorsList) {
25
23
  const operatorStates: (OperatorStatus | 'pending')[] = operators.map(
@@ -74,7 +72,6 @@ export function getOperatorsIcon(status: OperatorStatus | 'pending') {
74
72
 
75
73
  type OperatorListProps = {
76
74
  operators: MonitoredOperatorsList;
77
- openshiftVersion: Cluster['openshiftVersion'];
78
75
  };
79
76
 
80
77
  type OperatorsPopoverProps = OperatorListProps & {
@@ -83,7 +80,7 @@ type OperatorsPopoverProps = OperatorListProps & {
83
80
 
84
81
  const OperatorsPopover = ({ operators, children }: OperatorsPopoverProps) => {
85
82
  const { t } = useTranslation();
86
- const featureSupportLevel = useNewFeatureSupportLevel();
83
+ const opSpecs = useOperatorSpecs();
87
84
 
88
85
  return (
89
86
  <Popover
@@ -95,9 +92,7 @@ const OperatorsPopover = ({ operators, children }: OperatorsPopoverProps) => {
95
92
  if (operator.status === 'available') {
96
93
  status = 'installed';
97
94
  }
98
- const name =
99
- operatorLabels(t, featureSupportLevel)[operator.name as OperatorName] ||
100
- operator.name;
95
+ const name = opSpecs[operator.name as string]?.title || operator.name;
101
96
  return (
102
97
  <ListItem key={operator.name} title={operator.statusInfo}>
103
98
  {name} {status}
@@ -114,14 +109,14 @@ const OperatorsPopover = ({ operators, children }: OperatorsPopoverProps) => {
114
109
  );
115
110
  };
116
111
 
117
- const OcmOperatorsProgressItem = ({ operators, openshiftVersion }: OperatorListProps) => {
112
+ const OcmOperatorsProgressItem = ({ operators }: OperatorListProps) => {
118
113
  const { t } = useTranslation();
119
114
  const icon = getOperatorsIcon(getAggregatedStatus(operators));
120
115
  const label = getOperatorsLabel(operators, t);
121
116
  return (
122
117
  <ClusterProgressItem icon={icon}>
123
118
  <>
124
- <OperatorsPopover operators={operators} openshiftVersion={openshiftVersion}>
119
+ <OperatorsPopover operators={operators}>
125
120
  <Button variant={ButtonVariant.link} isInline data-testid="operators-progress-item">
126
121
  {t('ai:Operators')}
127
122
  </Button>
@@ -1,7 +1,12 @@
1
1
  import React from 'react';
2
- import { HelperText, FormGroup } from '@patternfly/react-core';
3
- import { DropdownItem, DropdownToggle, Dropdown } from '@patternfly/react-core/deprecated';
4
- import { CaretDownIcon } from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
2
+ import {
3
+ HelperText,
4
+ FormGroup,
5
+ Dropdown,
6
+ DropdownItem,
7
+ MenuToggle,
8
+ MenuToggleElement,
9
+ } from '@patternfly/react-core';
5
10
  import { useField } from 'formik';
6
11
  import { getFieldId } from '../../../../../common/components/ui/formik';
7
12
  import { PopoverIcon } from '../../../../../common';
@@ -40,40 +45,34 @@ export const FolderDropdown = ({ name }: FolderDropdownProps) => {
40
45
  const [isOpen, setOpen] = React.useState(false);
41
46
  const fieldId = getFieldId(name, 'input');
42
47
 
43
- const onSelect = React.useCallback(
44
- (event?: React.SyntheticEvent<HTMLDivElement>) => {
45
- setValue(event?.currentTarget.id as string);
46
- setOpen(false);
47
- },
48
- [setOpen, setValue],
49
- );
48
+ const onSelect = (event?: React.MouseEvent<Element, MouseEvent>): void => {
49
+ setValue(event?.currentTarget.id as string);
50
+ setOpen(false);
51
+ };
50
52
 
51
- const toggle = React.useMemo(
52
- () => (
53
- <DropdownToggle
54
- onToggle={(_event, val) => setOpen(val)}
55
- toggleIndicator={CaretDownIcon}
56
- isText
57
- className="pf-v5-u-w-100"
58
- >
59
- {value || 'manifests'}
60
- </DropdownToggle>
61
- ),
62
- [setOpen, value],
53
+ const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
54
+ <MenuToggle
55
+ ref={toggleRef}
56
+ onClick={() => setOpen(!isOpen)}
57
+ isExpanded={isOpen}
58
+ className="pf-v5-u-w-100"
59
+ >
60
+ {value || 'manifests'}
61
+ </MenuToggle>
63
62
  );
64
63
 
65
64
  return (
66
65
  <FormGroup fieldId={fieldId} label={<FolderLabel />} isRequired>
67
66
  <Dropdown
68
67
  {...field}
69
- name={name}
70
68
  id={fieldId}
69
+ onOpenChange={() => setOpen(!isOpen)}
71
70
  onSelect={onSelect}
72
- dropdownItems={dropdownItems}
73
71
  toggle={toggle}
74
72
  isOpen={isOpen}
75
- className="pf-v5-u-w-100"
76
- />
73
+ >
74
+ {dropdownItems}
75
+ </Dropdown>
77
76
  <HelperText style={{ display: 'inherit' }}>
78
77
  {'Manifests can be placed in "manifests" or "openshift" directories.'}
79
78
  </HelperText>
@@ -16,6 +16,7 @@ import {
16
16
  SecurityFields,
17
17
  useAlerts,
18
18
  useFormikAutoSave,
19
+ ClustersAPI,
19
20
  } from '../../../../common';
20
21
  import { useDefaultConfiguration } from '../ClusterDefaultConfigurationContext';
21
22
  import { useClusterWizardContext } from '../../clusterWizard/ClusterWizardContext';
@@ -45,6 +46,7 @@ import {
45
46
  V2ClusterUpdateParams,
46
47
  } from '@openshift-assisted/types/assisted-installer-service';
47
48
  import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
49
+ import { useFeature } from '../../../hooks/use-feature';
48
50
 
49
51
  const NetworkConfigurationForm: React.FC<{
50
52
  cluster: Cluster;
@@ -65,6 +67,9 @@ const NetworkConfigurationForm: React.FC<{
65
67
  useFormikContext<NetworkConfigurationValues>();
66
68
  const isAutoSaveRunning = useFormikAutoSave();
67
69
  const errorFields = getFormikErrorFields(errors, touched);
70
+ const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
71
+ const { addAlert } = useAlerts();
72
+ const dispatch = useDispatch();
68
73
 
69
74
  // DHCP allocation is currently not supported for Nutanix hosts
70
75
  // https://issues.redhat.com/browse/MGMT-12382
@@ -79,6 +84,29 @@ const NetworkConfigurationForm: React.FC<{
79
84
  }
80
85
  }, [isHostsPlatformTypeNutanix, setFieldValue, values.vipDhcpAllocation]);
81
86
 
87
+ const onNext = React.useCallback(async () => {
88
+ if (isSingleClusterFeatureEnabled) {
89
+ try {
90
+ await ClustersAPI.updateInstallConfig(
91
+ cluster.id,
92
+ JSON.stringify(JSON.stringify({ featureSet: 'TechPreviewNoUpgrade' })),
93
+ );
94
+ } catch (e) {
95
+ handleApiError(e, () =>
96
+ addAlert({
97
+ title: 'Failed to update install-config',
98
+ message: getApiErrorMessage(e),
99
+ }),
100
+ );
101
+ if (isUnknownServerError(e as Error)) {
102
+ dispatch(setServerUpdateError());
103
+ }
104
+ return;
105
+ }
106
+ }
107
+ clusterWizardContext.moveNext();
108
+ }, [addAlert, cluster.id, clusterWizardContext, dispatch, isSingleClusterFeatureEnabled]);
109
+
82
110
  const footer = (
83
111
  <ClusterWizardFooter
84
112
  cluster={cluster}
@@ -91,7 +119,7 @@ const NetworkConfigurationForm: React.FC<{
91
119
  !isValid ||
92
120
  !canNextNetwork({ cluster })
93
121
  }
94
- onNext={() => clusterWizardContext.moveNext()}
122
+ onNext={() => void onNext()}
95
123
  onBack={() => clusterWizardContext.moveBack()}
96
124
  isBackDisabled={isSubmitting || isAutoSaveRunning}
97
125
  />
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { DropdownItem, DropdownToggle, Dropdown } from '@patternfly/react-core/deprecated';
3
- import { CaretDownIcon } from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
2
+ import { Dropdown, DropdownItem, MenuToggle, MenuToggleElement } from '@patternfly/react-core';
4
3
  import { useField } from 'formik';
5
4
  import { getFieldId, HostSubnet, NO_SUBNET_SET } from '../../../../common';
6
5
 
@@ -64,46 +63,42 @@ export const SubnetsDropdown = ({ name, machineSubnets, isDisabled }: SubnetsDro
64
63
  }, []);
65
64
 
66
65
  const dropdownItems = itemsSubnets.map(({ value, label, isDisabled }) => (
67
- <DropdownItem key={value} id={value} isDisabled={isDisabled}>
66
+ <DropdownItem key={value} id={value} isDisabled={isDisabled} value={value}>
68
67
  {label}
69
68
  </DropdownItem>
70
69
  ));
71
70
 
72
- const onSelect = React.useCallback(
73
- (event?: React.SyntheticEvent<HTMLDivElement>) => {
74
- const currentValue = event?.currentTarget.innerText ?? currentDisplayValue;
75
- setCurrentDisplayValue(currentValue);
76
- setValue(event?.currentTarget.id);
77
- setOpen(false);
78
- },
79
- [currentDisplayValue, setValue],
80
- );
71
+ const onSelect = (
72
+ event?: React.MouseEvent<Element, MouseEvent>,
73
+ value?: string | number,
74
+ ): void => {
75
+ setCurrentDisplayValue(value as string);
76
+ setValue(event?.currentTarget.id);
77
+ setOpen(false);
78
+ };
81
79
 
82
- const toggle = React.useMemo(
83
- () => (
84
- <DropdownToggle
85
- onToggle={(_event, val) => setOpen(!isDisabled && val)}
86
- toggleIndicator={CaretDownIcon}
87
- isDisabled={isDisabled}
88
- isText
89
- className="pf-v5-u-w-100"
90
- >
91
- {currentDisplayValue}
92
- </DropdownToggle>
93
- ),
94
- [setOpen, currentDisplayValue, isDisabled],
80
+ const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
81
+ <MenuToggle
82
+ ref={toggleRef}
83
+ onClick={() => setOpen(!isOpen)}
84
+ isExpanded={isOpen}
85
+ isDisabled={isDisabled}
86
+ className="pf-v5-u-w-100"
87
+ >
88
+ {currentDisplayValue}
89
+ </MenuToggle>
95
90
  );
96
91
 
97
92
  return (
98
93
  <Dropdown
99
94
  {...field}
100
- name={name}
101
95
  id={fieldId}
96
+ onOpenChange={() => setOpen(!isOpen)}
102
97
  onSelect={onSelect}
103
- dropdownItems={dropdownItems}
104
98
  toggle={toggle}
105
99
  isOpen={isOpen}
106
- className="pf-v5-u-w-100"
107
- />
100
+ >
101
+ {dropdownItems}
102
+ </Dropdown>
108
103
  );
109
104
  };
@@ -0,0 +1,210 @@
1
+ import * as React from 'react';
2
+ import {
3
+ Checkbox,
4
+ FormGroup,
5
+ HelperText,
6
+ HelperTextItem,
7
+ List,
8
+ ListItem,
9
+ Stack,
10
+ StackItem,
11
+ Tooltip,
12
+ } from '@patternfly/react-core';
13
+ import { useFormikContext } from 'formik';
14
+ import { useSelector } from 'react-redux';
15
+ import {
16
+ Bundle,
17
+ Cluster,
18
+ PreflightHardwareRequirements,
19
+ } from '@openshift-assisted/types/assisted-installer-service';
20
+ import {
21
+ selectCurrentClusterPermissionsState,
22
+ selectIsCurrentClusterSNO,
23
+ } from '../../../store/slices/current-cluster/selectors';
24
+ import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
25
+ import { getFieldId, OperatorsValues, PopoverIcon } from '../../../../common';
26
+ import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
27
+ import { getNewOperators } from './utils';
28
+ import {
29
+ OperatorSpec,
30
+ useOperatorSpecs,
31
+ } from '../../../../common/components/operators/operatorSpecs';
32
+
33
+ const OperatorRequirements = ({
34
+ operatorId,
35
+ preflightRequirements,
36
+ Requirements,
37
+ cluster,
38
+ }: {
39
+ cluster: Cluster;
40
+ operatorId: string;
41
+ preflightRequirements: PreflightHardwareRequirements | undefined;
42
+ Requirements?: React.ComponentType<{
43
+ cluster: Cluster;
44
+ }>;
45
+ }) => {
46
+ const isSingleNode = useSelector(selectIsCurrentClusterSNO);
47
+
48
+ const operator = preflightRequirements?.operators?.find(
49
+ (operatorRequirements) => operatorRequirements.operatorName === operatorId,
50
+ );
51
+
52
+ const workerRequirements = operator?.requirements?.worker?.quantitative;
53
+ const masterRequirements = operator?.requirements?.master?.quantitative;
54
+
55
+ const hasWorkerRequirements = !!Object.keys(workerRequirements || {}).length;
56
+ const hasMasterRequirements = !!Object.keys(masterRequirements || {}).length;
57
+
58
+ if (!hasWorkerRequirements && !hasMasterRequirements && !Requirements) {
59
+ return (
60
+ <PopoverIcon
61
+ component={'a'}
62
+ id={operatorId}
63
+ bodyContent="No additional requirements needed"
64
+ />
65
+ );
66
+ }
67
+
68
+ return (
69
+ <PopoverIcon
70
+ component={'a'}
71
+ headerContent="Additional requirements"
72
+ id={operatorId}
73
+ bodyContent={
74
+ <Stack hasGutter>
75
+ {Requirements && (
76
+ <StackItem>
77
+ <Requirements cluster={cluster} />
78
+ </StackItem>
79
+ )}
80
+ <StackItem>
81
+ <List>
82
+ {!isSingleNode && hasWorkerRequirements && (
83
+ <ListItem>
84
+ Each worker node requires an additional {workerRequirements?.ramMib || 360} MiB of
85
+ memory {workerRequirements?.diskSizeGb ? ',' : ' and'}{' '}
86
+ {workerRequirements?.cpuCores || 2} CPU cores
87
+ {workerRequirements?.diskSizeGb
88
+ ? ` and ${workerRequirements?.diskSizeGb} storage space`
89
+ : ''}
90
+ </ListItem>
91
+ )}
92
+ {hasMasterRequirements && (
93
+ <ListItem>
94
+ Each control plane node requires an additional {masterRequirements?.ramMib || 150}{' '}
95
+ MiB of memory {masterRequirements?.diskSizeGb ? ',' : ' and'}{' '}
96
+ {masterRequirements?.cpuCores || 4} CPU cores
97
+ {masterRequirements?.diskSizeGb
98
+ ? ` and ${masterRequirements?.diskSizeGb} storage space`
99
+ : ''}
100
+ </ListItem>
101
+ )}
102
+ </List>
103
+ </StackItem>
104
+ </Stack>
105
+ }
106
+ />
107
+ );
108
+ };
109
+
110
+ const OperatorCheckbox = ({
111
+ bundles,
112
+ cluster,
113
+ operatorId,
114
+ title,
115
+ featureId,
116
+ notStandalone,
117
+ Description,
118
+ Requirements,
119
+ openshiftVersion,
120
+ preflightRequirements,
121
+ }: {
122
+ bundles: Bundle[];
123
+ cluster: Cluster;
124
+ operatorId: string;
125
+ openshiftVersion?: string;
126
+ preflightRequirements: PreflightHardwareRequirements | undefined;
127
+ } & OperatorSpec) => {
128
+ const { getFeatureSupportLevel, getFeatureDisabledReason } = useNewFeatureSupportLevel();
129
+ const opSpecs = useOperatorSpecs();
130
+
131
+ const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
132
+ const { values, setFieldValue } = useFormikContext<OperatorsValues>();
133
+ const fieldId = getFieldId(operatorId, 'input');
134
+ const supportLevel = getFeatureSupportLevel(featureId);
135
+
136
+ const isInBundle = values.selectedBundles.some(
137
+ (sb) => !!bundles.find((b) => b.id === sb)?.operators?.includes(operatorId),
138
+ );
139
+
140
+ const isChecked = values.selectedOperators.includes(operatorId) || isInBundle;
141
+
142
+ const parentOperator = preflightRequirements?.operators?.find((op) =>
143
+ op.dependencies?.includes(operatorId),
144
+ );
145
+
146
+ let parentOperatorName = '';
147
+ if (
148
+ parentOperator?.operatorName &&
149
+ values.selectedOperators.includes(parentOperator.operatorName)
150
+ ) {
151
+ parentOperatorName = opSpecs[parentOperator.operatorName]?.title || parentOperator.operatorName;
152
+ }
153
+
154
+ const disabledReason = isInBundle
155
+ ? 'This operator is part of a bundle and cannot be deselected.'
156
+ : notStandalone
157
+ ? 'This operator cannot be installed as a standalone'
158
+ : parentOperatorName
159
+ ? `This operator is a dependency of ${parentOperatorName}`
160
+ : getFeatureDisabledReason(featureId);
161
+
162
+ return (
163
+ <FormGroup fieldId={fieldId} id={`form-control__${fieldId}`}>
164
+ <Checkbox
165
+ id={fieldId}
166
+ label={
167
+ <>
168
+ <Tooltip hidden={!disabledReason} content={disabledReason}>
169
+ <span>{title} </span>
170
+ </Tooltip>
171
+ <OperatorRequirements
172
+ operatorId={operatorId}
173
+ preflightRequirements={preflightRequirements}
174
+ Requirements={Requirements}
175
+ cluster={cluster}
176
+ />
177
+ <NewFeatureSupportLevelBadge featureId={featureId} supportLevel={supportLevel} />
178
+ </>
179
+ }
180
+ aria-describedby={`${fieldId}-helper`}
181
+ isChecked={isChecked}
182
+ onChange={(_, checked) => {
183
+ setFieldValue(
184
+ 'selectedOperators',
185
+ getNewOperators(
186
+ values.selectedOperators,
187
+ operatorId,
188
+ preflightRequirements,
189
+ checked,
190
+ opSpecs,
191
+ ),
192
+ );
193
+ }}
194
+ isDisabled={isViewerMode || !!disabledReason}
195
+ description={
196
+ !!Description && (
197
+ <HelperText>
198
+ <HelperTextItem variant="indeterminate">
199
+ <Description openshiftVersion={openshiftVersion} />
200
+ </HelperTextItem>
201
+ </HelperText>
202
+ )
203
+ }
204
+ data-testid={`operator-checkbox-${operatorId}`}
205
+ />
206
+ </FormGroup>
207
+ );
208
+ };
209
+
210
+ export default OperatorCheckbox;
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import { List, ListItem } from '@patternfly/react-core';
3
+
4
+ export type BundleSpec = {
5
+ noSNO?: boolean;
6
+ incompatibleBundles?: string[];
7
+ Description: React.ComponentType;
8
+ docsLink?: string;
9
+ };
10
+
11
+ export const bundleSpecs: { [key: string]: BundleSpec } = {
12
+ virtualization: {
13
+ noSNO: true,
14
+ Description: () => (
15
+ <List>
16
+ <ListItem>
17
+ Enabled CPU virtualization support in BIOS (Intel-VT / AMD-V) on all nodes.
18
+ </ListItem>
19
+ <ListItem>
20
+ Each control plane node requires an additional 1024 MiB of memory and 3 CPU cores.
21
+ </ListItem>
22
+ <ListItem>
23
+ Each worker node requires an additional 1024 MiB of memory and 5 CPU cores.
24
+ </ListItem>
25
+ <ListItem>
26
+ Additional resources may be required to support the selected storage operator.
27
+ </ListItem>
28
+ </List>
29
+ ),
30
+ },
31
+ 'openshift-ai': {
32
+ noSNO: true,
33
+ incompatibleBundles: [],
34
+ Description: () => (
35
+ <List>
36
+ <ListItem>
37
+ NVIDIA GPU, AMD GPU and Kernel Module Management may or may not be installed based on the
38
+ GPU discovered on your hosts.
39
+ </ListItem>
40
+ </List>
41
+ ),
42
+ },
43
+ };
@@ -1,38 +1,95 @@
1
1
  import {
2
- OPERATOR_NAME_LVM,
3
- FeatureSupportLevelData,
4
- ExposedOperatorName,
5
- OPERATOR_NAME_LVMS,
6
- } from '../../../../common';
7
- import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
8
-
9
- export const getActualLVMOperatorName = ({
10
- openshiftVersion,
11
- featureSupportLevel,
12
- operator = OPERATOR_NAME_LVM,
13
- }: {
14
- openshiftVersion: Cluster['openshiftVersion'];
15
- featureSupportLevel: FeatureSupportLevelData;
16
- operator?: ExposedOperatorName;
17
- }) => {
18
- if (
19
- operator === OPERATOR_NAME_LVM &&
20
- featureSupportLevel.getFeatureSupportLevel(openshiftVersion || '', 'LVM') === 'supported'
21
- ) {
22
- return OPERATOR_NAME_LVMS;
2
+ Bundle,
3
+ PreflightHardwareRequirements,
4
+ } from '@openshift-assisted/types/assisted-installer-service';
5
+ import { OperatorSpec } from '../../../../common/components/operators/operatorSpecs';
6
+
7
+ const getOperatorDependencies = (
8
+ operatorId: string,
9
+ preflightRequirements: PreflightHardwareRequirements | undefined,
10
+ dependencies: Set<string> = new Set(),
11
+ ) => {
12
+ const originalSize = dependencies.size;
13
+ const deps =
14
+ preflightRequirements?.operators?.find(({ operatorName }) => operatorName === operatorId)
15
+ ?.dependencies || [];
16
+
17
+ deps.forEach((dep) => dependencies.add(dep));
18
+
19
+ if (originalSize !== dependencies.size) {
20
+ // add deps of new deps
21
+ deps.forEach((op) => {
22
+ getOperatorDependencies(op, preflightRequirements, dependencies);
23
+ });
24
+ }
25
+ return [...dependencies];
26
+ };
27
+
28
+ export const getNewOperators = (
29
+ currentOperators: string[],
30
+ operatorId: string,
31
+ preflightRequirements: PreflightHardwareRequirements | undefined,
32
+ add: boolean,
33
+ opSpecs: { [key: string]: OperatorSpec },
34
+ ): string[] => {
35
+ const dependencies = getOperatorDependencies(operatorId, preflightRequirements);
36
+
37
+ if (add) {
38
+ return [...new Set([...currentOperators, ...dependencies, operatorId])];
23
39
  }
24
40
 
25
- return operator;
41
+ const newOperators = currentOperators.filter((op) => op !== operatorId);
42
+ // uncheck unneeded not-standalone dependencies too
43
+ const notStandaloneDeps = dependencies
44
+ .filter((dep) => opSpecs[dep]?.notStandalone)
45
+ .filter((dep) =>
46
+ // some other operator may still depend on the not-standalone operator
47
+ newOperators.every((op) => !getOperatorDependencies(op, preflightRequirements).includes(dep)),
48
+ );
49
+
50
+ return currentOperators.filter((op) => op !== operatorId && !notStandaloneDeps.includes(op));
51
+ };
52
+
53
+ const getBundleOperators = (
54
+ bundle: Bundle,
55
+ preflightRequirements: PreflightHardwareRequirements | undefined,
56
+ ) => {
57
+ const bundleOperators = new Set(bundle.operators || []);
58
+ bundle.operators?.forEach((op) => {
59
+ getOperatorDependencies(op, preflightRequirements).forEach((dep) => bundleOperators.add(dep));
60
+ });
61
+ return [...bundleOperators];
26
62
  };
27
63
 
28
- export const getOdfLvmsText = (isSingleNode: boolean, OPCVersionGreaterThan4_15: boolean) => {
29
- if (OPCVersionGreaterThan4_15) {
30
- return 'OpenShift Data Foundation (recommended for creating additional on-premise clusters), Logical Volume Manager Storage or another persistent storage service';
31
- } else {
32
- if (isSingleNode) {
33
- return 'Logical Volume Manager Storage or another persistent storage service';
34
- } else {
35
- return 'OpenShift Data Foundation (recommended for creating additional on-premise clusters) or another persistent storage service';
36
- }
64
+ export const getNewBundleOperators = (
65
+ currentOperators: string[],
66
+ currentBundles: string[],
67
+ allBundles: Bundle[],
68
+ newBundle: Bundle,
69
+ preflightRequirements: PreflightHardwareRequirements | undefined,
70
+ add: boolean,
71
+ ): string[] => {
72
+ const newBundleOperators = getBundleOperators(newBundle, preflightRequirements);
73
+
74
+ if (add) {
75
+ return [...new Set([...currentOperators, ...newBundleOperators])];
37
76
  }
77
+
78
+ const newBundles = currentBundles.filter((b) => b !== newBundle.id);
79
+ const operatorsToKeep = [
80
+ ...newBundles.reduce((acc, bundleId) => {
81
+ const bundle = allBundles.find(({ id }) => id === bundleId);
82
+ if (bundle) {
83
+ const bundleOperators = getBundleOperators(bundle, preflightRequirements);
84
+ bundleOperators.forEach((op) => {
85
+ acc.add(op);
86
+ });
87
+ }
88
+ return acc;
89
+ }, new Set<string>()),
90
+ ];
91
+
92
+ const operatorsToRemove = newBundleOperators.filter((op) => !operatorsToKeep.includes(op));
93
+
94
+ return currentOperators.filter((op) => !operatorsToRemove.includes(op));
38
95
  };