@flightctl/ui-components 1.1.0-rc1 → 1.1.0-rc3

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 (306) hide show
  1. package/dist/src/components/Repository/CreateRepository/CreateRepositoryForm.css +5 -1
  2. package/dist/types/imagebuilder/index.d.ts +2 -0
  3. package/dist/types/imagebuilder/index.d.ts.map +1 -1
  4. package/dist/types/imagebuilder/index.js +3 -1
  5. package/dist/types/imagebuilder/index.js.map +1 -1
  6. package/dist/types/imagebuilder/models/ApiVersion.d.ts +8 -0
  7. package/dist/types/imagebuilder/models/ApiVersion.d.ts.map +1 -0
  8. package/dist/types/imagebuilder/models/ApiVersion.js +16 -0
  9. package/dist/types/imagebuilder/models/ApiVersion.js.map +1 -0
  10. package/dist/types/imagebuilder/models/ImageBuild.d.ts +2 -4
  11. package/dist/types/imagebuilder/models/ImageBuild.d.ts.map +1 -1
  12. package/dist/types/imagebuilder/models/ImageBuildList.d.ts +2 -4
  13. package/dist/types/imagebuilder/models/ImageBuildList.d.ts.map +1 -1
  14. package/dist/types/imagebuilder/models/ImageExport.d.ts +2 -4
  15. package/dist/types/imagebuilder/models/ImageExport.d.ts.map +1 -1
  16. package/dist/types/imagebuilder/models/ImageExportList.d.ts +2 -4
  17. package/dist/types/imagebuilder/models/ImageExportList.d.ts.map +1 -1
  18. package/dist/types/imagebuilder/models/Status.d.ts +28 -0
  19. package/dist/types/imagebuilder/models/Status.d.ts.map +1 -0
  20. package/dist/types/imagebuilder/models/Status.js +3 -0
  21. package/dist/types/imagebuilder/models/Status.js.map +1 -0
  22. package/dist/types/index.d.ts +8 -0
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/types/index.js +3 -1
  25. package/dist/types/index.js.map +1 -1
  26. package/dist/types/models/ApiVersion.d.ts +9 -0
  27. package/dist/types/models/ApiVersion.d.ts.map +1 -0
  28. package/dist/types/models/ApiVersion.js +17 -0
  29. package/dist/types/models/ApiVersion.js.map +1 -0
  30. package/dist/types/models/ApplicationProviderBase.d.ts +12 -0
  31. package/dist/types/models/ApplicationProviderBase.d.ts.map +1 -0
  32. package/dist/types/models/ApplicationProviderBase.js +3 -0
  33. package/dist/types/models/ApplicationProviderBase.js.map +1 -0
  34. package/dist/types/models/ApplicationProviderSpec.d.ts +5 -15
  35. package/dist/types/models/ApplicationProviderSpec.d.ts.map +1 -1
  36. package/dist/types/models/ApplicationUser.d.ts +7 -0
  37. package/dist/types/models/ApplicationUser.d.ts.map +1 -0
  38. package/dist/types/models/ApplicationUser.js +3 -0
  39. package/dist/types/models/ApplicationUser.js.map +1 -0
  40. package/dist/types/models/AuthConfig.d.ts +2 -4
  41. package/dist/types/models/AuthConfig.d.ts.map +1 -1
  42. package/dist/types/models/AuthProvider.d.ts +2 -4
  43. package/dist/types/models/AuthProvider.d.ts.map +1 -1
  44. package/dist/types/models/AuthProviderList.d.ts +2 -4
  45. package/dist/types/models/AuthProviderList.d.ts.map +1 -1
  46. package/dist/types/models/CertificateSigningRequest.d.ts +2 -4
  47. package/dist/types/models/CertificateSigningRequest.d.ts.map +1 -1
  48. package/dist/types/models/CertificateSigningRequestList.d.ts +2 -4
  49. package/dist/types/models/CertificateSigningRequestList.d.ts.map +1 -1
  50. package/dist/types/models/ComposeApplication.d.ts +7 -0
  51. package/dist/types/models/ComposeApplication.d.ts.map +1 -0
  52. package/dist/types/models/ComposeApplication.js +3 -0
  53. package/dist/types/models/ComposeApplication.js.map +1 -0
  54. package/dist/types/models/ContainerApplication.d.ts +18 -0
  55. package/dist/types/models/ContainerApplication.d.ts.map +1 -0
  56. package/dist/types/models/ContainerApplication.js +3 -0
  57. package/dist/types/models/ContainerApplication.js.map +1 -0
  58. package/dist/types/models/ContainerApplicationProperties.d.ts +13 -0
  59. package/dist/types/models/ContainerApplicationProperties.d.ts.map +1 -0
  60. package/dist/types/models/ContainerApplicationProperties.js +3 -0
  61. package/dist/types/models/ContainerApplicationProperties.js.map +1 -0
  62. package/dist/types/models/Device.d.ts +2 -4
  63. package/dist/types/models/Device.d.ts.map +1 -1
  64. package/dist/types/models/DeviceList.d.ts +2 -4
  65. package/dist/types/models/DeviceList.d.ts.map +1 -1
  66. package/dist/types/models/EnrollmentRequest.d.ts +2 -4
  67. package/dist/types/models/EnrollmentRequest.d.ts.map +1 -1
  68. package/dist/types/models/EnrollmentRequestList.d.ts +2 -4
  69. package/dist/types/models/EnrollmentRequestList.d.ts.map +1 -1
  70. package/dist/types/models/Event.d.ts +2 -4
  71. package/dist/types/models/Event.d.ts.map +1 -1
  72. package/dist/types/models/Event.js.map +1 -1
  73. package/dist/types/models/EventList.d.ts +2 -4
  74. package/dist/types/models/EventList.d.ts.map +1 -1
  75. package/dist/types/models/Fleet.d.ts +2 -4
  76. package/dist/types/models/Fleet.d.ts.map +1 -1
  77. package/dist/types/models/FleetList.d.ts +2 -4
  78. package/dist/types/models/FleetList.d.ts.map +1 -1
  79. package/dist/types/models/HelmApplication.d.ts +20 -0
  80. package/dist/types/models/HelmApplication.d.ts.map +1 -0
  81. package/dist/types/models/HelmApplication.js +3 -0
  82. package/dist/types/models/HelmApplication.js.map +1 -0
  83. package/dist/types/models/ImageApplicationProviderSpec.d.ts +2 -22
  84. package/dist/types/models/ImageApplicationProviderSpec.d.ts.map +1 -1
  85. package/dist/types/models/InlineApplicationProviderSpec.d.ts +2 -3
  86. package/dist/types/models/InlineApplicationProviderSpec.d.ts.map +1 -1
  87. package/dist/types/models/Organization.d.ts +2 -4
  88. package/dist/types/models/Organization.d.ts.map +1 -1
  89. package/dist/types/models/OrganizationList.d.ts +2 -4
  90. package/dist/types/models/OrganizationList.d.ts.map +1 -1
  91. package/dist/types/models/QuadletApplication.d.ts +8 -0
  92. package/dist/types/models/QuadletApplication.d.ts.map +1 -0
  93. package/dist/types/models/QuadletApplication.js +3 -0
  94. package/dist/types/models/QuadletApplication.js.map +1 -0
  95. package/dist/types/models/Repository.d.ts +2 -4
  96. package/dist/types/models/Repository.d.ts.map +1 -1
  97. package/dist/types/models/RepositoryList.d.ts +2 -4
  98. package/dist/types/models/RepositoryList.d.ts.map +1 -1
  99. package/dist/types/models/ResourceSync.d.ts +2 -4
  100. package/dist/types/models/ResourceSync.d.ts.map +1 -1
  101. package/dist/types/models/ResourceSyncList.d.ts +2 -4
  102. package/dist/types/models/ResourceSyncList.d.ts.map +1 -1
  103. package/dist/types/models/Status.d.ts +2 -4
  104. package/dist/types/models/Status.d.ts.map +1 -1
  105. package/dist/types/models/TemplateVersion.d.ts +2 -4
  106. package/dist/types/models/TemplateVersion.d.ts.map +1 -1
  107. package/dist/types/models/TemplateVersionList.d.ts +2 -4
  108. package/dist/types/models/TemplateVersionList.d.ts.map +1 -1
  109. package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.d.ts.map +1 -1
  110. package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.js +51 -51
  111. package/dist/ui-components/src/components/AuthProvider/CreateAuthProvider/utils.js.map +1 -1
  112. package/dist/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.js +1 -1
  113. package/dist/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.js.map +1 -1
  114. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.d.ts.map +1 -1
  115. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js +5 -4
  116. package/dist/ui-components/src/components/Device/DeviceDetails/DeviceDetailsPage.js.map +1 -1
  117. package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.d.ts.map +1 -1
  118. package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.js +5 -1
  119. package/dist/ui-components/src/components/Device/DeviceDetails/TerminalTab.js.map +1 -1
  120. package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts +3 -3
  121. package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.d.ts.map +1 -1
  122. package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.js +310 -363
  123. package/dist/ui-components/src/components/Device/EditDeviceWizard/deviceSpecUtils.js.map +1 -1
  124. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.d.ts +1 -3
  125. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.d.ts.map +1 -1
  126. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.js +18 -19
  127. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.js.map +1 -1
  128. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.d.ts +1 -3
  129. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.d.ts.map +1 -1
  130. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js +5 -4
  131. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.js.map +1 -1
  132. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts +1 -3
  133. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.d.ts.map +1 -1
  134. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js +2 -2
  135. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.js.map +1 -1
  136. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts +3 -3
  137. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.d.ts.map +1 -1
  138. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js +20 -23
  139. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.js.map +1 -1
  140. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.js +3 -3
  141. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.js.map +1 -1
  142. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.d.ts.map +1 -1
  143. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js +25 -45
  144. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.js.map +1 -1
  145. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.d.ts +8 -0
  146. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.d.ts.map +1 -0
  147. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js +37 -0
  148. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.js.map +1 -0
  149. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.d.ts +1 -3
  150. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.d.ts.map +1 -1
  151. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js +5 -8
  152. package/dist/ui-components/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.js.map +1 -1
  153. package/dist/ui-components/src/components/Device/EditDeviceWizard/utils.d.ts +18 -18
  154. package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.d.ts +4 -2
  155. package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.d.ts.map +1 -1
  156. package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.js +2 -2
  157. package/dist/ui-components/src/components/ErrorAlert/ErrorAlert.js.map +1 -1
  158. package/dist/ui-components/src/components/Fleet/CreateFleet/utils.d.ts +1 -1
  159. package/dist/ui-components/src/components/Fleet/CreateFleet/utils.d.ts.map +1 -1
  160. package/dist/ui-components/src/components/Fleet/CreateFleet/utils.js +3 -3
  161. package/dist/ui-components/src/components/Fleet/CreateFleet/utils.js.map +1 -1
  162. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.d.ts.map +1 -1
  163. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js +3 -1
  164. package/dist/ui-components/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.js.map +1 -1
  165. package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.d.ts +7 -0
  166. package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.d.ts.map +1 -0
  167. package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.js +40 -0
  168. package/dist/ui-components/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.js.map +1 -0
  169. package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.d.ts +8 -0
  170. package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.d.ts.map +1 -0
  171. package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.js +37 -0
  172. package/dist/ui-components/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.js.map +1 -0
  173. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.d.ts.map +1 -1
  174. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.js +4 -3
  175. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.js.map +1 -1
  176. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.js +1 -1
  177. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.js.map +1 -1
  178. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.d.ts.map +1 -1
  179. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.js +13 -10
  180. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.js.map +1 -1
  181. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.d.ts.map +1 -1
  182. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.js +4 -2
  183. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.js.map +1 -1
  184. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.d.ts.map +1 -1
  185. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.js +7 -1
  186. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.js.map +1 -1
  187. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/types.d.ts +3 -5
  188. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/types.d.ts.map +1 -1
  189. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.d.ts +3 -2
  190. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.d.ts.map +1 -1
  191. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js +139 -34
  192. package/dist/ui-components/src/components/ImageBuilds/CreateImageBuildWizard/utils.js.map +1 -1
  193. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.d.ts.map +1 -1
  194. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.js +23 -12
  195. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.js.map +1 -1
  196. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.d.ts.map +1 -1
  197. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.js +115 -39
  198. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.js.map +1 -1
  199. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.d.ts +1 -0
  200. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.d.ts.map +1 -1
  201. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.js +17 -18
  202. package/dist/ui-components/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.js.map +1 -1
  203. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.d.ts +5 -2
  204. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.d.ts.map +1 -1
  205. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js +22 -12
  206. package/dist/ui-components/src/components/ImageBuilds/ImageBuildRow.js.map +1 -1
  207. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.d.ts.map +1 -1
  208. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js +17 -8
  209. package/dist/ui-components/src/components/ImageBuilds/ImageBuildsPage.js.map +1 -1
  210. package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.d.ts +10 -9
  211. package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.d.ts.map +1 -1
  212. package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.js +122 -26
  213. package/dist/ui-components/src/components/ImageBuilds/ImageExportCards.js.map +1 -1
  214. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts +2 -1
  215. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.d.ts.map +1 -1
  216. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js +10 -4
  217. package/dist/ui-components/src/components/Repository/CreateRepository/CreateRepositoryForm.js.map +1 -1
  218. package/dist/ui-components/src/components/Repository/CreateRepository/utils.d.ts.map +1 -1
  219. package/dist/ui-components/src/components/Repository/CreateRepository/utils.js +3 -4
  220. package/dist/ui-components/src/components/Repository/CreateRepository/utils.js.map +1 -1
  221. package/dist/ui-components/src/components/form/RepositorySelect.d.ts.map +1 -1
  222. package/dist/ui-components/src/components/form/RepositorySelect.js +1 -1
  223. package/dist/ui-components/src/components/form/RepositorySelect.js.map +1 -1
  224. package/dist/ui-components/src/components/form/UploadField.d.ts.map +1 -1
  225. package/dist/ui-components/src/components/form/UploadField.js +25 -16
  226. package/dist/ui-components/src/components/form/UploadField.js.map +1 -1
  227. package/dist/ui-components/src/components/form/validations.d.ts +25 -18
  228. package/dist/ui-components/src/components/form/validations.d.ts.map +1 -1
  229. package/dist/ui-components/src/components/form/validations.js +79 -33
  230. package/dist/ui-components/src/components/form/validations.js.map +1 -1
  231. package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.d.ts +2 -1
  232. package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.d.ts.map +1 -1
  233. package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js +2 -2
  234. package/dist/ui-components/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.js.map +1 -1
  235. package/dist/ui-components/src/constants.d.ts +5 -6
  236. package/dist/ui-components/src/constants.d.ts.map +1 -1
  237. package/dist/ui-components/src/constants.js +19 -11
  238. package/dist/ui-components/src/constants.js.map +1 -1
  239. package/dist/ui-components/src/hooks/useWebSocket.d.ts.map +1 -1
  240. package/dist/ui-components/src/hooks/useWebSocket.js +25 -4
  241. package/dist/ui-components/src/hooks/useWebSocket.js.map +1 -1
  242. package/dist/ui-components/src/types/deviceSpec.d.ts +44 -76
  243. package/dist/ui-components/src/types/deviceSpec.d.ts.map +1 -1
  244. package/dist/ui-components/src/types/deviceSpec.js +13 -26
  245. package/dist/ui-components/src/types/deviceSpec.js.map +1 -1
  246. package/dist/ui-components/src/types/extraTypes.d.ts +1 -7
  247. package/dist/ui-components/src/types/extraTypes.d.ts.map +1 -1
  248. package/dist/ui-components/src/types/extraTypes.js.map +1 -1
  249. package/dist/ui-components/src/types/rbac.d.ts +7 -1
  250. package/dist/ui-components/src/types/rbac.d.ts.map +1 -1
  251. package/dist/ui-components/src/types/rbac.js +6 -0
  252. package/dist/ui-components/src/types/rbac.js.map +1 -1
  253. package/dist/ui-components/src/utils/imageBuilds.d.ts +1 -0
  254. package/dist/ui-components/src/utils/imageBuilds.d.ts.map +1 -1
  255. package/dist/ui-components/src/utils/imageBuilds.js +20 -29
  256. package/dist/ui-components/src/utils/imageBuilds.js.map +1 -1
  257. package/dist/ui-components/src/utils/search.d.ts +2 -1
  258. package/dist/ui-components/src/utils/search.d.ts.map +1 -1
  259. package/dist/ui-components/src/utils/search.js +2 -2
  260. package/dist/ui-components/src/utils/search.js.map +1 -1
  261. package/package.json +2 -2
  262. package/src/components/AuthProvider/CreateAuthProvider/utils.ts +2 -2
  263. package/src/components/DetailsPage/Tables/ApplicationsTable.tsx +2 -2
  264. package/src/components/Device/DeviceDetails/DeviceDetailsPage.tsx +10 -4
  265. package/src/components/Device/DeviceDetails/TerminalTab.tsx +9 -1
  266. package/src/components/Device/EditDeviceWizard/deviceSpecUtils.ts +361 -425
  267. package/src/components/Device/EditDeviceWizard/steps/ApplicationContainerForm.tsx +19 -29
  268. package/src/components/Device/EditDeviceWizard/steps/ApplicationHelmForm.tsx +5 -13
  269. package/src/components/Device/EditDeviceWizard/steps/ApplicationImageForm.tsx +2 -16
  270. package/src/components/Device/EditDeviceWizard/steps/ApplicationInlineForm.tsx +8 -7
  271. package/src/components/Device/EditDeviceWizard/steps/ApplicationIntegritySettings.tsx +5 -5
  272. package/src/components/Device/EditDeviceWizard/steps/ApplicationTemplates.tsx +29 -101
  273. package/src/components/Device/EditDeviceWizard/steps/ApplicationVariablesForm.tsx +87 -0
  274. package/src/components/Device/EditDeviceWizard/steps/ApplicationVolumeForm.tsx +5 -10
  275. package/src/components/ErrorAlert/ErrorAlert.tsx +13 -3
  276. package/src/components/Fleet/CreateFleet/utils.ts +4 -5
  277. package/src/components/Fleet/ImportFleetWizard/steps/RepositoryStep.tsx +11 -8
  278. package/src/components/ImageBuilds/CancelImageBuildModal/CancelImageBuildModal.tsx +81 -0
  279. package/src/components/ImageBuilds/ConfirmImageExportModal/ConfirmImageExportModal.tsx +61 -0
  280. package/src/components/ImageBuilds/CreateImageBuildWizard/CreateImageBuildWizard.tsx +8 -3
  281. package/src/components/ImageBuilds/CreateImageBuildWizard/steps/OutputImageStep.tsx +1 -1
  282. package/src/components/ImageBuilds/CreateImageBuildWizard/steps/RegistrationStep.tsx +18 -10
  283. package/src/components/ImageBuilds/CreateImageBuildWizard/steps/ReviewStep.tsx +5 -1
  284. package/src/components/ImageBuilds/CreateImageBuildWizard/steps/SourceImageStep.tsx +13 -1
  285. package/src/components/ImageBuilds/CreateImageBuildWizard/types.ts +3 -6
  286. package/src/components/ImageBuilds/CreateImageBuildWizard/utils.ts +161 -37
  287. package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildDetailsPage.tsx +36 -17
  288. package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildExportsGallery.tsx +131 -44
  289. package/src/components/ImageBuilds/ImageBuildDetails/ImageBuildLogsTab.tsx +22 -26
  290. package/src/components/ImageBuilds/ImageBuildRow.tsx +41 -20
  291. package/src/components/ImageBuilds/ImageBuildsPage.tsx +34 -15
  292. package/src/components/ImageBuilds/ImageExportCards.tsx +198 -80
  293. package/src/components/Repository/CreateRepository/CreateRepositoryForm.css +5 -1
  294. package/src/components/Repository/CreateRepository/CreateRepositoryForm.tsx +14 -4
  295. package/src/components/Repository/CreateRepository/utils.ts +4 -4
  296. package/src/components/form/RepositorySelect.tsx +1 -0
  297. package/src/components/form/UploadField.tsx +29 -30
  298. package/src/components/form/validations.ts +156 -106
  299. package/src/components/modals/CreateRepositoryModal/CreateRepositoryModal.tsx +3 -1
  300. package/src/constants.ts +19 -6
  301. package/src/hooks/useWebSocket.ts +25 -3
  302. package/src/types/deviceSpec.ts +68 -108
  303. package/src/types/extraTypes.ts +2 -12
  304. package/src/types/rbac.ts +6 -0
  305. package/src/utils/imageBuilds.ts +22 -32
  306. package/src/utils/search.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"UploadField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/UploadField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAuHF,QAAA,MAAM,kBAAkB,2DAA4D,gBAAgB,sBASnG,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"UploadField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/UploadField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAsHF,QAAA,MAAM,kBAAkB,2DAA4D,gBAAgB,sBASnG,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -6,23 +6,25 @@ const formik_1 = require("formik");
