@rancher/shell 2.0.0 → 3.0.0-rc.1

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 (816) hide show
  1. package/assets/styles/global/_labeled-input.scss +22 -11
  2. package/assets/styles/global/_layout.scss +4 -4
  3. package/assets/styles/global/_tooltip.scss +4 -3
  4. package/assets/translations/en-us.yaml +44 -8
  5. package/chart/__tests__/S3.test.ts +21 -14
  6. package/chart/example.vue +1 -1
  7. package/chart/gatekeeper.vue +4 -4
  8. package/chart/istio.vue +11 -11
  9. package/chart/logging/index.vue +8 -8
  10. package/chart/monitoring/ClusterSelector.vue +13 -13
  11. package/chart/monitoring/alerting/index.vue +6 -6
  12. package/chart/monitoring/grafana/index.vue +14 -14
  13. package/chart/monitoring/index.vue +122 -108
  14. package/chart/monitoring/prometheus/index.vue +18 -18
  15. package/chart/rancher-backup/S3.vue +11 -11
  16. package/chart/rancher-backup/index.vue +68 -60
  17. package/cloud-credential/__tests__/azure.test.ts +7 -17
  18. package/cloud-credential/__tests__/harvester.test.ts +2 -2
  19. package/cloud-credential/aws.vue +3 -3
  20. package/cloud-credential/azure.vue +4 -4
  21. package/cloud-credential/digitalocean.vue +1 -1
  22. package/cloud-credential/gcp.vue +1 -1
  23. package/cloud-credential/generic.vue +1 -1
  24. package/cloud-credential/harvester.vue +1 -1
  25. package/cloud-credential/linode.vue +1 -1
  26. package/cloud-credential/pnap.vue +2 -2
  27. package/cloud-credential/s3.vue +8 -8
  28. package/cloud-credential/vmwarevsphere.vue +4 -4
  29. package/components/ActionDropdown.vue +3 -3
  30. package/components/ActionMenu.vue +1 -1
  31. package/components/AlertTable.vue +18 -8
  32. package/components/AppModal.vue +20 -9
  33. package/components/AssignTo.vue +38 -37
  34. package/components/AsyncButton.vue +4 -7
  35. package/components/ButtonDropdown.vue +14 -13
  36. package/components/ButtonGroup.vue +1 -1
  37. package/components/Carousel.vue +1 -1
  38. package/components/Certificates.vue +1 -1
  39. package/components/ChartReadme.vue +7 -7
  40. package/components/CodeMirror.vue +2 -2
  41. package/components/CommunityLinks.vue +2 -2
  42. package/components/ConsumptionGauge.vue +1 -1
  43. package/components/ContainerResourceLimit.vue +11 -11
  44. package/components/CountGauge.vue +1 -1
  45. package/components/CreateDriver.vue +4 -4
  46. package/components/CruResource.vue +34 -20
  47. package/components/DashboardMetrics.vue +3 -3
  48. package/components/DashboardOptions.vue +3 -3
  49. package/components/DetailTop.vue +3 -3
  50. package/components/DisableAuthProviderModal.vue +7 -8
  51. package/components/EmberPage.vue +1 -1
  52. package/components/EtcdInfoBanner.vue +1 -1
  53. package/components/ExplorerMembers.vue +8 -9
  54. package/components/ExplorerProjectsNamespaces.vue +6 -7
  55. package/components/FileDiff.vue +1 -1
  56. package/components/FixedBanner.vue +1 -0
  57. package/components/GlobalRoleBindings.vue +5 -6
  58. package/components/GradientBox.vue +1 -2
  59. package/components/GrafanaDashboard.vue +13 -11
  60. package/components/GrowlManager.vue +1 -1
  61. package/components/HarvesterServiceAddOnConfig.vue +2 -2
  62. package/components/IconOrSvg.vue +1 -2
  63. package/components/Import.vue +4 -3
  64. package/components/Inactivity.vue +2 -2
  65. package/components/IndentedPanel.vue +0 -1
  66. package/components/InputOrDisplay.vue +3 -2
  67. package/components/KeyValueView.vue +4 -3
  68. package/components/LandingPagePreference.vue +3 -2
  69. package/components/LazyImage.vue +1 -1
  70. package/components/Loading.vue +1 -1
  71. package/components/LocaleSelector.vue +4 -4
  72. package/components/Markdown.vue +1 -1
  73. package/components/ModalWithCard.vue +1 -4
  74. package/components/MoveModal.vue +10 -11
  75. package/components/PercentageBar.vue +7 -7
  76. package/components/PodSecurityAdmission.vue +13 -13
  77. package/components/PromptChangePassword.vue +9 -9
  78. package/components/PromptModal.vue +1 -1
  79. package/components/PromptRemove.vue +35 -37
  80. package/components/PromptRestore.vue +68 -69
  81. package/components/Questions/Array.vue +3 -4
  82. package/components/Questions/Boolean.vue +1 -1
  83. package/components/Questions/CloudCredential.vue +1 -1
  84. package/components/Questions/Enum.vue +1 -1
  85. package/components/Questions/Float.vue +1 -1
  86. package/components/Questions/Int.vue +1 -1
  87. package/components/Questions/Question.js +1 -1
  88. package/components/Questions/QuestionMap.vue +3 -4
  89. package/components/Questions/Radio.vue +1 -1
  90. package/components/Questions/Reference.vue +2 -2
  91. package/components/Questions/String.vue +1 -1
  92. package/components/Questions/Yaml.vue +1 -1
  93. package/components/Questions/__tests__/Boolean.test.ts +26 -13
  94. package/components/Questions/__tests__/Float.test.ts +26 -13
  95. package/components/Questions/__tests__/Int.test.ts +26 -13
  96. package/components/Questions/__tests__/String.test.ts +26 -13
  97. package/components/Questions/__tests__/Yaml.test.ts +26 -14
  98. package/components/Questions/index.vue +10 -10
  99. package/components/Random.vue +1 -1
  100. package/components/ResourceDetail/Masthead.vue +7 -2
  101. package/components/ResourceDetail/index.vue +6 -3
  102. package/components/ResourceList/Masthead.vue +4 -0
  103. package/components/ResourceList/index.vue +10 -4
  104. package/components/ResourceSummary.vue +1 -1
  105. package/components/ResourceTable.vue +4 -5
  106. package/components/ResourceYaml.vue +1 -2
  107. package/components/RoleBindings.vue +3 -3
  108. package/components/SideNav.vue +8 -6
  109. package/components/SimpleBox.vue +0 -1
  110. package/components/SortableTable/THead.vue +5 -5
  111. package/components/SortableTable/index.vue +21 -20
  112. package/components/SortableTable/sortable-config.ts +4 -0
  113. package/components/StatusTable.vue +1 -1
  114. package/components/TabTitle.vue +3 -9
  115. package/components/Tabbed/Tab.vue +1 -1
  116. package/components/Tabbed/index.vue +2 -4
  117. package/components/Wizard.vue +8 -3
  118. package/components/YamlEditor.vue +4 -4
  119. package/components/__tests__/AppModal.test.ts +33 -25
  120. package/components/__tests__/ApplicationCard.test.ts +1 -1
  121. package/components/__tests__/AsyncButton.test.ts +42 -34
  122. package/components/__tests__/BackLink.test.ts +3 -3
  123. package/components/__tests__/ButtonGroup.test.ts +5 -5
  124. package/components/__tests__/Carousel.test.ts +2 -2
  125. package/components/__tests__/Certificates.test.ts +10 -8
  126. package/components/__tests__/ClusterBadge.test.ts +2 -2
  127. package/components/__tests__/CodeMirror.test.ts +94 -85
  128. package/components/__tests__/Collapse.test.ts +3 -3
  129. package/components/__tests__/CollapsibleCard.test.ts +6 -6
  130. package/components/__tests__/ConsumptionGauge.test.ts +6 -6
  131. package/components/__tests__/CruResource.test.ts +67 -56
  132. package/components/__tests__/EtcdInfoBanner.test.ts +11 -9
  133. package/components/__tests__/FixedBanner.test.ts +8 -8
  134. package/components/__tests__/GrowlManager.test.ts +24 -25
  135. package/components/__tests__/NamespaceFilter.test.ts +48 -34
  136. package/components/__tests__/PercentageBar.test.ts +10 -10
  137. package/components/__tests__/PodSecurityAdmission.test.ts +80 -38
  138. package/components/__tests__/ProjectRow.test.ts +1 -5
  139. package/components/__tests__/PromptRestore.test.ts +15 -18
  140. package/components/__tests__/TabTitle.test.ts +21 -14
  141. package/components/auth/AllowedPrincipals.vue +4 -5
  142. package/components/auth/RoleDetailEdit.vue +31 -29
  143. package/components/auth/SelectPrincipal.vue +2 -4
  144. package/components/auth/__tests__/RoleDetailEdit.test.ts +18 -14
  145. package/components/auth/login/ldap.vue +2 -2
  146. package/components/fleet/FleetClusters.vue +0 -1
  147. package/components/fleet/FleetRepos.vue +0 -1
  148. package/components/fleet/FleetStatus.vue +3 -3
  149. package/components/fleet/__tests__/FleetSummary.test.ts +8 -2
  150. package/components/form/ArrayList.vue +5 -6
  151. package/components/form/ArrayListGrouped.vue +2 -2
  152. package/components/form/ArrayListSelect.vue +4 -4
  153. package/components/form/BannerSettings.vue +10 -10
  154. package/components/form/ChangePassword.vue +9 -9
  155. package/components/form/ColorInput.vue +2 -2
  156. package/components/form/Command.vue +13 -15
  157. package/components/form/EnvVars.vue +7 -7
  158. package/components/form/FileImageSelector.vue +1 -1
  159. package/components/form/GitPicker.vue +7 -7
  160. package/components/form/HealthCheck.vue +4 -4
  161. package/components/form/HookOption.vue +13 -13
  162. package/components/form/InputWithSelect.vue +19 -13
  163. package/components/form/KeyValue.vue +14 -14
  164. package/components/form/LabeledSelect.vue +45 -35
  165. package/components/form/Labels.vue +3 -3
  166. package/components/form/LifecycleHooks.vue +5 -7
  167. package/components/form/MatchExpressions.vue +7 -7
  168. package/components/form/Members/ClusterMembershipEditor.vue +1 -2
  169. package/components/form/Members/ClusterPermissionsEditor.vue +9 -9
  170. package/components/form/Members/MembershipEditor.vue +4 -5
  171. package/components/form/Members/ProjectMembershipEditor.vue +1 -2
  172. package/components/form/NameNsDescription.vue +12 -13
  173. package/components/form/Networking.vue +17 -17
  174. package/components/form/NodeAffinity.vue +9 -10
  175. package/components/form/NodeScheduling.vue +7 -7
  176. package/components/form/NotificationSettings.vue +2 -2
  177. package/components/form/Password.vue +2 -2
  178. package/components/form/PodAffinity.vue +21 -23
  179. package/components/form/PodSecurity.vue +6 -6
  180. package/components/form/Ports.vue +5 -5
  181. package/components/form/Probe.vue +20 -20
  182. package/components/form/ProjectMemberEditor.vue +9 -9
  183. package/components/form/ResourceLabeledSelect.vue +11 -4
  184. package/components/form/ResourceQuota/Namespace.vue +3 -3
  185. package/components/form/ResourceQuota/NamespaceRow.vue +3 -3
  186. package/components/form/ResourceQuota/Project.vue +7 -6
  187. package/components/form/ResourceQuota/ProjectRow.vue +113 -114
  188. package/components/form/ResourceSelector.vue +3 -3
  189. package/components/form/ResourceTabs/index.vue +1 -1
  190. package/components/form/RuleSelector.vue +7 -6
  191. package/components/form/SecretSelector.vue +5 -6
  192. package/components/form/Security.vue +14 -14
  193. package/components/form/Select.vue +21 -11
  194. package/components/form/SelectOrCreateAuthSecret.vue +30 -27
  195. package/components/form/ServiceNameSelect.vue +8 -5
  196. package/components/form/ServicePorts.vue +4 -4
  197. package/components/form/ShellInput.vue +3 -3
  198. package/components/form/SimpleSecretSelector.vue +2 -2
  199. package/components/form/Taints.vue +18 -11
  200. package/components/form/Tolerations.vue +12 -12
  201. package/components/form/UnitInput.vue +1 -1
  202. package/components/form/ValueFromResource.vue +17 -17
  203. package/components/form/WorkloadPorts.vue +21 -21
  204. package/components/form/__tests__/ArrayList.test.ts +14 -11
  205. package/components/form/__tests__/ArrayListGrouped.test.ts +4 -4
  206. package/components/form/__tests__/BannerSettings.test.ts +6 -5
  207. package/components/form/__tests__/Command.test.ts +12 -12
  208. package/components/form/__tests__/Error.test.ts +5 -5
  209. package/components/form/__tests__/FileImageSelector.test.ts +5 -5
  210. package/components/form/__tests__/FileSelector.test.ts +9 -9
  211. package/components/form/__tests__/InputWithSelect.test.ts +42 -0
  212. package/components/form/__tests__/KeyValue.test.ts +28 -18
  213. package/components/form/__tests__/LabeledSelect.test.ts +9 -9
  214. package/components/form/__tests__/MatchExpressions.test.ts +10 -10
  215. package/components/form/__tests__/NameNsDescription.test.ts +28 -25
  216. package/components/form/__tests__/NodeAffinity.test.ts +4 -3
  217. package/components/form/__tests__/PodAffinity.test.ts +4 -3
  218. package/components/form/__tests__/Probe.test.ts +6 -6
  219. package/components/form/__tests__/Security.test.ts +6 -6
  220. package/components/form/__tests__/Select.test.ts +30 -0
  221. package/components/form/__tests__/ServiceNameSelect.test.ts +42 -0
  222. package/components/form/__tests__/Taints.test.ts +71 -0
  223. package/components/form/__tests__/UnitInput.test.ts +20 -24
  224. package/components/form/labeled-select-utils/labeled-select.utils.ts +1 -1
  225. package/components/formatter/AppSummaryGraph.vue +4 -4
  226. package/components/formatter/ClusterLink.vue +1 -1
  227. package/components/formatter/Endpoints.vue +4 -1
  228. package/components/formatter/FleetSummaryGraph.vue +4 -4
  229. package/components/formatter/ListLink.vue +1 -1
  230. package/components/formatter/ListLinkDetail.vue +2 -2
  231. package/components/formatter/LiveExpiryBadgeState.vue +18 -5
  232. package/components/formatter/LiveExpiryDate.vue +1 -1
  233. package/components/formatter/MachineSummaryGraph.vue +4 -4
  234. package/components/formatter/PercentageBar.vue +1 -1
  235. package/components/formatter/Principal.vue +0 -1
  236. package/components/formatter/PrincipalGroupBindings.vue +5 -5
  237. package/components/formatter/ReceiverIcons.vue +5 -3
  238. package/components/formatter/Scale.vue +4 -4
  239. package/components/formatter/ServiceTargets.vue +1 -1
  240. package/components/formatter/VirtualServiceGateways.vue +1 -1
  241. package/components/formatter/Weight.vue +2 -2
  242. package/components/formatter/WorkloadDetailEndpoints.vue +4 -1
  243. package/components/formatter/WorkloadHealthScale.vue +5 -6
  244. package/components/formatter/__tests__/Checked.test.ts +2 -2
  245. package/components/formatter/__tests__/ClusterLink.test.ts +3 -3
  246. package/components/formatter/__tests__/Date.test.ts +8 -8
  247. package/components/formatter/__tests__/LinkDetail.test.ts +10 -10
  248. package/components/formatter/__tests__/LiveDate.test.ts +21 -15
  249. package/components/formatter/__tests__/PodsUsage.test.ts +5 -5
  250. package/components/formatter/__tests__/Si.test.ts +3 -3
  251. package/components/formatter/__tests__/WorkloadDetailEndpoints.test.ts +5 -5
  252. package/components/graph/LinePlot.vue +1 -2
  253. package/components/nav/Group.vue +11 -6
  254. package/components/nav/Header.vue +162 -128
  255. package/components/nav/Jump.vue +1 -1
  256. package/components/nav/NamespaceFilter.vue +1 -1
  257. package/components/nav/TopLevelMenu.vue +15 -18
  258. package/components/nav/Type.vue +7 -7
  259. package/components/nav/WindowManager/ContainerLogs.vue +53 -38
  260. package/components/nav/WindowManager/ContainerShell.vue +38 -37
  261. package/components/nav/WindowManager/Window.vue +1 -1
  262. package/components/nav/WindowManager/__tests__/ContainerLogs.test.ts +192 -184
  263. package/components/nav/WindowManager/__tests__/ContainerShell.test.ts +21 -17
  264. package/components/nav/WindowManager/index.vue +4 -4
  265. package/components/nav/WorkspaceSwitcher.vue +16 -16
  266. package/components/nav/__tests__/TopLevelMenu.test.ts +354 -308
  267. package/components/nav/__tests__/Type.test.ts +194 -111
  268. package/components/nuxt/nuxt-build-indicator.vue +79 -52
  269. package/components/nuxt/nuxt-child.js +24 -25
  270. package/components/nuxt/nuxt-error.vue +48 -18
  271. package/components/nuxt/nuxt-link.client.js +4 -3
  272. package/components/nuxt/nuxt-loading.vue +96 -85
  273. package/components/templates/blank.vue +0 -1
  274. package/components/templates/default.vue +0 -4
  275. package/components/templates/home.vue +4 -4
  276. package/components/templates/plain.vue +3 -2
  277. package/composables/useI18n.ts +1 -1
  278. package/composables/useLabeledFormElement.ts +12 -1
  279. package/composables/useUserRetentionValidation.test.ts +178 -0
  280. package/composables/useUserRetentionValidation.ts +201 -0
  281. package/config/__test__/home-links.test.ts +2 -7
  282. package/config/pagination-table-headers.js +5 -4
  283. package/config/product/auth.js +1 -1
  284. package/config/query-params.js +1 -0
  285. package/config/roles.ts +34 -19
  286. package/config/router/index.js +10 -7
  287. package/config/router/navigation-guards/attempt-first-login.js +1 -1
  288. package/config/router/navigation-guards/authentication.js +2 -1
  289. package/{middleware/authenticated.js → config/router/navigation-guards/clusters.js} +28 -86
  290. package/config/router/navigation-guards/history.js +13 -0
  291. package/config/router/navigation-guards/i18n.js +13 -0
  292. package/config/router/navigation-guards/index.js +9 -1
  293. package/config/router/navigation-guards/install-redirect.js +95 -0
  294. package/config/router/navigation-guards/load-initial-settings.js +1 -1
  295. package/config/router/navigation-guards/page-title.js +12 -0
  296. package/config/router/navigation-guards/products.js +15 -0
  297. package/config/router/navigation-guards/runtime-extension-route.js +31 -0
  298. package/config/router/navigation-guards/server-upgrade-growl.js +19 -0
  299. package/config/router/routes.js +49 -23
  300. package/config/settings.ts +1 -1
  301. package/config/store.js +2 -5
  302. package/config/types.js +18 -0
  303. package/config/uiplugins.js +2 -2
  304. package/core/plugin-routes.ts +11 -14
  305. package/core/plugin.ts +10 -10
  306. package/core/plugins-loader.js +1 -3
  307. package/core/plugins.js +7 -1
  308. package/core/types.ts +7 -7
  309. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +3 -3
  310. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +46 -4
  311. package/detail/__tests__/service.test.ts +6 -6
  312. package/detail/autoscaling.horizontalpodautoscaler/index.vue +6 -5
  313. package/detail/catalog.cattle.io.app.vue +2 -2
  314. package/detail/cis.cattle.io.clusterscan.vue +3 -3
  315. package/detail/configmap.vue +4 -1
  316. package/detail/fleet.cattle.io.cluster.vue +2 -1
  317. package/detail/fleet.cattle.io.clustergroup.vue +2 -1
  318. package/detail/fleet.cattle.io.gitrepo.vue +2 -1
  319. package/detail/harvesterhci.io.management.cluster.vue +2 -1
  320. package/detail/helm.cattle.io.projecthelmchart.vue +3 -3
  321. package/detail/management.cattle.io.user.vue +2 -1
  322. package/detail/namespace.vue +2 -1
  323. package/detail/networking.k8s.io.ingress.vue +4 -2
  324. package/detail/node.vue +2 -1
  325. package/detail/provisioning.cattle.io.cluster.vue +10 -11
  326. package/detail/secret.vue +3 -2
  327. package/detail/service.vue +2 -1
  328. package/detail/workload/index.vue +1 -19
  329. package/dialog/AddClusterMemberDialog.vue +30 -31
  330. package/dialog/AddCustomBadgeDialog.vue +101 -104
  331. package/dialog/AddProjectMemberDialog.vue +45 -46
  332. package/dialog/AddonConfigConfirmationDialog.vue +22 -24
  333. package/dialog/DeactivateDriverDialog.vue +35 -17
  334. package/dialog/DiagnosticTimingsDialog.vue +29 -29
  335. package/dialog/DrainNode.vue +245 -249
  336. package/dialog/ForceMachineRemoveDialog.vue +32 -34
  337. package/dialog/GenericPrompt.vue +23 -25
  338. package/dialog/RollbackWorkloadDialog.vue +68 -71
  339. package/dialog/RotateCertificatesDialog.vue +17 -18
  340. package/dialog/RotateEncryptionKeyDialog.vue +46 -47
  341. package/dialog/SaveAsRKETemplateDialog.vue +46 -47
  342. package/dialog/ScaleMachineDownDialog.vue +3 -3
  343. package/dialog/ScalePoolDownDialog.vue +22 -24
  344. package/dialog/SloDialog.vue +95 -0
  345. package/directives/clean-html.js +3 -3
  346. package/directives/clean-tooltip.js +1 -1
  347. package/directives/focus.js +17 -11
  348. package/directives/int-number.js +2 -2
  349. package/directives/positive-int-number.js +2 -2
  350. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +7 -13
  351. package/edit/__tests__/kontainerDriver.test.ts +23 -20
  352. package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +31 -29
  353. package/edit/__tests__/management.cattle.io.setting.test.ts +20 -18
  354. package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +17 -15
  355. package/edit/__tests__/namespace.test.ts +29 -26
  356. package/edit/__tests__/nodeDriver.test.ts +35 -53
  357. package/edit/__tests__/service.test.ts +20 -17
  358. package/edit/__tests__/ui.cattle.io.navlink.test.ts +22 -20
  359. package/edit/auth/__tests__/AuthProviderWarningBanners.test.ts +2 -2
  360. package/edit/auth/__tests__/azuread.test.ts +43 -45
  361. package/edit/auth/__tests__/oidc.test.ts +38 -41
  362. package/edit/auth/azuread.vue +16 -23
  363. package/edit/auth/github.vue +6 -6
  364. package/edit/auth/googleoauth.vue +7 -7
  365. package/edit/auth/ldap/config.vue +29 -29
  366. package/edit/auth/ldap/index.vue +5 -5
  367. package/edit/auth/oidc.vue +18 -18
  368. package/edit/auth/saml.vue +94 -24
  369. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
  370. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +7 -7
  371. package/edit/autoscaling.horizontalpodautoscaler/index.vue +18 -16
  372. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +3 -3
  373. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +3 -3
  374. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +12 -12
  375. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +5 -5
  376. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +3 -3
  377. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
  378. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  379. package/edit/catalog.cattle.io.clusterrepo.vue +31 -32
  380. package/edit/cis.cattle.io.clusterscan.vue +9 -9
  381. package/edit/cis.cattle.io.clusterscanbenchmark.vue +7 -7
  382. package/edit/cis.cattle.io.clusterscanprofile.vue +3 -3
  383. package/edit/cloudcredential.vue +13 -8
  384. package/edit/configmap.vue +7 -7
  385. package/edit/constraints.gatekeeper.sh.constraint/MatchKinds.vue +3 -3
  386. package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
  387. package/edit/constraints.gatekeeper.sh.constraint/Scope.vue +1 -1
  388. package/edit/constraints.gatekeeper.sh.constraint/index.vue +21 -22
  389. package/edit/fleet.cattle.io.cluster.vue +2 -1
  390. package/edit/fleet.cattle.io.clustergroup.vue +3 -2
  391. package/edit/fleet.cattle.io.gitrepo.vue +18 -18
  392. package/edit/helm.cattle.io.projecthelmchart.vue +4 -4
  393. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +3 -2
  394. package/edit/logging-flow/Match.vue +4 -4
  395. package/edit/logging-flow/index.vue +11 -10
  396. package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +79 -73
  397. package/edit/logging.banzaicloud.io.output/index.vue +4 -4
  398. package/edit/logging.banzaicloud.io.output/providers/__tests__/loki.test.ts +1 -1
  399. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  400. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +5 -5
  401. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +6 -6
  402. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +4 -4
  403. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +16 -16
  404. package/edit/logging.banzaicloud.io.output/providers/file.vue +1 -1
  405. package/edit/logging.banzaicloud.io.output/providers/forward.vue +9 -9
  406. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +5 -5
  407. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +14 -14
  408. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  409. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +3 -3
  410. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +3 -3
  411. package/edit/logging.banzaicloud.io.output/providers/logz.vue +5 -5
  412. package/edit/logging.banzaicloud.io.output/providers/loki.vue +10 -10
  413. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  414. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +15 -15
  415. package/edit/logging.banzaicloud.io.output/providers/redis.vue +5 -5
  416. package/edit/logging.banzaicloud.io.output/providers/s3.vue +7 -7
  417. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +12 -12
  418. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  419. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +19 -19
  420. package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
  421. package/edit/management.cattle.io.fleetworkspace.vue +6 -4
  422. package/edit/management.cattle.io.node.vue +1 -1
  423. package/edit/management.cattle.io.project.vue +13 -10
  424. package/edit/management.cattle.io.projectroletemplatebinding.vue +3 -3
  425. package/edit/management.cattle.io.setting.vue +6 -6
  426. package/edit/management.cattle.io.user.vue +4 -4
  427. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +4 -4
  428. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +2 -1
  429. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -5
  430. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +11 -11
  431. package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +2 -2
  432. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +10 -9
  433. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  434. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +5 -5
  435. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +5 -5
  436. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +9 -9
  437. package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +36 -36
  438. package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +4 -4
  439. package/edit/monitoring.coreos.com.prometheusrule/index.vue +9 -9
  440. package/edit/monitoring.coreos.com.receiver/auth.vue +9 -9
  441. package/edit/monitoring.coreos.com.receiver/index.vue +8 -8
  442. package/edit/monitoring.coreos.com.receiver/tls.vue +4 -4
  443. package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +20 -16
  444. package/edit/monitoring.coreos.com.receiver/types/email.vue +12 -11
  445. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +11 -11
  446. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +6 -6
  447. package/edit/monitoring.coreos.com.receiver/types/slack.vue +6 -6
  448. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +7 -7
  449. package/edit/monitoring.coreos.com.route.vue +10 -10
  450. package/edit/namespace.vue +7 -7
  451. package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -12
  452. package/edit/networking.istio.io.destinationrule/index.vue +15 -15
  453. package/edit/networking.k8s.io.ingress/Certificate.vue +5 -5
  454. package/edit/networking.k8s.io.ingress/Certificates.vue +2 -2
  455. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +18 -18
  456. package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
  457. package/edit/networking.k8s.io.ingress/Rule.vue +9 -7
  458. package/edit/networking.k8s.io.ingress/RulePath.vue +10 -10
  459. package/edit/networking.k8s.io.ingress/Rules.vue +3 -3
  460. package/edit/networking.k8s.io.ingress/index.vue +12 -8
  461. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +4 -4
  462. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +1 -1
  463. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +47 -32
  464. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +3 -3
  465. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +27 -26
  466. package/edit/networking.k8s.io.networkpolicy/index.vue +16 -14
  467. package/edit/node.vue +3 -2
  468. package/edit/nodeDriver.vue +6 -1
  469. package/edit/persistentvolume/__tests__/persistentvolume.test.ts +56 -50
  470. package/edit/persistentvolume/index.vue +23 -23
  471. package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +8 -8
  472. package/edit/persistentvolume/plugins/azureDisk.vue +10 -10
  473. package/edit/persistentvolume/plugins/azureFile.vue +6 -6
  474. package/edit/persistentvolume/plugins/cephfs.vue +10 -10
  475. package/edit/persistentvolume/plugins/cinder.vue +8 -8
  476. package/edit/persistentvolume/plugins/csi.vue +18 -18
  477. package/edit/persistentvolume/plugins/fc.vue +9 -9
  478. package/edit/persistentvolume/plugins/flexVolume.vue +9 -9
  479. package/edit/persistentvolume/plugins/flocker.vue +3 -3
  480. package/edit/persistentvolume/plugins/gcePersistentDisk.vue +8 -8
  481. package/edit/persistentvolume/plugins/glusterfs.vue +5 -5
  482. package/edit/persistentvolume/plugins/hostPath.vue +4 -4
  483. package/edit/persistentvolume/plugins/iscsi.vue +18 -18
  484. package/edit/persistentvolume/plugins/local.vue +2 -2
  485. package/edit/persistentvolume/plugins/longhorn.vue +8 -8
  486. package/edit/persistentvolume/plugins/nfs.vue +5 -5
  487. package/edit/persistentvolume/plugins/photonPersistentDisk.vue +5 -5
  488. package/edit/persistentvolume/plugins/portworxVolume.vue +6 -6
  489. package/edit/persistentvolume/plugins/quobyte.vue +7 -7
  490. package/edit/persistentvolume/plugins/rbd.vue +12 -12
  491. package/edit/persistentvolume/plugins/scaleIO.vue +15 -15
  492. package/edit/persistentvolume/plugins/storageos.vue +9 -9
  493. package/edit/persistentvolume/plugins/vsphereVolume.vue +5 -5
  494. package/edit/persistentvolumeclaim.vue +26 -25
  495. package/edit/policy.poddisruptionbudget.vue +12 -11
  496. package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +1 -1
  497. package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +10 -10
  498. package/edit/provisioning.cattle.io.cluster/Labels.vue +12 -1
  499. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +5 -5
  500. package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +40 -36
  501. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.test.ts +170 -78
  502. package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.test.ts +16 -14
  503. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +38 -8
  504. package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +14 -12
  505. package/edit/provisioning.cattle.io.cluster/__tests__/index.test.ts +18 -19
  506. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +285 -84
  507. package/edit/provisioning.cattle.io.cluster/import.vue +7 -4
  508. package/edit/provisioning.cattle.io.cluster/index.vue +32 -13
  509. package/edit/provisioning.cattle.io.cluster/rke2.vue +149 -78
  510. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +5 -5
  511. package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +10 -11
  512. package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +12 -11
  513. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +62 -24
  514. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +9 -9
  515. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +12 -12
  516. package/edit/provisioning.cattle.io.cluster/tabs/etcd/S3Config.vue +15 -15
  517. package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +6 -6
  518. package/edit/provisioning.cattle.io.cluster/tabs/networking/ACE.vue +3 -3
  519. package/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue +18 -9
  520. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +16 -12
  521. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryMirrors.vue +4 -4
  522. package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +64 -0
  523. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +8 -6
  524. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/DrainOptions.vue +15 -15
  525. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/index.vue +4 -4
  526. package/edit/resources.cattle.io.backup.vue +9 -9
  527. package/edit/resources.cattle.io.restore.vue +11 -11
  528. package/edit/secret/basic.vue +2 -2
  529. package/edit/secret/generic.vue +1 -1
  530. package/edit/secret/index.vue +12 -10
  531. package/edit/secret/registry.vue +4 -4
  532. package/edit/secret/ssh.vue +2 -2
  533. package/edit/secret/tls.vue +2 -2
  534. package/edit/service.vue +23 -23
  535. package/edit/serviceaccount.vue +4 -4
  536. package/edit/storage.k8s.io.storageclass/index.vue +13 -13
  537. package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +1 -1
  538. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
  539. package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +4 -4
  540. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +12 -12
  541. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +3 -3
  542. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +3 -3
  543. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +4 -4
  544. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +6 -6
  545. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +9 -9
  546. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +7 -7
  547. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +8 -8
  548. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +11 -11
  549. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +8 -8
  550. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +5 -5
  551. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +7 -7
  552. package/edit/token.vue +6 -5
  553. package/edit/ui.cattle.io.navlink.vue +28 -27
  554. package/edit/workload/Job.vue +16 -16
  555. package/edit/workload/Upgrading.vue +16 -16
  556. package/edit/workload/VolumeClaimTemplate.vue +3 -3
  557. package/edit/workload/__tests__/Job.test.ts +8 -8
  558. package/edit/workload/__tests__/index.test.ts +32 -29
  559. package/edit/workload/index.vue +29 -28
  560. package/edit/workload/mixins/workload.js +30 -30
  561. package/edit/workload/storage/ContainerMountPaths.vue +3 -4
  562. package/edit/workload/storage/Mount.vue +3 -3
  563. package/edit/workload/storage/__tests__/Mount.test.ts +13 -13
  564. package/edit/workload/storage/__tests__/Storage.test.ts +26 -20
  565. package/edit/workload/storage/awsElasticBlockStore.vue +4 -4
  566. package/edit/workload/storage/azureDisk.vue +7 -7
  567. package/edit/workload/storage/azureFile.vue +5 -5
  568. package/edit/workload/storage/csi/driver.longhorn.io.vue +3 -3
  569. package/edit/workload/storage/csi/index.vue +4 -4
  570. package/edit/workload/storage/emptyDir.vue +4 -4
  571. package/edit/workload/storage/ephemeralVolume/index.vue +3 -3
  572. package/edit/workload/storage/gcePersistentDisk.vue +4 -4
  573. package/edit/workload/storage/hostPath.vue +4 -4
  574. package/edit/workload/storage/index.vue +3 -4
  575. package/edit/workload/storage/nfs.vue +4 -4
  576. package/edit/workload/storage/persistentVolumeClaim/__tests__/persistentvolumeclaim.test.ts +18 -16
  577. package/edit/workload/storage/persistentVolumeClaim/index.vue +5 -5
  578. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +15 -15
  579. package/edit/workload/storage/secret.vue +9 -9
  580. package/edit/workload/storage/vsphereVolume.vue +4 -4
  581. package/initialize/App.vue +10 -8
  582. package/initialize/app-extended.js +14 -30
  583. package/initialize/entry-helpers.js +32 -429
  584. package/initialize/entry.js +11 -10
  585. package/initialize/install-plugins.js +15 -13
  586. package/list/__tests__/workload.test.ts +22 -20
  587. package/list/catalog.cattle.io.app.vue +1 -1
  588. package/list/cis.cattle.io.clusterscan.vue +1 -2
  589. package/list/fleet.cattle.io.clustergroup.vue +0 -1
  590. package/list/group.principal.vue +1 -1
  591. package/list/management.cattle.io.feature.vue +27 -31
  592. package/list/management.cattle.io.fleetworkspace.vue +0 -1
  593. package/list/management.cattle.io.setting.vue +2 -2
  594. package/list/management.cattle.io.user.vue +1 -1
  595. package/list/namespace.vue +0 -1
  596. package/list/node.vue +4 -5
  597. package/list/provisioning.cattle.io.cluster.vue +1 -1
  598. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +0 -1
  599. package/machine-config/__tests__/vmwarevsphere.test.ts +10 -7
  600. package/machine-config/amazonec2.vue +26 -26
  601. package/machine-config/azure.vue +31 -31
  602. package/machine-config/digitalocean.vue +8 -8
  603. package/machine-config/generic.vue +2 -1
  604. package/machine-config/linode.vue +4 -4
  605. package/machine-config/pnap.vue +11 -11
  606. package/machine-config/vmwarevsphere-config.ts +17 -0
  607. package/machine-config/vmwarevsphere.vue +400 -410
  608. package/mixins/__tests__/chart.test.ts +45 -24
  609. package/mixins/auth-config.js +37 -11
  610. package/mixins/chart.js +31 -15
  611. package/mixins/compact-input.ts +2 -3
  612. package/mixins/labeled-form-element.ts +8 -3
  613. package/mixins/resource-fetch.js +4 -3
  614. package/models/__tests__/apps.deployment.test.ts +93 -0
  615. package/models/apps.deployment.js +18 -4
  616. package/models/apps.statefulset.js +1 -2
  617. package/models/batch.cronjob.js +1 -2
  618. package/models/catalog.cattle.io.clusterrepo.js +1 -2
  619. package/models/driver.js +3 -2
  620. package/models/fleet.cattle.io.gitrepo.js +1 -2
  621. package/models/helm.cattle.io.projecthelmchart.js +2 -3
  622. package/models/kontainerdriver.js +30 -13
  623. package/models/management.cattle.io.authconfig.js +2 -2
  624. package/models/management.cattle.io.cluster.js +2 -2
  625. package/models/management.cattle.io.roletemplate.js +2 -3
  626. package/models/namespace.js +1 -2
  627. package/models/networking.istio.io.destinationrule.js +2 -3
  628. package/models/nodedriver.js +30 -13
  629. package/models/persistentvolumeclaim.js +2 -3
  630. package/models/provisioning.cattle.io.cluster.js +4 -0
  631. package/models/workload.js +2 -2
  632. package/package.json +44 -42
  633. package/pages/404.vue +15 -0
  634. package/pages/__tests__/prefs.test.ts +44 -44
  635. package/pages/about.vue +4 -4
  636. package/pages/account/index.vue +1 -2
  637. package/pages/auth/login.vue +29 -9
  638. package/pages/auth/logout.vue +23 -1
  639. package/pages/auth/setup.vue +35 -31
  640. package/pages/auth/verify.vue +38 -5
  641. package/pages/c/_cluster/_product/namespaces.vue +1 -2
  642. package/pages/c/_cluster/apps/charts/chart.vue +4 -4
  643. package/pages/c/_cluster/apps/charts/index.vue +16 -16
  644. package/pages/c/_cluster/apps/charts/install.vue +49 -82
  645. package/pages/c/_cluster/auth/config/index.vue +2 -2
  646. package/pages/c/_cluster/auth/roles/index.vue +2 -2
  647. package/pages/c/_cluster/auth/user.retention/index.vue +34 -95
  648. package/pages/c/_cluster/explorer/EventsTable.vue +1 -1
  649. package/pages/c/_cluster/explorer/__tests__/index.test.ts +32 -34
  650. package/pages/c/_cluster/explorer/index.vue +9 -6
  651. package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +22 -20
  652. package/pages/c/_cluster/fleet/index.vue +5 -6
  653. package/pages/c/_cluster/gatekeeper/index.vue +4 -5
  654. package/pages/c/_cluster/istio/index.vue +4 -6
  655. package/pages/c/_cluster/logging/index.vue +9 -5
  656. package/pages/c/_cluster/longhorn/__tests__/longhorn.index.test.ts +7 -5
  657. package/pages/c/_cluster/longhorn/index.vue +2 -9
  658. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +1 -4
  659. package/pages/c/_cluster/manager/drivers/nodeDriver/index.vue +1 -4
  660. package/pages/c/_cluster/manager/jwt.authentication/index.vue +14 -5
  661. package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
  662. package/pages/c/_cluster/monitoring/index.vue +7 -9
  663. package/pages/c/_cluster/neuvector/index.vue +7 -10
  664. package/pages/c/_cluster/settings/DefaultLinksEditor.vue +7 -9
  665. package/pages/c/_cluster/settings/banners.vue +82 -84
  666. package/pages/c/_cluster/settings/brand.vue +21 -19
  667. package/pages/c/_cluster/settings/links.vue +6 -4
  668. package/pages/c/_cluster/settings/performance.vue +25 -21
  669. package/pages/c/_cluster/uiplugins/AddExtensionRepos.vue +2 -2
  670. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +43 -45
  671. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +5 -5
  672. package/pages/c/_cluster/uiplugins/InstallDialog.vue +3 -2
  673. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +3 -3
  674. package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +20 -15
  675. package/pages/c/_cluster/uiplugins/__tests__/SetupUIPlugins.test.ts +12 -9
  676. package/pages/c/_cluster/uiplugins/index.vue +173 -176
  677. package/pages/diagnostic.vue +6 -9
  678. package/pages/fail-whale.vue +3 -1
  679. package/pages/home.vue +8 -17
  680. package/pages/index.vue +17 -16
  681. package/pages/prefs.vue +12 -12
  682. package/pages/support/index.vue +3 -3
  683. package/pkg/tsconfig.json +0 -1
  684. package/plugins/clean-html-directive.js +4 -3
  685. package/plugins/clean-tooltip-directive.js +4 -3
  686. package/plugins/dashboard-store/actions.js +1 -1
  687. package/plugins/dashboard-store/getters.js +1 -1
  688. package/plugins/dashboard-store/index.js +2 -0
  689. package/plugins/dashboard-store/mutations.js +5 -5
  690. package/plugins/dashboard-store/resource-class.js +5 -5
  691. package/plugins/extend-router.js +62 -42
  692. package/plugins/floating-vue.js +1 -0
  693. package/plugins/formatters.js +1 -1
  694. package/plugins/global-formatters.js +3 -14
  695. package/plugins/i18n.js +17 -22
  696. package/plugins/int-number.js +4 -3
  697. package/plugins/positive-int-number.js +4 -3
  698. package/plugins/shortkey.js +273 -0
  699. package/plugins/steve/__tests__/getters.test.ts +6 -3
  700. package/plugins/steve/getters.js +6 -4
  701. package/plugins/steve/hybrid-class.js +7 -12
  702. package/plugins/steve/mutations.js +1 -2
  703. package/plugins/steve/norman-class.js +10 -11
  704. package/plugins/steve/subscribe.js +3 -1
  705. package/plugins/trim-whitespace.js +4 -3
  706. package/promptRemove/management.cattle.io.globalrole.vue +1 -5
  707. package/promptRemove/management.cattle.io.project.vue +1 -1
  708. package/promptRemove/pod.vue +16 -8
  709. package/public/index.html +53 -52
  710. package/rancher-components/BadgeState/BadgeState.test.ts +1 -1
  711. package/rancher-components/BadgeState/BadgeState.vue +1 -1
  712. package/rancher-components/Banner/Banner.test.ts +2 -2
  713. package/rancher-components/Form/Checkbox/Checkbox.test.ts +5 -5
  714. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -4
  715. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +5 -5
  716. package/rancher-components/Form/LabeledInput/LabeledInput.vue +15 -4
  717. package/rancher-components/Form/Radio/RadioButton.vue +3 -2
  718. package/rancher-components/Form/Radio/RadioGroup.test.ts +6 -9
  719. package/rancher-components/Form/Radio/RadioGroup.vue +4 -5
  720. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +18 -1
  721. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +13 -13
  722. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -1
  723. package/rancher-components/StringList/StringList.test.ts +22 -22
  724. package/rancher-components/StringList/StringList.vue +10 -9
  725. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
  726. package/scripts/publish-shell.sh +53 -58
  727. package/scripts/test-plugins-build.sh +44 -38
  728. package/scripts/vue-migrate.js +7 -4
  729. package/shell/types/shell/index.d.ts +2 -0
  730. package/store/__tests__/catalog.test.ts +4 -21
  731. package/store/auth.js +29 -11
  732. package/store/index.js +17 -9
  733. package/store/prefs.js +3 -4
  734. package/types/resources/settings.d.ts +54 -0
  735. package/types/store/pagination.types.ts +1 -1
  736. package/utils/__tests__/kontainer.test.ts +89 -1
  737. package/utils/auth.js +22 -7
  738. package/utils/axios.js +1 -1
  739. package/utils/download.js +1 -1
  740. package/utils/dynamic-importer.js +14 -12
  741. package/utils/error.js +4 -4
  742. package/utils/kontainer.ts +5 -1
  743. package/utils/object.js +4 -5
  744. package/utils/router.js +7 -1
  745. package/utils/select.js +1 -1
  746. package/utils/settings.ts +3 -1
  747. package/utils/unit-tests/ChildRenderingRouterLinkStub.ts +4 -4
  748. package/utils/version.js +2 -1
  749. package/vue.config.js +404 -396
  750. package/config/middleware.js +0 -6
  751. package/config/nuxt-paths.js +0 -7
  752. package/creators/app/app.package.json +0 -13
  753. package/creators/app/files/.eslintignore +0 -16
  754. package/creators/app/files/.eslintrc.js +0 -173
  755. package/creators/app/files/.gitignore +0 -70
  756. package/creators/app/files/.gitlab-ci.yml +0 -14
  757. package/creators/app/files/.vscode/settings.json +0 -21
  758. package/creators/app/files/babel.config.js +0 -1
  759. package/creators/app/files/tsconfig.json +0 -42
  760. package/creators/app/files/vue.config.js +0 -6
  761. package/creators/app/init +0 -120
  762. package/creators/app/package.json +0 -25
  763. package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +0 -24
  764. package/creators/pkg/files/.github/workflows/build-extension-charts.yml +0 -22
  765. package/creators/pkg/files/babel.config.js +0 -1
  766. package/creators/pkg/files/index.ts +0 -14
  767. package/creators/pkg/files/tsconfig.json +0 -53
  768. package/creators/pkg/files/vue.config.js +0 -1
  769. package/creators/pkg/init +0 -286
  770. package/creators/pkg/package.json +0 -19
  771. package/creators/pkg/pkg.package.json +0 -21
  772. package/creators/pkg/vue-shim.ts +0 -4
  773. package/creators/update/init +0 -56
  774. package/creators/update/package.json +0 -20
  775. package/creators/update/upgrade +0 -56
  776. package/pages/c/_cluster/backup/index.vue +0 -11
  777. package/pages/c/_cluster/cis/index.vue +0 -11
  778. package/plugins/directives.js +0 -8
  779. package/plugins/vue-js-modal.js +0 -4
  780. package/rancher-components/components/Accordion/Accordion.test.ts +0 -45
  781. package/rancher-components/components/Accordion/Accordion.vue +0 -86
  782. package/rancher-components/components/Accordion/index.ts +0 -1
  783. package/rancher-components/components/BadgeState/BadgeState.test.ts +0 -12
  784. package/rancher-components/components/BadgeState/BadgeState.vue +0 -111
  785. package/rancher-components/components/BadgeState/index.ts +0 -1
  786. package/rancher-components/components/Banner/Banner.test.ts +0 -59
  787. package/rancher-components/components/Banner/Banner.vue +0 -244
  788. package/rancher-components/components/Banner/index.ts +0 -1
  789. package/rancher-components/components/Card/Card.test.ts +0 -37
  790. package/rancher-components/components/Card/Card.vue +0 -167
  791. package/rancher-components/components/Card/index.ts +0 -1
  792. package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +0 -68
  793. package/rancher-components/components/Form/Checkbox/Checkbox.vue +0 -421
  794. package/rancher-components/components/Form/Checkbox/index.ts +0 -1
  795. package/rancher-components/components/Form/LabeledInput/LabeledInput.test.ts +0 -40
  796. package/rancher-components/components/Form/LabeledInput/LabeledInput.vue +0 -402
  797. package/rancher-components/components/Form/LabeledInput/index.ts +0 -1
  798. package/rancher-components/components/Form/Radio/RadioButton.test.ts +0 -33
  799. package/rancher-components/components/Form/Radio/RadioButton.vue +0 -293
  800. package/rancher-components/components/Form/Radio/RadioGroup.test.ts +0 -30
  801. package/rancher-components/components/Form/Radio/RadioGroup.vue +0 -259
  802. package/rancher-components/components/Form/Radio/index.ts +0 -2
  803. package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +0 -172
  804. package/rancher-components/components/Form/TextArea/index.ts +0 -1
  805. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +0 -94
  806. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +0 -152
  807. package/rancher-components/components/Form/ToggleSwitch/index.ts +0 -1
  808. package/rancher-components/components/Form/index.ts +0 -5
  809. package/rancher-components/components/LabeledTooltip/LabeledTooltip.vue +0 -156
  810. package/rancher-components/components/LabeledTooltip/index.ts +0 -1
  811. package/rancher-components/components/StringList/StringList.test.ts +0 -754
  812. package/rancher-components/components/StringList/StringList.vue +0 -650
  813. package/rancher-components/components/StringList/index.ts +0 -1
  814. package/types/shell/index.d.ts +0 -4585
  815. package/utils/install-redirect.js +0 -55
  816. /package/utils/{cookie-universal-nuxt.js → cookie-universal.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable jest/no-hooks */
2
- import { mount, Wrapper } from '@vue/test-utils';
2
+ import { mount, VueWrapper } from '@vue/test-utils';
3
3
  import { StringList } from './index';
4
4
 
5
5
  describe('stringList.vue', () => {
6
- let wrapper: Wrapper<InstanceType<typeof StringList>>;
6
+ let wrapper: VueWrapper<InstanceType<typeof StringList>>;
7
7
 
8
8
  beforeEach(() => {
9
9
  wrapper = mount(StringList, { propsData: { items: [] } });
@@ -80,7 +80,7 @@ describe('stringList.vue', () => {
80
80
 
81
81
  const inputField = wrapper.find('[data-testid^="item-edit"]');
82
82
 
83
- expect(inputField.element).toBeUndefined();
83
+ expect(inputField.exists()).toBe(false);
84
84
  });
85
85
 
86
86
  it('double click on empty space to create item not allowed when readonly', async() => {
@@ -96,7 +96,7 @@ describe('stringList.vue', () => {
96
96
 
97
97
  const inputField = wrapper.find('[data-testid="item-create"]');
98
98
 
99
- expect(inputField.element).toBeUndefined();
99
+ expect(inputField.exists()).toBe(false);
100
100
  });
101
101
 
102
102
  it('select item not allowed when readonly', async() => {
@@ -142,7 +142,7 @@ describe('stringList.vue', () => {
142
142
  await wrapper.setProps({ readonly: true });
143
143
  const actionButtons = wrapper.find('[data-testid="div-action-buttons"]');
144
144
 
145
- expect(actionButtons.element).toBeUndefined();
145
+ expect(actionButtons.exists()).toBe(false);
146
146
  });
147
147
 
148
148
  describe('add button', () => {
@@ -257,7 +257,7 @@ describe('stringList.vue', () => {
257
257
 
258
258
  const inputField = await wrapper.find('[data-testid="item-create"]');
259
259
 
260
- expect(inputField.element).toBeUndefined();
260
+ expect(inputField.exists()).toBe(false);
261
261
  });
262
262
 
263
263
  it('deactivates edit mode', async() => {
@@ -275,7 +275,7 @@ describe('stringList.vue', () => {
275
275
 
276
276
  const inputField = wrapper.find('[data-testid^="item-edit"]');
277
277
 
278
- expect(inputField.element).toBeUndefined();
278
+ expect(inputField.exists()).toBe(false);
279
279
  });
280
280
  });
281
281
  });
@@ -297,7 +297,7 @@ describe('stringList.vue', () => {
297
297
  await inputField.trigger('keydown.enter');
298
298
  await wrapper.vm.$nextTick();
299
299
 
300
- const emitted = (wrapper.emitted('change') || [])[0][0][0];
300
+ const emitted = (wrapper.emitted('change') || [])[1][0][0];
301
301
 
302
302
  expect(emitted).toBe(validItem.trim());
303
303
  });
@@ -318,7 +318,7 @@ describe('stringList.vue', () => {
318
318
  await inputField.trigger('keydown.enter');
319
319
  await wrapper.vm.$nextTick();
320
320
 
321
- const emitted = (wrapper.emitted('change') || [])[0][0][0];
321
+ const emitted = (wrapper.emitted('change') || [])[1][0][0];
322
322
 
323
323
  expect(emitted).toBe(validItem.trim());
324
324
  });
@@ -336,7 +336,7 @@ describe('stringList.vue', () => {
336
336
  await inputField.trigger('keydown.enter');
337
337
  await wrapper.vm.$nextTick();
338
338
 
339
- expect(wrapper.emitted('change')).toBeFalsy();
339
+ expect(wrapper.emitted('change')[1]).toBeFalsy();
340
340
  });
341
341
 
342
342
  it('reject a new item in create mode when item name is duplicate', async() => {
@@ -356,7 +356,7 @@ describe('stringList.vue', () => {
356
356
  await inputField.trigger('keydown.enter');
357
357
  await wrapper.vm.$nextTick();
358
358
 
359
- expect(wrapper.emitted('change')).toBeFalsy();
359
+ expect(wrapper.emitted('change')[1]).toBeFalsy();
360
360
  });
361
361
 
362
362
  it('reject an item in edit mode when item name is empty', async() => {
@@ -375,7 +375,7 @@ describe('stringList.vue', () => {
375
375
  await inputField.trigger('keydown.enter');
376
376
  await wrapper.vm.$nextTick();
377
377
 
378
- expect(wrapper.emitted('change')).toBeFalsy();
378
+ expect(wrapper.emitted('change')[1]).toBeFalsy();
379
379
  });
380
380
 
381
381
  it('reject an item in edit mode when item name is duplicate', async() => {
@@ -394,7 +394,7 @@ describe('stringList.vue', () => {
394
394
  await inputField.trigger('keydown.enter');
395
395
  await wrapper.vm.$nextTick();
396
396
 
397
- expect(wrapper.emitted('change')).toBeFalsy();
397
+ expect(wrapper.emitted('change')[1]).toBeFalsy();
398
398
  });
399
399
  });
400
400
 
@@ -428,7 +428,7 @@ describe('stringList.vue', () => {
428
428
  await inputField.trigger('keydown.enter');
429
429
  await wrapper.vm.$nextTick();
430
430
 
431
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
431
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
432
432
 
433
433
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
434
434
  });
@@ -485,7 +485,7 @@ describe('stringList.vue', () => {
485
485
  await inputField.trigger('keydown.enter');
486
486
  await wrapper.vm.$nextTick();
487
487
 
488
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
488
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
489
489
 
490
490
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
491
491
  });
@@ -504,7 +504,7 @@ describe('stringList.vue', () => {
504
504
  await inputField.trigger('keydown.enter');
505
505
  await wrapper.vm.$nextTick();
506
506
 
507
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
507
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
508
508
 
509
509
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
510
510
  });
@@ -523,7 +523,7 @@ describe('stringList.vue', () => {
523
523
  await inputField.trigger('keydown.enter');
524
524
  await wrapper.vm.$nextTick();
525
525
 
526
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
526
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
527
527
 
528
528
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
529
529
  });
@@ -555,7 +555,7 @@ describe('stringList.vue', () => {
555
555
  await inputField.trigger('keydown.enter');
556
556
  await wrapper.vm.$nextTick();
557
557
 
558
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
558
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
559
559
 
560
560
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
561
561
  });
@@ -607,7 +607,7 @@ describe('stringList.vue', () => {
607
607
  await inputField.trigger('keydown.enter');
608
608
  await wrapper.vm.$nextTick();
609
609
 
610
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
610
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
611
611
 
612
612
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
613
613
  });
@@ -625,7 +625,7 @@ describe('stringList.vue', () => {
625
625
  await inputField.trigger('keydown.enter');
626
626
  await wrapper.vm.$nextTick();
627
627
 
628
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
628
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
629
629
 
630
630
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
631
631
  });
@@ -643,7 +643,7 @@ describe('stringList.vue', () => {
643
643
  await inputField.trigger('keydown.enter');
644
644
  await wrapper.vm.$nextTick();
645
645
 
646
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
646
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
647
647
 
648
648
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
649
649
  });
@@ -661,7 +661,7 @@ describe('stringList.vue', () => {
661
661
  await inputField.trigger('keydown.enter');
662
662
  await wrapper.vm.$nextTick();
663
663
 
664
- const itemsResult = (wrapper.emitted('change') || [])[0][0];
664
+ const itemsResult = (wrapper.emitted('change') || [])[1][0];
665
665
 
666
666
  expect(JSON.stringify(itemsResult)).toBe(JSON.stringify(result));
667
667
  });
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- import Vue, { PropType, defineComponent } from 'vue';
2
+ // @ts-nocheck
3
+ import { PropType, defineComponent } from 'vue';
3
4
 
4
5
  import LabeledInput from '@components/Form/LabeledInput/LabeledInput.vue';
5
6
  import { findStringIndex, hasDuplicatedStrings } from '@shell/utils/array';
@@ -219,7 +220,7 @@ export default defineComponent({
219
220
  },
220
221
 
221
222
  setFocus(refId: string) {
222
- this.$nextTick(() => (this.getElemByRef(refId) as Vue & HTMLElement)?.focus());
223
+ this.$nextTick(() => (this.getElemByRef(refId) as HTMLElement)?.focus());
223
224
  },
224
225
 
225
226
  /**
@@ -256,7 +257,7 @@ export default defineComponent({
256
257
  },
257
258
 
258
259
  toggleErrorClass(refId: string, val: boolean) {
259
- const input = (this.getElemByRef(refId) as Vue)?.$el;
260
+ const input = (this.getElemByRef(refId))?.$el;
260
261
 
261
262
  if (input) {
262
263
  if (val) {
@@ -433,7 +434,7 @@ export default defineComponent({
433
434
  >
434
435
  <div
435
436
  v-for="(item, index) in items"
436
- :key="item"
437
+ :key="index"
437
438
  :ref="item"
438
439
  :class="{
439
440
  selected: selected === item,
@@ -460,9 +461,9 @@ export default defineComponent({
460
461
  :data-testid="`item-edit-${item}`"
461
462
  class="edit-input static"
462
463
  :value="value != null ? value : item"
463
- @input="onChange($event, index)"
464
+ @update:value="onChange($event, index)"
464
465
  @blur.prevent="updateItem(item)"
465
- @keydown.native.enter="updateItem(item, !errors.duplicate)"
466
+ @keydown.enter="updateItem(item, !errors.duplicate)"
466
467
  />
467
468
  </div>
468
469
  <div
@@ -476,9 +477,9 @@ export default defineComponent({
476
477
  type="text"
477
478
  :value="value"
478
479
  :placeholder="placeholder"
479
- @input="onChange($event)"
480
+ @update:value="onChange($event)"
480
481
  @blur.prevent="saveItem"
481
- @keydown.native.enter="saveItem(!errors.duplicate)"
482
+ @keydown.enter="saveItem(!errors.duplicate)"
482
483
  />
483
484
  </div>
484
485
  </div>
@@ -637,7 +638,7 @@ export default defineComponent({
637
638
  }
638
639
  }
639
640
 
640
- ::v-deep {
641
+ :deep() {
641
642
  .labeled-input INPUT.no-label,
642
643
  .labeled-input INPUT:hover.no-label,
643
644
  .labeled-input INPUT:focus.no-label {
@@ -1,6 +1,6 @@
1
1
  annotations:
2
2
  catalog.cattle.io/certified: rancher # Any application we are adding as a helm chart
3
- catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.29.0-0'
3
+ catalog.cattle.io/kube-version: '>= 1.16.0-0'
4
4
  catalog.cattle.io/namespace: cattle-ui-plugin-system # Must prefix with cattle- and suffix with -system=
5
5
  catalog.cattle.io/os: linux
6
6
  catalog.cattle.io/permits-os: linux, windows
@@ -6,10 +6,16 @@ BASE_DIR="$(
6
6
  pwd
7
7
  )"
8
8
  SHELL_DIR=$BASE_DIR/shell/
9
- TMP_DIR=$BASE_DIR/tmp
10
- PUBLISH_ARGS="--no-git-tag-version --access public $PUBLISH_ARGS"
9
+ CREATORS_DIR=$BASE_DIR/creators/extension
10
+ PUBLISH_ARGS="--no-git-tag-version --access public --registry $NPM_REGISTRY $NPM_TAG"
11
11
  FORCE_PUBLISH_TO_NPM="false"
12
- DEFAULT_YARN_REGISTRY="https://registry.npmjs.org"
12
+ DEFAULT_NPM_REGISTRY="https://registry.npmjs.org"
13
+
14
+ # if TAG doesn't exist, we can exit as it's needed for any type of publish.
15
+ if [ -z "$TAG" ]; then
16
+ echo "You need to set the TAG variable first!"
17
+ exit 1
18
+ fi
13
19
 
14
20
  if [ ! -d "${BASE_DIR}/node_modules" ]; then
15
21
  echo "You need to run 'yarn install' first"
@@ -23,72 +29,44 @@ if [ "$1" == "--npm" ]; then
23
29
  fi
24
30
 
25
31
  if [ "$FORCE_PUBLISH_TO_NPM" == "true" ]; then
26
- export YARN_REGISTRY=$DEFAULT_YARN_REGISTRY
32
+ export NPM_REGISTRY=$DEFAULT_NPM_REGISTRY
27
33
  fi
28
34
 
29
- # We use the version from the shell package for the creator packages
30
- # Need to copy them to a temporary location, so we can patch the version number
31
- # before publishing
32
-
33
- # To set a token for NPM registry auth: `npm config set //registry.npmjs.org/:_authToken <TOKEN>``
34
-
35
- PKG_DIST=$BASE_DIR/dist-pkg/creators
36
- mkdir -p ${PKG_DIST}
37
- rm -rf ${PKG_DIST}/app
38
- rm -rf ${PKG_DIST}/pkg
39
- rm -rf ${PKG_DIST}/update
40
-
41
35
  pushd ${SHELL_DIR} >/dev/null
42
36
 
43
- PKG_VERSION=$(node -p "require('./package.json').version")
44
- popd >/dev/null
45
-
46
- echo "Publishing version: $PKG_VERSION"
47
-
48
- cp -R ${SHELL_DIR}/creators/app ${PKG_DIST}
49
- cp -R ${SHELL_DIR}/creators/pkg ${PKG_DIST}
50
- cp -R ${SHELL_DIR}/creators/update ${PKG_DIST}
51
-
52
- sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/app/package.json
53
- sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/pkg/package.json
54
- sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/update/package.json
55
-
56
- rm ${PKG_DIST}/app/package.json.bak
57
- rm ${PKG_DIST}/pkg/package.json.bak
58
- rm ${PKG_DIST}/update/package.json.bak
59
-
60
37
  function publish() {
61
38
  NAME=$1
62
39
  FOLDER=$2
63
40
 
41
+ # if we pass a third arg, that is the version number
42
+ # that we want to actually publish on NPM
43
+ # they should match with the package.json version stated
44
+ # because of the check in the "Check Tags Version Matching" step in the workflow
45
+ if [ -n "$3" ]; then
46
+ PKG_VERSION=$3
47
+ fi
48
+
49
+ # if the PKG_VERSION has a - it means it will be a pre-release
50
+ if [[ $PKG_VERSION == *"-"* ]]; then
51
+ PUBLISH_ARGS="--no-git-tag-version --access public --registry $NPM_REGISTRY --tag pre-release"
52
+ fi
53
+
64
54
  echo "Publishing ${NAME} from ${FOLDER}"
65
55
  pushd ${FOLDER} >/dev/null
66
56
 
67
57
  # For now, copy the rancher components into the shell and ship them with it
68
58
  if [ "$NAME" == "Shell" ]; then
69
59
  echo "Adding Rancher Components"
60
+ rm -rf ./rancher-components
70
61
  cp -R ${BASE_DIR}/pkg/rancher-components/src/components ./rancher-components/
71
62
  fi
72
63
 
73
- if [ "$NAME" == "Update" ]; then
74
- # Add files from the app and pkg creators to the update package
75
- mkdir -p ./app
76
- mkdir -p ./pkg
77
- cp -R ${BASE_DIR}/shell/creators/app/* ./app
78
- cp -R ${BASE_DIR}/shell/creators/pkg/* ./pkg
79
- # Remove index.ts from pkg files, as we don't want to replace that
80
- rm -f ./pkg/files/index.ts
81
-
82
- # Update the package.json for the app
83
- cd app
84
- node ${SCRIPT_DIR}/record-deps.js
85
- cd ..
86
- fi
87
-
88
64
  # Make a note of dependency versions, if required
89
65
  node ${SCRIPT_DIR}/record-deps.js
90
66
 
91
- yarn publish . --new-version ${PKG_VERSION} ${PUBLISH_ARGS}
67
+ echo "Publishing to registry: $NPM_REGISTRY"
68
+
69
+ npm publish ${PUBLISH_ARGS}
92
70
  RET=$?
93
71
 
94
72
  popd >/dev/null
@@ -99,15 +77,32 @@ function publish() {
99
77
  fi
100
78
  }
101
79
 
102
- # Generate the type definitions for the shell
103
- ${SCRIPT_DIR}/typegen.sh
104
-
105
- # Publish the packages - don't tag the git repo and don't auto-increment the version number
106
- publish "Shell" ${SHELL_DIR}
107
- publish "Application creator" ${PKG_DIST}/app/
108
- publish "Package creator" ${PKG_DIST}/pkg/
109
- publish "Update" ${PKG_DIST}/update/
80
+ echo "TAG ${TAG}"
81
+
82
+ # let's get the package name and version from the tag
83
+ PKG_NAME=$(sed 's/-pkg-v.*//' <<< "$TAG")
84
+ PKG_V=$(sed 's/.*-pkg-v//'<<< "$TAG")
110
85
 
111
- echo "Done"
86
+ echo "PKG_NAME ${PKG_NAME}"
87
+ echo "PKG_V ${PKG_V}"
112
88
 
89
+ # Generate the type definitions for the shell
90
+ if [ ${PKG_NAME} == "shell" ]; then
91
+ ${SCRIPT_DIR}/typegen.sh
92
+ fi
113
93
 
94
+ # version comparison checks
95
+ case $PKG_NAME in
96
+ "shell")
97
+ echo "Publishing only Shell pkg via tagged release"
98
+ publish "Shell" ${SHELL_DIR} ${PKG_V}
99
+ ;;
100
+ "creators")
101
+ echo "Publishing only Creators pkg via tagged release"
102
+ publish "Extension creator" ${CREATORS_DIR} ${PKG_V}
103
+ ;;
104
+ *)
105
+ echo "something went wrong with the tagging name => TAG: ${TAG} , PKG_NAME: ${PKG_NAME}. Admissable names are 'shell' and 'creator'"
106
+ exit 1
107
+ ;;
108
+ esac
@@ -8,8 +8,8 @@ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
8
8
  BASE_DIR="$( cd $SCRIPT_DIR && cd ../.. & pwd)"
9
9
  SHELL_DIR=$BASE_DIR/shell/
10
10
  SHELL_VERSION="99.99.99"
11
- DEFAULT_YARN_REGISTRY="https://registry.npmjs.org"
12
- VERDACCIO_YARN_REGISTRY="http://localhost:4873"
11
+ DEFAULT_NPM_REGISTRY="https://registry.npmjs.org/"
12
+ VERDACCIO_NPM_REGISTRY="http://localhost:4873"
13
13
 
14
14
  echo ${SCRIPT_DIR}
15
15
 
@@ -69,11 +69,11 @@ else
69
69
  rm -rf ~/.config/verdaccio/storage/@rancher/*
70
70
  fi
71
71
 
72
- export YARN_REGISTRY=$VERDACCIO_YARN_REGISTRY
72
+ export NPM_REGISTRY=$VERDACCIO_NPM_REGISTRY
73
73
  export NUXT_TELEMETRY_DISABLED=1
74
74
 
75
75
  # Remove test package from previous run, if present
76
- if [ $TEST_PERSIST_BUILD != "true" ]; then
76
+ if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
77
77
  echo "Removing folder ${BASE_DIR}/pkg/test-pkg"
78
78
  rm -rf ${BASE_DIR}/pkg/test-pkg
79
79
  fi
@@ -81,20 +81,34 @@ fi
81
81
  # We need to patch the version number of the shell, otherwise if we are running
82
82
  # with the currently published version, things will fail as those versions
83
83
  # are already published and Verdaccio will check, since it is a read-through cache
84
- sed -i.bak -e "s/\"version\": \"[0-9]*.[0-9]*.[0-9]*\(-alpha\.[0-9]*\|-release[0-9]*.[0-9]*.[0-9]*\|-rc\.[0-9]*\)\{0,1\}\",/\"version\": \"${SHELL_VERSION}\",/g" ${SHELL_DIR}/package.json
85
- rm ${SHELL_DIR}/package.json.bak
84
+ update_version_in_package_json() {
85
+ local package_json_path="$1"
86
+ local version="$2"
86
87
 
87
- # Same as above for Rancher Components
88
- # We might have bumped the version number but its not published yet, so this will fail
89
- sed -i.bak -e "s/\"version\": \"[0-9]*.[0-9]*.[0-9]*\(-alpha\.[0-9]*\|-release[0-9]*.[0-9]*.[0-9]*\|-rc\.[0-9]*\)\{0,1\}\",/\"version\": \"${SHELL_VERSION}\",/g" ${BASE_DIR}/pkg/rancher-components/package.json
88
+ sed -i.bak -e "s/\"version\": \"[0-9]*.[0-9]*.[0-9]*\(-alpha\.[0-9]*\|-release[0-9]*.[0-9]*.[0-9]*\|-rc\.[0-9]*\)\{0,1\}\",/\"version\": \"${version}\",/g" "$package_json_path"
89
+ rm "${package_json_path}.bak"
90
+ }
91
+
92
+ update_version_in_package_json "${SHELL_DIR}/package.json" "${SHELL_VERSION}"
93
+ update_version_in_package_json "${BASE_DIR}/pkg/rancher-components/package.json" "${SHELL_VERSION}"
94
+ update_version_in_package_json "${BASE_DIR}/creators/extension/package.json" "${SHELL_VERSION}"
90
95
 
91
- # Publish shell
92
- echo "Publishing shell packages to local registry"
96
+ # Publish shell pkg (tag is needed as publish-shell is optimized to work with release-shell-pkg workflow)
97
+ echo "Publishing Shell package to local registry"
93
98
  yarn install
99
+ export TAG="shell-pkg-v${SHELL_VERSION}"
100
+ ${SHELL_DIR}/scripts/publish-shell.sh
101
+
102
+ # Publish creators pkg (tag is needed as publish-shell is optimized to work with release-shell-pkg workflow)
103
+ echo "Publishing Creators package to local registry"
104
+ export TAG="creators-pkg-v${SHELL_VERSION}"
94
105
  ${SHELL_DIR}/scripts/publish-shell.sh
95
106
 
96
107
  # Publish rancher components
97
108
  yarn build:lib
109
+
110
+ npm set registry ${VERDACCIO_NPM_REGISTRY}
111
+ yarn config set registry ${VERDACCIO_NPM_REGISTRY}
98
112
  yarn publish:lib
99
113
 
100
114
  # We pipe into cat for cleaner logging - we need to set pipefail
@@ -107,26 +121,18 @@ if [ "${SKIP_STANDALONE}" == "false" ]; then
107
121
 
108
122
  echo "Using temporary directory ${DIR}"
109
123
 
110
- echo "Verifying app creator package"
124
+ echo "Verifying extension creator"
111
125
 
112
- yarn create @rancher/app test-app
113
- pushd test-app
114
- yarn install
126
+ FORCE_COLOR=true yarn create @rancher/extension test-pkg --app-name test-app | cat
115
127
 
116
- echo "Building skeleton app"
128
+ pushd test-app > /dev/null
117
129
 
130
+ yarn install
118
131
  FORCE_COLOR=true yarn build | cat
119
132
 
120
- # Package creator
121
- echo "Verifying package creator package"
122
- yarn create @rancher/pkg test-pkg -i
123
-
124
- echo "Building test package"
125
- FORCE_COLOR=true yarn build-pkg test-pkg | cat
126
-
127
133
  # Add test list component to the test package
128
134
  # Validates rancher-components imports
129
- mkdir pkg/test-pkg/list
135
+ mkdir -p pkg/test-pkg/list
130
136
  cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue pkg/test-pkg/list
131
137
 
132
138
  FORCE_COLOR=true yarn build-pkg test-pkg | cat
@@ -134,7 +140,7 @@ if [ "${SKIP_STANDALONE}" == "false" ]; then
134
140
  echo "Cleaning temporary dir"
135
141
  popd > /dev/null
136
142
 
137
- if [ $TEST_PERSIST_BUILD != "true" ]; then
143
+ if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
138
144
  echo "Removing folder ${DIR}"
139
145
  rm -rf ${DIR}
140
146
  fi
@@ -147,15 +153,16 @@ echo "Validating in-tree package"
147
153
 
148
154
  yarn install
149
155
 
150
- if [ $TEST_PERSIST_BUILD != "true" ]; then
156
+ if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
151
157
  echo "Removing folder ./pkg/test-pkg"
152
158
  rm -rf ./pkg/test-pkg
153
159
  fi
154
160
 
155
- yarn create @rancher/pkg test-pkg -t -i
161
+ yarn create @rancher/extension test-pkg -i
156
162
  cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue ./pkg/test-pkg/list
157
163
  FORCE_COLOR=true yarn build-pkg test-pkg | cat
158
- if [ $TEST_PERSIST_BUILD != "true" ]; then
164
+
165
+ if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
159
166
  echo "Removing folder ./pkg/test-pkg"
160
167
  rm -rf ./pkg/test-pkg
161
168
  fi
@@ -168,9 +175,9 @@ function clone_repo_test_extension_build() {
168
175
  echo -e "\nSetting up $REPO_NAME repository locally\n"
169
176
 
170
177
  # set registry to default (to install all of the other dependencies)
171
- yarn config set registry ${DEFAULT_YARN_REGISTRY}
178
+ yarn config set registry ${DEFAULT_NPM_REGISTRY}
172
179
 
173
- if [ $TEST_PERSIST_BUILD != "true" ]; then
180
+ if [ "${TEST_PERSIST_BUILD}" != "true" ]; then
174
181
  echo "Removing folder ${BASE_DIR}/$REPO_NAME"
175
182
  rm -rf ${BASE_DIR}/$REPO_NAME
176
183
  fi
@@ -183,7 +190,7 @@ function clone_repo_test_extension_build() {
183
190
  yarn install
184
191
 
185
192
  # set registry to local verdaccio (to install new shell)
186
- yarn config set registry ${VERDACCIO_YARN_REGISTRY}
193
+ yarn config set registry ${VERDACCIO_NPM_REGISTRY}
187
194
 
188
195
  # update package.json to use a specific version of shell
189
196
  sed -i.bak -e "s/\"\@rancher\/shell\": \"[0-9]*.[0-9]*.[0-9]*\",/\"\@rancher\/shell\": \"${SHELL_VERSION}\",/g" package.json
@@ -209,16 +216,15 @@ function clone_repo_test_extension_build() {
209
216
  popd
210
217
 
211
218
  # delete folder
212
- if [ $TEST_PERSIST_BUILD != "true" ]; then
213
- echo "Removing folder ${BASE_DIR}/$REPO_NAME"
214
- rm -rf ${BASE_DIR}/$REPO_NAME
215
- fi
216
- yarn config set registry ${DEFAULT_YARN_REGISTRY}
219
+ echo "Removing folder ${BASE_DIR}/$REPO_NAME"
220
+ rm -rf ${BASE_DIR}/$REPO_NAME
221
+ yarn config set registry ${DEFAULT_NPM_REGISTRY}
217
222
  }
218
223
 
219
224
  # Here we just add the extension that we want to include as a check (all our official extensions should be included here)
220
225
  # Don't forget to add the unit tests exception to clone_repo_test_extension_build function if a new extension has those
221
- clone_repo_test_extension_build "kubewarden-ui" "kubewarden"
222
- clone_repo_test_extension_build "elemental-ui" "elemental"
226
+ # clone_repo_test_extension_build "kubewarden-ui" "kubewarden"
227
+ # clone_repo_test_extension_build "elemental-ui" "elemental"
228
+ # clone_repo_test_extension_build "capi-ui-extension" "capi"
223
229
 
224
230
  echo "All done"
@@ -5,6 +5,7 @@ const fs = require('fs');
5
5
  const glob = require('glob');
6
6
  const semver = require('semver');
7
7
  const path = require('path');
8
+
8
9
  /**
9
10
  * Init logger
10
11
  */
@@ -226,7 +227,7 @@ const packageUpdatesResolution = (file, oldContent) => {
226
227
  * Verify GitHub Actions use of current node version, e.g. node-version: '<18'
227
228
  */
228
229
  const gitHubActionsUpdates = () => {
229
- const files = glob.sync(params.paths || '.github/workflows/**.{yml,yaml}', { ignore });
230
+ const files = glob.sync(params.paths || '.github/{actions,workflows}/**.{yml,yaml}', { ignore });
230
231
 
231
232
  files.forEach((file) => {
232
233
  let content = fs.readFileSync(file, 'utf8');
@@ -359,8 +360,10 @@ const vueSyntaxUpdates = () => {
359
360
  // TODO: Add missing import
360
361
 
361
362
  [/( {4,}default)\(\)\s*\{([\s\S]*?)this\.([\s\S]*?\}\s*\})/g, (_, before, middle, after) => `${ before }(props) {${ middle }props.${ after }`, 'https://v3-migration.vuejs.org/breaking-changes/props-default-this.html'],
362
- [`value=`, `modelValue=`],
363
- [`@input=`, `@update:modelValue=`],
363
+ // [`value=`, `modelValue=`],
364
+ // [`@input=`, `@update:modelValue=`],
365
+ [/\@input=\"((?!.*plainInputEvent).+)\"/g, (_, betweenQuotes) => `@update:value="${ betweenQuotes }"`], // Matches @input while avoiding `@input="($plainInputEvent) => onInput($plainInputEvent)"` which we used on plain <input elements since they differ in vue3
366
+ [`v-model=`, `v-model:value=`],
364
367
  // [`v-bind.sync=`, `:modelValue=`, `https://v3-migration.vuejs.org/breaking-changes/v-model.html#using-v-bind-sync`],
365
368
  // ['v-model=', ':modelValue=', ''],
366
369
  [/:([a-z-0-9]+)\.sync/g, (_, propName) => `v-model:${ propName }`, `https://v3-migration.vuejs.org/breaking-changes/v-model.html#migration-strategy`],
@@ -524,7 +527,7 @@ const eslintUpdates = () => {
524
527
  });
525
528
 
526
529
  // Add the new rules if they don't exist
527
- const eslintConfigPath = path.join(__dirname, `../${ file }`);
530
+ const eslintConfigPath = path.join(process.cwd(), `${ file }`);
528
531
  const eslintConfig = require(eslintConfigPath);
529
532
 
530
533
  Object.keys(newRules).forEach((rule) => {
@@ -0,0 +1,2 @@
1
+ // Auto-generated type definitions for shell
2
+ // Do not modify this file as changes will get overwritten