6
6
  const react_core_1 = require("@patternfly/react-core");
7
7
  const useTranslation_1 = require("../../hooks/useTranslation");
8
8
  const FieldHelperText_1 = tslib_1.__importStar(require("./FieldHelperText"));
9
- const UploadHelperText = ({ meta, isUploading, isRejected, maxFileBytes, }) => {
9
+ const ONE_MB = 1024 * 1024;
10
+ const UploadMaxFileSizeHelperText = ({ maxFileBytes }) => {
11
+ const { t } = (0, useTranslation_1.useTranslation)();
12
+ const showKB = maxFileBytes < ONE_MB;
13
+ const maxFileSize = maxFileBytes / (showKB ? 1024 : ONE_MB);
14
+ const helperText = showKB
15
+ ? t('Max file size {{ maxFileSize }} KB', { maxFileSize })
16
+ : t('Max file size {{ maxFileSize }} MB', { maxFileSize });
17
+ return React.createElement(FieldHelperText_1.DefaultHelperText, { helperText: helperText });
18
+ };
19
+ const UploadErrorHelperText = ({ meta, isUploading, isRejected, }) => {
10
20
  const { t } = (0, useTranslation_1.useTranslation)();
11
- const maxFileMB = (maxFileBytes || 0) / (1024 * 1024);
12
- const defaultContent = maxFileBytes ? (React.createElement(FieldHelperText_1.DefaultHelperText, { helperText: t('Max file size {{ maxFileSize }} MB', { maxFileSize: maxFileMB }) })) : null;
13
21
  if (isRejected) {
14
- return (React.createElement(React.Fragment, null,
15
- defaultContent,
16
- React.createElement(FieldHelperText_1.default, { error: t('Content exceeds max file size of {{ maxFileSize }} MB', {
17
- maxFileSize: maxFileMB,
18
- }) })));
22
+ return React.createElement(FieldHelperText_1.default, { error: t('File exceeds maximum allowed size.') });
19
23
  }
20
24
  else if (!isUploading && !!(meta === null || meta === void 0 ? void 0 : meta.error)) {
21
- return (React.createElement(React.Fragment, null,
22
- defaultContent,
23
- React.createElement(FieldHelperText_1.default, { meta: meta })));
25
+ return React.createElement(FieldHelperText_1.default, { meta: meta });
24
26
  }
25
- return defaultContent;
27
+ return null;
26
28
  };
27
29
  const UploadField = ({ ariaLabel, maxFileBytes, isRequired, name }) => {
28
30
  const { t } = (0, useTranslation_1.useTranslation)();
@@ -47,13 +49,17 @@ const UploadField = ({ ariaLabel, maxFileBytes, isRequired, name }) => {
47
49
  return;
48
50
  }
49
51
  }
50
- void setValue(file);
52
+ // To prevent timing issues with validations, we must touch the field before we set the new value
51
53
  void setTouched(true);
54
+ void setValue(file, true);
52
55
  setIsRejected(false);
53
56
  };
54
57
  return (React.createElement(react_core_1.FormGroup, { fieldId: fieldId, "aria-label": ariaLabel, isRequired: isRequired },
55
58
  React.createElement(react_core_1.FileUpload, { type: "text", id: field.name, isRequired: isRequired, filenamePlaceholder: t('Drag a file or browse to upload'), browseButtonText: t('Browse...'), clearButtonText: t('Clear'), allowEditingUploadedText: true, style: { resize: 'vertical' }, validated: isValid || isFileUploading ? 'default' : 'error', value: field.value, filename: filename ? t('Content loaded from: {{ filename }}', { filename }) : '', onDataChange: handleFileChange, onTextChange: handleFileChange, onFileInputChange: (_event, file) => {
56
- if (!maxFileBytes || file.size <= maxFileBytes) {
59
+ if (maxFileBytes && file.size > maxFileBytes) {
60
+ handleFileRejected(true);
61
+ }
62
+ else {
57
63
  setFilename(file.name);
58
64
  setIsRejected(false);
59
65
  }
@@ -65,10 +71,13 @@ const UploadField = ({ ariaLabel, maxFileBytes, isRequired, name }) => {
65
71
  onDropRejected: () => handleFileRejected(true),
66
72
  }, onClearClick: () => {
67
73
  setFilename('');
74
+ if (!isRequired) {
75
+ void setTouched(false);
76
+ }
68
77
  void setValue('');
69
- void setTouched(false);
70
78
  } }),
71
- React.createElement(UploadHelperText, { maxFileBytes: maxFileBytes, meta: meta, isUploading: isFileUploading, isRejected: isRejected })));
79
+ maxFileBytes && React.createElement(UploadMaxFileSizeHelperText, { maxFileBytes: maxFileBytes }),
80
+ React.createElement(UploadErrorHelperText, { meta: meta, isUploading: isFileUploading, isRejected: isRejected })));
72
81
  };
73
82
  const UploadFieldWrapper = (_a) => {
74
83
  var { name, ariaLabel, maxFileBytes, isRequired } = _a, rest = tslib_1.__rest(_a, ["name", "ariaLabel", "maxFileBytes", "isRequired"]);
@@ -1 +1 @@
1
- {"version":3,"file":"UploadField.js","sourceRoot":"","sources":["../../../../../src/components/form/UploadField.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,mCAAkD;AAClD,uDAAyE;AACzE,+DAA4D;AAC5D,6EAAuE;AAavE,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,WAAW,EACX,UAAU,EACV,YAAY,GAMb,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CACpC,oBAAC,mCAAiB,IAAC,UAAU,EAAE,CAAC,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,GAAI,CACvG,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL;YACG,cAAc;YACf,oBAAC,yBAAe,IACd,KAAK,EAAE,CAAC,CAAC,uDAAuD,EAAE;oBAChE,WAAW,EAAE,SAAS;iBACvB,CAAC,GACF,CACD,CACJ,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,EAAE,CAAC;QACzC,OAAO,CACL;YACG,cAAc;YACf,oBAAC,yBAAe,IAAC,IAAI,EAAE,IAAI,GAAI,CAC9B,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAoB,EAAE,EAAE;IACtF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,mBAAmB,IAAI,EAAE,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACzD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3E,MAAM,kBAAkB,GAAG,CAAC,UAAmB,EAAE,EAAE;QACjD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBACtC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;QACH,CAAC;QAED,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAS,IAAC,OAAO,EAAE,OAAO,gBAAc,SAAS,EAAE,UAAU,EAAE,UAAU;QACxE,oBAAC,uBAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,KAAK,CAAC,IAAI,EACd,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,CAAC,CAAC,iCAAiC,CAAC,EACzD,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,EAChC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,EAC3B,wBAAwB,QACxB,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAC7B,SAAS,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC3D,KAAK,EAAE,KAAK,CAAC,KAAe,EAC5B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAChF,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;oBAC/C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,EACD,aAAa,EAAE,GAAG,EAAE;gBAClB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,EACD,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE;gBACb,OAAO,EAAE,YAAY;gBACrB,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;aAC/C,EACD,YAAY,EAAE,GAAG,EAAE;gBACjB,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChB,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClB,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,GACD;QAEF,oBAAC,gBAAgB,IAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAI,CACxG,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EAAwE,EAAE,EAAE;QAA5E,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,OAA6B,EAAxB,IAAI,sBAApD,mDAAsD,CAAF;IAC9E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAS,IAAI,CAAC,CAAC;IAE3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,oBAAC,qBAAQ,gCAAa,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAM,IAAI,IAAE,UAAU,UAAG,CAAC;IAC5F,CAAC;IACD,OAAO,CACL,oBAAC,WAAW,kBAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,IAAM,IAAI,EAAI,CAChH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"UploadField.js","sourceRoot":"","sources":["../../../../../src/components/form/UploadField.tsx"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@ export declare const validKubernetesLabelValue: (t: TFunction, { isRequired, fie
25
25
  fieldName?: string | undefined;
26
26
  }) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
27
27
  export declare const validApplicationAndVolumeName: (t: TFunction) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
28
+ export declare const getBuildNameValidations: (t: TFunction) => {
29
+ key: string;
30
+ message: string;
31
+ }[];
32
+ export declare const validImageBuildName: (t: TFunction) => Yup.StringSchema<string, Yup.AnyObject, undefined, "">;
28
33
  export declare const maxLengthString: (t: TFunction, props: {
29
34
  maxLength: number;
30
35
  fieldName: string;
@@ -32,6 +37,8 @@ export declare const maxLengthString: (t: TFunction, props: {
32
37
  export declare const validOsImage: (t: TFunction, { isFleet }: {
33
38
  isFleet: boolean;
34
39
  }) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
40
+ export declare const validHelmNamespace: (t: TFunction) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
41
+ export declare const validHelmValuesFile: (t: TFunction) => Yup.StringSchema<string | undefined, Yup.AnyObject, undefined, "">;
35
42
  export declare const validLabelsSchema: (t: TFunction, forbiddenLabels?: string[]) => Yup.ArraySchema<{
36
43
  value?: string | undefined;
37
44
  key: string;
@@ -44,34 +51,34 @@ export declare const isValidPortMapping: (hostPort: string, containerPort: strin
44
51
  export declare const validateCPULimit: (cpu: string | undefined) => boolean;
45
52
  export declare const validateMemoryLimit: (memory: string | undefined) => boolean;
46
53
  export declare const validApplicationsSchema: (t: TFunction) => Yup.ArraySchema<({
54
+ ports?: {
55
+ hostPort: string;
56
+ containerPort: string;
57
+ }[] | undefined;
47
58
  volumes?: {
48
59
  imageRef?: string | undefined;
49
60
  imagePullPolicy?: string | undefined;
50
61
  mountPath?: string | undefined;
51
62
  name: string;
52
63
  }[] | undefined;
53
- ports?: {
54
- hostPort: string;
55
- containerPort: string;
56
- }[] | undefined;
64
+ name?: string | undefined;
57
65
  runAs?: string | undefined;
58
66
  image: string;
59
- variables: {
60
- value: string;
61
- name: string;
62
- }[];
63
67
  appType: AppType.AppTypeContainer;
64
68
  specType: AppSpecType.OCI_IMAGE;
65
- name: string;
66
69
  limits: {
67
70
  cpu?: string | undefined;
68
71
  memory?: string | undefined;
69
72
  };
73
+ variables: {
74
+ value: string;
75
+ name: string;
76
+ }[];
70
77
  } | {
71
78
  name?: string | undefined;
72
79
  namespace?: string | undefined;
73
- valuesYaml?: string | undefined;
74
80
  valuesFiles?: (string | undefined)[] | undefined;
81
+ valuesYaml?: string | undefined;
75
82
  image: string;
76
83
  appType: AppType.AppTypeHelm;
77
84
  specType: AppSpecType.OCI_IMAGE;
@@ -83,25 +90,25 @@ export declare const validApplicationsSchema: (t: TFunction) => Yup.ArraySchema<
83
90
  }[] | undefined;
84
91
  name?: string | undefined;
85
92
  image: string;
93
+ appType: NonNullable<AppType.AppTypeCompose | AppType.AppTypeQuadlet | undefined>;
94
+ specType: AppSpecType.OCI_IMAGE;
86
95
  variables: {
87
96
  value: string;
88
97
  name: string;
89
98
  }[];
90
- appType: NonNullable<AppType.AppTypeCompose | AppType.AppTypeQuadlet | undefined>;
91
- specType: AppSpecType.OCI_IMAGE;
92
99
  } | {
93
100
  volumes?: {
94
101
  name: string;
95
102
  imageRef: string;
96
103
  imagePullPolicy: NonNullable<ImagePullPolicy | undefined>;
97
104
  }[] | undefined;
105
+ name: string;
106
+ appType: AppType.AppTypeQuadlet;
107
+ specType: NonNullable<AppSpecType | undefined>;
98
108
  variables: {
99
109
  value: string;
100
110
  name: string;
101
111
  }[];
102
- appType: AppType.AppTypeQuadlet;
103
- specType: NonNullable<AppSpecType | undefined>;
104
- name: string;
105
112
  files: {
106
113
  content?: string | undefined;
107
114
  path: string;
@@ -112,13 +119,13 @@ export declare const validApplicationsSchema: (t: TFunction) => Yup.ArraySchema<
112
119
  imageRef: string;
113
120
  imagePullPolicy: NonNullable<ImagePullPolicy | undefined>;
114
121
  }[] | undefined;
122
+ name: string;
123
+ appType: AppType.AppTypeCompose;
124
+ specType: NonNullable<AppSpecType | undefined>;
115
125
  variables: {
116
126
  value: string;
117
127
  name: string;
118
128
  }[];
119
- appType: AppType.AppTypeCompose;
120
- specType: NonNullable<AppSpecType | undefined>;
121
- name: string;
122
129
  files: {
123
130
  content?: string | undefined;
124
131
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/validations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAEL,WAAW,EAEX,cAAc,EASd,WAAW,EAiBZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkCtD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAuB9C,eAAO,MAAM,wBAAwB,MAAO,SAAS;;;GAUpD,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAO,SAAS;;;GAUtD,CAAC;AAEF,eAAO,MAAM,+BAA+B,UAAW,MAAM,2BAY5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,cAAc,EAAE,YAG1D,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAAY,cAAc,EAAE,qBAuClE,CAAC;AAEF,eAAO,MAAM,2BAA2B,MACnC,SAAS;gBAC6B,OAAO;;wEAahC,CAAC;AAwBnB,eAAO,MAAM,yBAAyB,MACjC,SAAS;gBAC6B,OAAO;;wEAMmB,CAAC;AAEtE,eAAO,MAAM,6BAA6B,MAAO,SAAS,uEAIvD,CAAC;AAEJ,eAAO,MAAM,eAAe,MAAO,SAAS,SAAS;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,uEACc,CAAC;AAE5G,eAAO,MAAM,YAAY,MAAO,SAAS;aAA0B,OAAO;wEA2BvE,CAAC;AAEJ,eAAO,MAAM,iBAAiB,MAAO,SAAS,oBAAoB,MAAM,EAAE;;;2BAwCpE,CAAC;AAEP,eAAO,MAAM,yBAAyB,MAAO,SAAS,iEAYhD,CAAC;AAsOP,eAAO,MAAM,kBAAkB,SAAU,MAAM,KAAK,SAAS,KAAG,MAAM,GAAG,SAgBxE,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,OAIhD,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACvB,MAAM,iBACD,MAAM,kBACN,WAAW,EAAE,KAC3B,OAKF,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,MAAM,iBACD,MAAM,kBACN,WAAW,EAAE,KAC3B,OAKF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,SAAS,KAAG,OAa1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,MAAM,GAAG,SAAS,KAAG,OAShE,CAAC;AA8CF,eAAO,MAAM,uBAAuB,MAAO,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA0JnD,CAAC;AAEF,eAAO,MAAM,6BAA6B,MAAO,SAAS;;;;;;;;;;;;;;;;MA6DzD,CAAC;AA8DF,eAAO,MAAM,uBAAuB,MAAO,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkBnD,CAAC;AAEF,eAAO,MAAM,gCAAgC,MAAO,SAAS;;;;;;;;;;MAc5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAAO,SAAS;;;;;;;;;;;;;;;;;;;;;wCA8ElD,CAAC;AAEN,eAAO,MAAM,+BAA+B,MAAO,SAAS;;;uCAoCvD,CAAC;AAEN,eAAO,MAAM,kCAAkC,MAAO,SAAS;;;;;;;MAG3D,CAAC;AAGL,eAAO,MAAM,8BAA8B,MAAO,SAAS,QAAQ;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE;;;;;;;;;MAS1F,CAAC;AAEL,eAAO,MAAM,gCAAgC,MAAO,SAAS;;;;;;;;MAYzD,CAAC"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/validations.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMassResumeValidationSchema = exports.deviceApprovalValidationSchema = exports.deviceSystemdUnitsValidationSchema = exports.systemdUnitListValidationSchema = exports.validConfigTemplatesSchema = exports.validFleetDisruptionBudgetSchema = exports.validUpdatePolicySchema = exports.validFleetRolloutPolicySchema = exports.validApplicationsSchema = exports.validateMemoryLimit = exports.validateCPULimit = exports.isValidPortMapping = exports.isDuplicatePortMapping = exports.isValidPortNumber = exports.validatePortNumber = exports.validGroupLabelKeysSchema = exports.validLabelsSchema = exports.validOsImage = exports.maxLengthString = exports.validApplicationAndVolumeName = exports.validKubernetesLabelValue = exports.validKubernetesDnsSubdomain = exports.getInvalidKubernetesLabels = exports.hasUniqueLabelKeys = exports.getKubernetesDnsSubdomainErrors = exports.getDnsSubdomainValidations = exports.getLabelValueValidations = exports.MAX_TARGET_REVISION_LENGTH = void 0;
3
+ exports.createMassResumeValidationSchema = exports.deviceApprovalValidationSchema = exports.deviceSystemdUnitsValidationSchema = exports.systemdUnitListValidationSchema = exports.validConfigTemplatesSchema = exports.validFleetDisruptionBudgetSchema = exports.validUpdatePolicySchema = exports.validFleetRolloutPolicySchema = exports.validApplicationsSchema = exports.validateMemoryLimit = exports.validateCPULimit = exports.isValidPortMapping = exports.isDuplicatePortMapping = exports.isValidPortNumber = exports.validatePortNumber = exports.validGroupLabelKeysSchema = exports.validLabelsSchema = exports.validHelmValuesFile = exports.validHelmNamespace = exports.validOsImage = exports.maxLengthString = exports.validImageBuildName = exports.getBuildNameValidations = exports.validApplicationAndVolumeName = exports.validKubernetesLabelValue = exports.validKubernetesDnsSubdomain = exports.getInvalidKubernetesLabels = exports.hasUniqueLabelKeys = exports.getKubernetesDnsSubdomainErrors = exports.getDnsSubdomainValidations = exports.getLabelValueValidations = exports.MAX_TARGET_REVISION_LENGTH = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Yup = tslib_1.__importStar(require("yup"));
6
6
  const countBy_1 = tslib_1.__importDefault(require("lodash/countBy"));
@@ -19,9 +19,9 @@ const K8S_LABEL_VALUE_MAX_LENGTH = 63;
19
19
  const K8S_DNS_SUBDOMAIN_START_END = /^[a-z0-9](.*[a-z0-9])?$/;
20
20
  const K8S_DNS_SUBDOMAIN_ALLOWED_CHARACTERS = /^[a-z0-9.-]*$/;
21
21
  const K8S_DNS_SUBDOMAIN_VALUE_MAX_LENGTH = 253;
22
- // https://issues.redhat.com/browse/MGMT-18349 to make the validation more robust
23
- const BASIC_DEVICE_OS_IMAGE_REGEXP = /^[a-zA-Z0-9.\-\/:@_+]*$/;
24
- const APPLICATION_IMAGE_REGEXP = BASIC_DEVICE_OS_IMAGE_REGEXP;
22
+ const OCI_IMAGE_FULL_REGEXP = /^(?![./_])[a-zA-Z0-9.\-\/:@_+]*$/;
23
+ // Accepts all characters from the above regex, but it rejects leading dot, slash, or underscore
24
+ const OCI_IMAGE_ALLOWED_CHARS_REGEXP = /^[a-zA-Z0-9.\-\/:@_+]*$/;
25
25
  const APPLICATION_NAME_REGEXP = /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/;
26
26
  const APPLICATION_VAR_NAME_REGEXP = /^[a-zA-Z_]+[a-zA-Z0-9_]*$/;
27
27
  const TEMPLATE_VARIABLES_REGEXP = /{{.+?}}/g;
@@ -35,6 +35,8 @@ const absolutePathRegex = /^\/.*$/;
35
35
  const relativePathRegex = /^(?!\.\.\/|\.\.\$|\.\/)(\.\/)*[\w.-]+(?:\/[\w.-]+)*\/?$/;
36
36
  exports.MAX_TARGET_REVISION_LENGTH = 244;
37
37
  const MAX_FILE_PATH_LENGTH = 253;
38
+ const HELM_NAMESPACE_MAX_LENGTH = 63;
39
+ const HELM_VALUES_FILE_EXT_REGEXP = /\.(yaml|yml)$/i;
38
40
  const isInteger = (val) => val === undefined || Number.isInteger(val);
39
41
  const validComposeFileNames = [
40
42
  'podman-compose.yaml',
@@ -170,6 +172,21 @@ const validKubernetesLabelValue = (t, { isRequired, fieldName }) => isRequired
170
172
  exports.validKubernetesLabelValue = validKubernetesLabelValue;
171
173
  const validApplicationAndVolumeName = (t) => Yup.string().matches(APPLICATION_NAME_REGEXP, t('Use lowercase alphanumeric characters, or dash (-). Must start and end with an alphanumeric character.'));
172
174
  exports.validApplicationAndVolumeName = validApplicationAndVolumeName;
175
+ const getBuildNameValidations = (t) => [
176
+ {
177
+ key: 'imageBuildName',
178
+ message: t('Use lowercase alphanumeric characters, or dash (-). Must start and end with an alphanumeric character.'),
179
+ },
180
+ ];
181
+ exports.getBuildNameValidations = getBuildNameValidations;
182
+ const validImageBuildName = (t) => Yup.string()
183
+ .required(t('Build name is required'))
184
+ .test('imageBuildName', function (value) {
185
+ if (!value)
186
+ return true;
187
+ return APPLICATION_NAME_REGEXP.test(value) || this.createError({ message: { imageBuildName: 'failed' } });
188
+ });
189
+ exports.validImageBuildName = validImageBuildName;
173
190
  const maxLengthString = (t, props) => Yup.string().max(props.maxLength, t('{{ fieldName }} must not exceed {{ maxLength }} characters', props));
174
191
  exports.maxLengthString = maxLengthString;
175
192
  const validOsImage = (t, { isFleet }) => (0, exports.maxLengthString)(t, { fieldName: t('System image'), maxLength: 2048 }).test('osImageValidations', t('System image is invalid'), (osImage) => {
@@ -191,9 +208,39 @@ const validOsImage = (t, { isFleet }) => (0, exports.maxLengthString)(t, { field
191
208
  validateOsImage = osImage.replace(TEMPLATE_VARIABLES_REGEXP, 'tv');
192
209
  }
193
210
  }
194
- return BASIC_DEVICE_OS_IMAGE_REGEXP.test(validateOsImage);
211
+ return OCI_IMAGE_FULL_REGEXP.test(validateOsImage);
195
212
  });
196
213
  exports.validOsImage = validOsImage;
214
+ const validHelmNamespace = (t) => Yup.string()
215
+ .max(HELM_NAMESPACE_MAX_LENGTH, t('Namespace must not exceed {{ max }} characters.', { max: HELM_NAMESPACE_MAX_LENGTH }))
216
+ .test('helm-namespace-format', t('Namespace must only include lowercase letters, numbers, and hyphens. It must start and end with a letter or number.'), (value) => {
217
+ return !value || APPLICATION_NAME_REGEXP.test(value);
218
+ });
219
+ exports.validHelmNamespace = validHelmNamespace;
220
+ const validHelmValuesFile = (t) => Yup.string().test('helm-values-file', function (filename) {
221
+ if (!filename) {
222
+ return true;
223
+ }
224
+ if (filename.length > MAX_FILE_PATH_LENGTH) {
225
+ return this.createError({
226
+ message: t('Values file path must not exceed {{ max }} characters.', {
227
+ max: MAX_FILE_PATH_LENGTH,
228
+ }),
229
+ });
230
+ }
231
+ if (filename.startsWith('/') || filename.includes('..')) {
232
+ return this.createError({
233
+ message: t('Values file path must be relative and cannot contain parent directory references (..).'),
234
+ });
235
+ }
236
+ if (!HELM_VALUES_FILE_EXT_REGEXP.test(filename)) {
237
+ return this.createError({
238
+ message: t('Values file must have .yaml or .yml extension.'),
239
+ });
240
+ }
241
+ return true;
242
+ });
243
+ exports.validHelmValuesFile = validHelmValuesFile;
197
244
  const validLabelsSchema = (t, forbiddenLabels) => Yup.array()
198
245
  .of(Yup.object().shape({
199
246
  key: Yup.string()
@@ -477,14 +524,23 @@ const validateMemoryLimit = (memory) => {
477
524
  return true;
478
525
  };
479
526
  exports.validateMemoryLimit = validateMemoryLimit;
480
- // Common volume validation helpers
481
- const volumeNameSchema = (t) => (0, exports.validApplicationAndVolumeName)(t).required(t('Volume name is required'));
482
- const optionalImageRefSchema = (t) => Yup.string().test('image-ref-format', t('Image reference includes invalid characters.'), (value) => {
483
- if (!value || value.length === 0) {
484
- return true; // Empty is allowed
527
+ const ociImageSchema = (t) => Yup.string().test('oci-image-format', (value, testContext) => {
528
+ if (!value)
529
+ return true;
530
+ if (!OCI_IMAGE_ALLOWED_CHARS_REGEXP.test(value)) {
531
+ return testContext.createError({
532
+ message: t('Image includes invalid characters.'),
533
+ });
485
534
  }
486
- return APPLICATION_IMAGE_REGEXP.test(value);
535
+ if (!OCI_IMAGE_FULL_REGEXP.test(value)) {
536
+ return testContext.createError({
537
+ message: t('Image must not start with a dot (.), slash (/), or underscore (_).'),
538
+ });
539
+ }
540
+ return true;
487
541
  });
542
+ const requiredOciImageSchema = (t, requiredMessage) => ociImageSchema(t).required(requiredMessage || t('Image is required.'));
543
+ const volumeNameSchema = (t) => (0, exports.validApplicationAndVolumeName)(t).required(t('Volume name is required'));
488
544
  const imagePullPolicySchema = (t) => Yup.string()
489
545
  .oneOf([types_1.ImagePullPolicy.PullAlways, types_1.ImagePullPolicy.PullIfNotPresent, types_1.ImagePullPolicy.PullNever], t('Pull policy must be one of: Always, IfNotPresent, or Never'))
490
546
  .required(t('Pull policy is required'));
@@ -492,32 +548,29 @@ const mountPathSchema = (t, isRequired = true) => {
492
548
  const schema = Yup.string().matches(absolutePathRegex, t('Mount path must be absolute.'));
493
549
  return isRequired ? schema.required(t('Mount path is required for this volume type')) : schema;
494
550
  };
495
- // Volume validation schemas
496
551
  const singleContainerVolumesSchema = (t) => Yup.array().of(Yup.object().shape({
497
552
  name: volumeNameSchema(t),
498
- imageRef: optionalImageRefSchema(t),
553
+ imageRef: ociImageSchema(t),
499
554
  imagePullPolicy: Yup.string(),
500
555
  mountPath: mountPathSchema(t, true),
501
556
  }));
502
557
  const composeQuadletVolumesSchema = (t) => Yup.array().of(Yup.object().shape({
503
558
  name: volumeNameSchema(t),
504
- imageRef: optionalImageRefSchema(t).required(t('Image reference is required for this volume type')),
559
+ imageRef: requiredOciImageSchema(t, t('Image reference is required for this volume type')),
505
560
  imagePullPolicy: imagePullPolicySchema(t),
506
561
  }));
507
562
  const validApplicationsSchema = (t) => {
508
563
  return Yup.array()
509
564
  .of(Yup.lazy((value) => {
510
565
  // Container applications (image-based with ports and resources)
511
- if ((0, deviceSpec_1.isSingleContainerAppForm)(value)) {
566
+ if (value.appType === types_1.AppType.AppTypeContainer) {
512
567
  return Yup.object().shape({
513
568
  specType: Yup.string()
514
569
  .oneOf([deviceSpec_1.AppSpecType.OCI_IMAGE])
515
570
  .required(t('Definition source must be image for this type of applications')),
516
571
  appType: Yup.string().oneOf([types_1.AppType.AppTypeContainer]).required(t('Application type is required')),
517
- name: (0, exports.validApplicationAndVolumeName)(t).required(t('Name is required for single container applications.')),
518
- image: Yup.string()
519
- .required(t('Image is required.'))
520
- .matches(APPLICATION_IMAGE_REGEXP, t('Application image includes invalid characters.')),
572
+ name: (0, exports.validApplicationAndVolumeName)(t),
573
+ image: requiredOciImageSchema(t),
521
574
  ports: Yup.array().of(Yup.object()
522
575
  .shape({
523
576
  hostPort: Yup.string()
@@ -544,17 +597,15 @@ const validApplicationsSchema = (t) => {
544
597
  });
545
598
  }
546
599
  // Helm applications
547
- if ((0, deviceSpec_1.isHelmImageAppForm)(value)) {
600
+ if (value.appType === types_1.AppType.AppTypeHelm) {
548
601
  return Yup.object().shape({
549
602
  specType: Yup.string()
550
603
  .oneOf([deviceSpec_1.AppSpecType.OCI_IMAGE])
551
604
  .required(t('Definition source must be image for this type of applications')),
552
605
  appType: Yup.string().oneOf([types_1.AppType.AppTypeHelm]).required(t('Application type is required')),
553
606
  name: (0, exports.validApplicationAndVolumeName)(t),
554
- image: Yup.string()
555
- .required(t('Image is required.'))
556
- .matches(APPLICATION_IMAGE_REGEXP, t('Application image includes invalid characters.')),
557
- namespace: Yup.string(),
607
+ image: requiredOciImageSchema(t),
608
+ namespace: (0, exports.validHelmNamespace)(t),
558
609
  valuesYaml: Yup.string().test('valid-yaml', t('YAML content is invalid.'), (value) => {
559
610
  if (!value || value.trim() === '') {
560
611
  return true;
@@ -567,14 +618,11 @@ const validApplicationsSchema = (t) => {
567
618
  }
568
619
  return true;
569
620
  }),
570
- // Values files don't need to be validated.
571
- // Since the UX design has the first field added by default, we will ignore all empty values files.
572
- // The user can't add more values files if any is empty (though they can clear existing ones).
573
- valuesFiles: Yup.array().of(Yup.string()),
621
+ valuesFiles: Yup.array().of((0, exports.validHelmValuesFile)(t)),
574
622
  });
575
623
  }
576
624
  // Image applications (Quadlet or Compose)
577
- if ((0, deviceSpec_1.isQuadletImageAppForm)(value) || (0, deviceSpec_1.isComposeImageAppForm)(value)) {
625
+ if (value.specType === deviceSpec_1.AppSpecType.OCI_IMAGE) {
578
626
  return Yup.object().shape({
579
627
  specType: Yup.string()
580
628
  .oneOf([deviceSpec_1.AppSpecType.OCI_IMAGE])
@@ -583,15 +631,13 @@ const validApplicationsSchema = (t) => {
583
631
  .oneOf([types_1.AppType.AppTypeCompose, types_1.AppType.AppTypeQuadlet])
584
632
  .required(t('Application type is required')),
585
633
  name: (0, exports.validApplicationAndVolumeName)(t),
586
- image: Yup.string()
587
- .required(t('Image is required.'))
588
- .matches(APPLICATION_IMAGE_REGEXP, t('Application image includes invalid characters.')),
634
+ image: requiredOciImageSchema(t),
589
635
  volumes: composeQuadletVolumesSchema(t),
590
636
  variables: appVariablesSchema(t),
591
637
  });
592
638
  }
593
639
  // Inline quadlet applications
594
- if ((0, deviceSpec_1.isQuadletInlineAppForm)(value)) {
640
+ if (value.appType === types_1.AppType.AppTypeQuadlet && value.specType === deviceSpec_1.AppSpecType.INLINE) {
595
641
  return Yup.object().shape({
596
642
  specType: appSpecTypeSchema(t),
597
643
  appType: Yup.string().oneOf([types_1.AppType.AppTypeQuadlet]).required(t('Application type is required')),