@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
@@ -89,6 +89,8 @@ const NODE_TOTAL = {
89
89
  const CLUSTER_AGENT_CUSTOMIZATION = 'clusterAgentDeploymentCustomization';
90
90
  const FLEET_AGENT_CUSTOMIZATION = 'fleetAgentDeploymentCustomization';
91
91
 
92
+ const isAzureK8sUnsupported = (version) => semver.gte(version, '1.30.0');
93
+
92
94
  export default {
93
95
  components: {
94
96
  AgentEnv,
@@ -155,36 +157,50 @@ export default {
155
157
 
156
158
  data() {
157
159
  if (!this.value.spec.rkeConfig) {
158
- set(this.value.spec, 'rkeConfig', {});
160
+ this.value.spec.rkeConfig = {};
159
161
  }
160
162
 
161
163
  if (!this.value.spec.rkeConfig.chartValues) {
162
- set(this.value.spec.rkeConfig, 'chartValues', {});
164
+ this.value.spec.rkeConfig.chartValues = {};
163
165
  }
164
166
 
165
167
  if (!this.value.spec.rkeConfig.upgradeStrategy) {
166
- set(this.value.spec.rkeConfig, 'upgradeStrategy', {
168
+ this.value.spec.rkeConfig.upgradeStrategy = {
167
169
  controlPlaneConcurrency: '1',
168
170
  controlPlaneDrainOptions: {},
169
171
  workerConcurrency: '1',
170
172
  workerDrainOptions: {},
171
- });
173
+ };
172
174
  }
173
175
 
176
+ // default for dataDirectories configuration obj
174
177
  if (!this.value.spec.rkeConfig.dataDirectories) {
175
- set(this.value.spec.rkeConfig, 'dataDirectories', {
178
+ this.value.spec.rkeConfig.dataDirectories = {
176
179
  systemAgent: '',
177
180
  provisioning: '',
178
181
  k8sDistro: '',
179
- });
182
+ };
183
+ }
184
+
185
+ // default for dataDirectories configuration systemAgent config
186
+ if (!this.value.spec.rkeConfig.dataDirectories.systemAgent) {
187
+ this.value.spec.rkeConfig.dataDirectories.systemAgent = '';
188
+ }
189
+ // default for dataDirectories configuration provisioning config
190
+ if (!this.value.spec.rkeConfig.dataDirectories.provisioning) {
191
+ this.value.spec.rkeConfig.dataDirectories.provisioning = '';
192
+ }
193
+ // default for dataDirectories configuration k8sDistro config
194
+ if (!this.value.spec.rkeConfig.dataDirectories.k8sDistro) {
195
+ this.value.spec.rkeConfig.dataDirectories.k8sDistro = '';
180
196
  }
181
197
 
182
198
  if (!this.value.spec.rkeConfig.machineGlobalConfig) {
183
- set(this.value.spec, 'rkeConfig.machineGlobalConfig', {});
199
+ this.value.spec.rkeConfig.machineGlobalConfig = {};
184
200
  }
185
201
 
186
202
  if (!this.value.spec.rkeConfig.machineSelectorConfig?.length) {
187
- set(this.value.spec, 'rkeConfig.machineSelectorConfig', [{ config: {} }]);
203
+ this.value.spec.rkeConfig.machineSelectorConfig = [{ config: {} }];
188
204
  }
189
205
 
190
206
  const truncateLimit = this.value.defaultHostnameLengthLimit || 0;
@@ -297,6 +313,7 @@ export default {
297
313
  const cur = this.liveValue?.spec?.kubernetesVersion || '';
298
314
  const existingRke2 = this.mode === _EDIT && cur.includes('rke2');
299
315
  const existingK3s = this.mode === _EDIT && cur.includes('k3s');
316
+ const isAzure = this.agentConfig?.['cloud-provider-name'] === 'azure';
300
317
 
301
318
  let allValidRke2Versions = this.getAllOptionsAfterCurrentVersion(this.rke2Versions, (existingRke2 ? cur : null), this.defaultRke2);
302
319
  let allValidK3sVersions = this.getAllOptionsAfterCurrentVersion(this.k3sVersions, (existingK3s ? cur : null), this.defaultK3s);
@@ -309,6 +326,11 @@ export default {
309
326
  allValidK3sVersions = this.filterOutDeprecatedPatchVersions(allValidK3sVersions, cur);
310
327
  }
311
328
 
329
+ if (isAzure) {
330
+ allValidRke2Versions = allValidRke2Versions.filter((v) => !isAzureK8sUnsupported(v.value));
331
+ allValidK3sVersions = allValidK3sVersions.filter((v) => !isAzureK8sUnsupported(v.value));
332
+ }
333
+
312
334
  const showRke2 = allValidRke2Versions.length && !existingK3s;
313
335
  const showK3s = allValidK3sVersions.length && !existingRke2;
314
336
  const out = [];
@@ -356,7 +378,7 @@ export default {
356
378
  // https://github.com/rancher/dashboard/issues/10338
357
379
  // there's an update loop on refresh that might include 'none'
358
380
  // multiple times... Prevent that
359
- if (out.serverArgs?.cni?.options && !out.serverArgs?.cni?.options.includes('none')) {
381
+ if (out?.serverArgs?.cni?.options && !out.serverArgs?.cni?.options.includes('none')) {
360
382
  out.serverArgs.cni.options.push('none');
361
383
  }
362
384
 
@@ -580,8 +602,9 @@ export default {
580
602
 
581
603
  cloudProviderOptions() {
582
604
  const out = [{
583
- label: this.$store.getters['i18n/t']('cluster.rke2.cloudProvider.defaultValue.label'),
584
- value: '',
605
+ label: this.$store.getters['i18n/t']('cluster.rke2.cloudProvider.defaultValue.label'),
606
+ value: '',
607
+ disabled: this.canAzureMigrateOnEdit
585
608
  }];
586
609
 
587
610
  if (!!this.agentArgs['cloud-provider-name']?.options) {
@@ -593,12 +616,22 @@ export default {
593
616
  // If we have a preferred provider... only show default, preferred and external
594
617
  const isPreferred = opt === preferred;
595
618
  const isExternal = opt === 'external';
619
+ const isAzure = opt === 'azure';
620
+
596
621
  let disabled = false;
597
622
 
598
623
  if ((this.isHarvesterExternalCredential || this.isHarvesterIncompatible) && isPreferred) {
599
624
  disabled = true;
600
625
  }
601
626
 
627
+ if (isAzure && isAzureK8sUnsupported(this.value.spec.kubernetesVersion)) {
628
+ disabled = true;
629
+ }
630
+
631
+ if (!isAzure && !isExternal && this.canAzureMigrateOnEdit) {
632
+ disabled = true;
633
+ }
634
+
602
635
  if (showAllOptions || isPreferred || isExternal) {
603
636
  out.push({
604
637
  label: this.$store.getters['i18n/withFallback'](`cluster.cloudProvider."${ opt }".label`, null, opt),
@@ -618,6 +651,22 @@ export default {
618
651
  return out;
619
652
  },
620
653
 
654
+ isAzureProviderUnsupported() {
655
+ return isAzureK8sUnsupported(this.value.spec.kubernetesVersion) || this.agentConfig['cloud-provider-name'] === 'azure';
656
+ },
657
+
658
+ canAzureMigrateOnEdit() {
659
+ if (!this.isEdit) {
660
+ return false;
661
+ }
662
+
663
+ const isAzureLiveProvider = this.liveValue.agentConfig['cloud-provider-name'] === 'azure';
664
+
665
+ return isAzureLiveProvider &&
666
+ semver.gte(this.liveValue?.spec?.kubernetesVersion, '1.27.0') &&
667
+ semver.lt(this.liveValue?.spec?.kubernetesVersion, '1.30.0');
668
+ },
669
+
621
670
  canManageMembers() {
622
671
  return canViewClusterMembershipEditor(this.$store);
623
672
  },
@@ -659,7 +708,7 @@ export default {
659
708
  const { linuxWorkerCount, windowsWorkerCount } = this.value?.mgmt?.status || {};
660
709
 
661
710
  if (!windowsWorkerCount) {
662
- if (!!this.machinePools.find((pool) => {
711
+ if (!!this.machinePools?.find((pool) => {
663
712
  return pool?.config?.os === 'windows';
664
713
  })) {
665
714
  return this.t('cluster.banner.os', { newOS: 'Windows', existingOS: 'Linux' });
@@ -726,6 +775,14 @@ export default {
726
775
  } else {
727
776
  return this.$store.getters['customisation/getPreviewCluster'];
728
777
  }
778
+ },
779
+ localValue: {
780
+ get() {
781
+ return this.value;
782
+ },
783
+ set(newValue) {
784
+ this.$emit('update:value', newValue);
785
+ }
729
786
  }
730
787
  },
731
788
 
@@ -794,11 +851,11 @@ export default {
794
851
  if (!this.serverConfig.cni) {
795
852
  const def = this.serverArgs.cni.default;
796
853
 
797
- set(this.serverConfig, 'cni', def);
854
+ this.serverConfig.cni = def;
798
855
  }
799
856
  } else {
800
857
  // Type doesn't support cni, clear `cni`
801
- set(this.serverConfig, 'cni', undefined);
858
+ this.serverConfig.cni = undefined;
802
859
  }
803
860
  },
804
861
 
@@ -806,7 +863,7 @@ export default {
806
863
  if (!neu) {
807
864
  // No cloud provider available? Then clear cloud provider setting. This will recalculate addonNames...
808
865
  // ... which will eventually update `value.spec.rkeConfig.chartValues`
809
- set(this.agentConfig, 'cloud-provider-name', undefined);
866
+ this.agentConfig['cloud-provider-name'] = undefined;
810
867
  }
811
868
  },
812
869
  },
@@ -831,11 +888,11 @@ export default {
831
888
  */
832
889
  async initSpecs() {
833
890
  if (!this.value.spec) {
834
- set(this.value, 'spec', {});
891
+ this.value.spec = {};
835
892
  }
836
893
 
837
894
  if (!this.value.spec.machineSelectorConfig) {
838
- set(this.value.spec, 'machineSelectorConfig', []);
895
+ this.value.spec.machineSelectorConfig = [];
839
896
  }
840
897
 
841
898
  if (!this.value.spec.machineSelectorConfig.find((x) => !x.machineLabelSelector)) {
@@ -848,7 +905,7 @@ export default {
848
905
  }
849
906
 
850
907
  if (!this.value.spec.kubernetesVersion) {
851
- set(this.value.spec, 'kubernetesVersion', this.defaultVersion);
908
+ this.value.spec.kubernetesVersion = this.defaultVersion;
852
909
  }
853
910
 
854
911
  if (this.rkeConfig.etcd?.s3?.bucket) {
@@ -856,16 +913,16 @@ export default {
856
913
  }
857
914
 
858
915
  if (!this.rkeConfig.etcd) {
859
- set(this.rkeConfig, 'etcd', {
916
+ this.rkeConfig.etcd = {
860
917
  disableSnapshots: false,
861
918
  s3: null,
862
919
  snapshotRetention: 5,
863
920
  snapshotScheduleCron: '0 */5 * * *',
864
- });
921
+ };
865
922
  } else if (typeof this.rkeConfig.etcd.disableSnapshots === 'undefined') {
866
923
  const disableSnapshots = !this.rkeConfig.etcd.snapshotRetention && !this.rkeConfig.etcd.snapshotScheduleCron;
867
924
 
868
- set(this.rkeConfig.etcd, 'disableSnapshots', disableSnapshots);
925
+ this.rkeConfig.etcd.disableSnapshots = disableSnapshots;
869
926
  }
870
927
 
871
928
  // Namespaces if required - this is mainly for custom provisioners via extensions that want
@@ -882,7 +939,7 @@ export default {
882
939
  }
883
940
 
884
941
  if (this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName === undefined) {
885
- set(this.value.spec, 'defaultPodSecurityAdmissionConfigurationTemplateName', '');
942
+ this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName = '';
886
943
  }
887
944
  },
888
945
 
@@ -989,12 +1046,12 @@ export default {
989
1046
  setAgentConfiguration() {
990
1047
  // Cluster Agent Configuration
991
1048
  if (!this.value.spec[CLUSTER_AGENT_CUSTOMIZATION]) {
992
- set(this.value.spec, CLUSTER_AGENT_CUSTOMIZATION, {});
1049
+ this.value.spec[CLUSTER_AGENT_CUSTOMIZATION] = {};
993
1050
  }
994
1051
 
995
1052
  // Fleet Agent Configuration
996
1053
  if (!this.value.spec[FLEET_AGENT_CUSTOMIZATION]) {
997
- set(this.value.spec, FLEET_AGENT_CUSTOMIZATION, {});
1054
+ this.value.spec[FLEET_AGENT_CUSTOMIZATION] = {};
998
1055
  }
999
1056
  },
1000
1057
 
@@ -1211,7 +1268,7 @@ export default {
1211
1268
  await this.syncMachineConfigWithLatest(entry);
1212
1269
 
1213
1270
  // Capitals and such aren't allowed;
1214
- set(entry.pool, 'name', normalizeName(entry.pool.name) || 'pool');
1271
+ entry.pool.name = normalizeName(entry.pool.name) || 'pool';
1215
1272
 
1216
1273
  const prefix = `${ this.value.metadata.name }-${ entry.pool.name }`.substr(0, 50).toLowerCase();
1217
1274
 
@@ -1303,7 +1360,7 @@ export default {
1303
1360
 
1304
1361
  // Set busy before save and clear after save
1305
1362
  async saveOverride(btnCb) {
1306
- this.$set(this, 'busy', true);
1363
+ this['busy'] = true;
1307
1364
 
1308
1365
  // If the provider is from an extension, let it do the provision step
1309
1366
  if (this.extensionProvider?.provision) {
@@ -1311,7 +1368,7 @@ export default {
1311
1368
  const okay = (errors || []).length === 0;
1312
1369
 
1313
1370
  this.errors = errors;
1314
- this.$set(this, 'busy', false);
1371
+ this['busy'] = false;
1315
1372
 
1316
1373
  btnCb(okay);
1317
1374
 
@@ -1323,7 +1380,7 @@ export default {
1323
1380
 
1324
1381
  // Default save
1325
1382
  return this._doSaveOverride((done) => {
1326
- this.$set(this, 'busy', false);
1383
+ this['busy'] = false;
1327
1384
 
1328
1385
  return btnCb(done);
1329
1386
  });
@@ -1378,15 +1435,15 @@ export default {
1378
1435
 
1379
1436
  const harvesterKubeconfigSecret = await this.createKubeconfigSecret(kubeconfig);
1380
1437
 
1381
- set(this.agentConfig, 'cloud-provider-config', `secret://fleet-default:${ harvesterKubeconfigSecret?.metadata?.name }`);
1438
+ this.agentConfig['cloud-provider-config'] = `secret://fleet-default:${ harvesterKubeconfigSecret?.metadata?.name }`;
1382
1439
 
1383
1440
  if (this.isCreate) {
1384
- set(this.chartValues, `${ HARVESTER_CLOUD_PROVIDER }.global.cattle.clusterName`, this.value.metadata.name);
1441
+ this.chartValues[`${ HARVESTER_CLOUD_PROVIDER }.global.cattle.clusterName`] = this.value.metadata.name;
1385
1442
  }
1386
1443
 
1387
1444
  const distroRoot = this.value?.spec?.rkeConfig?.dataDirectories?.k8sDistro?.length ? this.value?.spec?.rkeConfig?.dataDirectories?.k8sDistro : '/var/lib/rancher/rke2';
1388
1445
 
1389
- set(this.chartValues, `${ HARVESTER_CLOUD_PROVIDER }.cloudConfigPath`, `${ distroRoot }/etc/config-files/cloud-provider-config`);
1446
+ this.chartValues[`${ HARVESTER_CLOUD_PROVIDER }.cloudConfigPath`] = `${ distroRoot }/etc/config-files/cloud-provider-config`;
1390
1447
  }
1391
1448
  } catch (err) {
1392
1449
  this.errors.push(err);
@@ -1412,8 +1469,8 @@ export default {
1412
1469
  // if there are any errors saving, restore the agent config data
1413
1470
  if (this.errors?.length) {
1414
1471
  // Ensure the agent configuration is set back to the values before we changed (cleaned) it
1415
- set(this.value.spec, CLUSTER_AGENT_CUSTOMIZATION, clusterAgentDeploymentCustomization);
1416
- set(this.value.spec, FLEET_AGENT_CUSTOMIZATION, fleetAgentDeploymentCustomization);
1472
+ this.value.spec[CLUSTER_AGENT_CUSTOMIZATION] = clusterAgentDeploymentCustomization;
1473
+ this.value.spec[FLEET_AGENT_CUSTOMIZATION] = fleetAgentDeploymentCustomization;
1417
1474
  }
1418
1475
  },
1419
1476
 
@@ -1484,7 +1541,7 @@ export default {
1484
1541
  versionName: entry.version,
1485
1542
  });
1486
1543
 
1487
- set(this.versionInfo, chartName, res);
1544
+ this.versionInfo.chartName = res;
1488
1545
  const key = this.chartVersionKey(chartName);
1489
1546
 
1490
1547
  if (!this.userChartValues[key]) {
@@ -1501,7 +1558,7 @@ export default {
1501
1558
  this.addonNames.forEach((name) => {
1502
1559
  const chartValues = this.versionInfo[name]?.questions ? this.initYamlEditor(name) : {};
1503
1560
 
1504
- set(this.userChartValuesTemp, name, chartValues);
1561
+ this.userChartValuesTemp.name = chartValues;
1505
1562
  });
1506
1563
  this.refreshComponentWithYamls(key);
1507
1564
  },
@@ -1527,7 +1584,7 @@ export default {
1527
1584
  },
1528
1585
 
1529
1586
  updateValues(name, values) {
1530
- set(this.userChartValuesTemp, name, values);
1587
+ this.userChartValuesTemp.name = values;
1531
1588
  this.syncChartValues(name);
1532
1589
  },
1533
1590
 
@@ -1551,7 +1608,7 @@ export default {
1551
1608
  if (this.serverConfig[k] === undefined) {
1552
1609
  const def = this.serverArgs[k].default;
1553
1610
 
1554
- set(this.serverConfig, k, (def !== undefined ? def : undefined));
1611
+ this.serverConfig[k] = (def !== undefined ? def : undefined);
1555
1612
  }
1556
1613
  }
1557
1614
 
@@ -1559,12 +1616,12 @@ export default {
1559
1616
  if (this.agentConfig?.[k] === undefined) {
1560
1617
  const def = this.agentArgs[k].default;
1561
1618
 
1562
- set(this.agentConfig, k, (def !== undefined ? def : undefined));
1619
+ this.agentConfig[k] = (def !== undefined ? def : undefined);
1563
1620
  }
1564
1621
  }
1565
1622
 
1566
1623
  if (!this.serverConfig?.profile) {
1567
- set(this.serverConfig, 'profile', null);
1624
+ this.serverConfig.profile = null;
1568
1625
  }
1569
1626
  },
1570
1627
 
@@ -1575,7 +1632,7 @@ export default {
1575
1632
  },
1576
1633
 
1577
1634
  onMembershipUpdate(update) {
1578
- this.$set(this, 'membershipUpdate', update);
1635
+ this['membershipUpdate'] = update;
1579
1636
  },
1580
1637
 
1581
1638
  async initRegistry() {
@@ -1598,15 +1655,15 @@ export default {
1598
1655
 
1599
1656
  if (!regs) {
1600
1657
  regs = {};
1601
- set(this.rkeConfig, 'registries', regs);
1658
+ this.rkeConfig.registries = regs;
1602
1659
  }
1603
1660
 
1604
1661
  if (!regs.configs) {
1605
- set(regs, 'configs', {});
1662
+ regs.configs = {};
1606
1663
  }
1607
1664
 
1608
1665
  if (!regs.mirrors) {
1609
- set(regs, 'mirrors', {});
1666
+ regs.mirrors = {};
1610
1667
  }
1611
1668
 
1612
1669
  const config = regs.configs[this.registryHost];
@@ -1633,16 +1690,16 @@ export default {
1633
1690
 
1634
1691
  if (this.systemRegistry) {
1635
1692
  // Empty string overrides the system default to nothing
1636
- set(this.agentConfig, 'system-default-registry', '');
1693
+ this.agentConfig['system-default-registry'] = '';
1637
1694
  } else {
1638
1695
  // No need to set anything
1639
- set(this.agentConfig, 'system-default-registry', undefined);
1696
+ this.agentConfig['system-default-registry'] = undefined;
1640
1697
  }
1641
1698
  if (!hostname || hostname === this.systemRegistry) {
1642
1699
  // Undefined removes the key which uses the global setting without hardcoding it into the config
1643
- set(this.agentConfig, 'system-default-registry', undefined);
1700
+ this.agentConfig['system-default-registry'] = undefined;
1644
1701
  } else {
1645
- set(this.agentConfig, 'system-default-registry', hostname);
1702
+ this.agentConfig['system-default-registry'] = hostname;
1646
1703
  }
1647
1704
 
1648
1705
  if (hostname && this.registrySecret) {
@@ -1684,7 +1741,7 @@ export default {
1684
1741
  if (!this.value.spec?.rkeConfig) {
1685
1742
  this.value.spec.rkeConfig = { registries: {} };
1686
1743
  }
1687
- set(this.value.spec.rkeConfig.registries, 'configs', configs);
1744
+ this.value.spec.rkeConfig.registries.configs = configs;
1688
1745
  },
1689
1746
 
1690
1747
  getAllOptionsAfterCurrentVersion(versions, currentVersion, defaultVersion) {
@@ -1811,7 +1868,7 @@ export default {
1811
1868
  const userValues = this.userChartValues[key];
1812
1869
 
1813
1870
  if (userValues) {
1814
- set(rkeConfig.chartValues, name, userValues);
1871
+ rkeConfig.chartValues.name = userValues;
1815
1872
  }
1816
1873
  });
1817
1874
  },
@@ -1869,7 +1926,7 @@ export default {
1869
1926
 
1870
1927
  if (!this.cisOverride) {
1871
1928
  if (cisValue) {
1872
- set(this.value.spec, 'defaultPodSecurityAdmissionConfigurationTemplateName', hardcodedTemplate);
1929
+ this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName = hardcodedTemplate;
1873
1930
  }
1874
1931
  }
1875
1932
  },
@@ -1886,9 +1943,9 @@ export default {
1886
1943
  const selectedCisProfile = this.agentConfig?.profile;
1887
1944
 
1888
1945
  if (selectedCisProfile) {
1889
- set(this.agentConfig, 'protect-kernel-defaults', true);
1946
+ this.agentConfig['protect-kernel-defaults'] = true;
1890
1947
  } else {
1891
- set(this.agentConfig, 'protect-kernel-defaults', false);
1948
+ this.agentConfig['protect-kernel-defaults'] = false;
1892
1949
  }
1893
1950
  },
1894
1951
  updateAdditionalManifest(neu) {
@@ -1917,13 +1974,13 @@ export default {
1917
1974
  */
1918
1975
  machinePoolValidationChanged(id, value) {
1919
1976
  if (value === undefined) {
1920
- this.$delete(this.machinePoolValidation, id);
1977
+ delete this.machinePoolValidation[id];
1921
1978
  } else {
1922
- this.$set(this.machinePoolValidation, id, value);
1979
+ this.machinePoolValidation[id] = value;
1923
1980
  }
1924
1981
  },
1925
1982
  handleEnabledSystemServicesChanged(val) {
1926
- set(this.serverConfig, 'disable', val);
1983
+ this.serverConfig.disable = val;
1927
1984
  },
1928
1985
 
1929
1986
  handleCiliumValuesChanged(neu) {
@@ -1933,10 +1990,10 @@ export default {
1933
1990
 
1934
1991
  const name = this.chartVersionKey('rke2-cilium');
1935
1992
 
1936
- set(this, 'userChartValues', {
1993
+ this.userChartValues = {
1937
1994
  ...this.userChartValues,
1938
1995
  [name]: { ...neu }
1939
- });
1996
+ };
1940
1997
  },
1941
1998
 
1942
1999
  handleCisChanged() {
@@ -1985,14 +2042,14 @@ export default {
1985
2042
  if (neu) {
1986
2043
  // We need to make sure that s3 doesn't already have an existing value otherwise when editing a cluster with s3 defined this will clear s3.
1987
2044
  if (isEmpty(this.rkeConfig.etcd?.s3)) {
1988
- set(this.rkeConfig.etcd, 's3', {});
2045
+ this.rkeConfig.etcd.s3 = {};
1989
2046
  }
1990
2047
  } else {
1991
- set(this.rkeConfig.etcd, 's3', null);
2048
+ this.rkeConfig.etcd.s3 = null;
1992
2049
  }
1993
2050
  },
1994
2051
  handleConfigEtcdExposeMetricsChanged(neu) {
1995
- set(this.serverConfig, 'etcd-expose-metrics', neu);
2052
+ this.serverConfig['etcd-expose-metrics'] = neu;
1996
2053
  },
1997
2054
  handleRegistryHostChanged(neu) {
1998
2055
  this.registryHost = neu;
@@ -2071,7 +2128,7 @@ export default {
2071
2128
  </div>
2072
2129
  <SelectCredential
2073
2130
  v-if="needCredential"
2074
- v-model="credentialId"
2131
+ v-model:value="credentialId"
2075
2132
  :mode="mode"
2076
2133
  :provider="provider"
2077
2134
  :cancel="cancelCredential"
@@ -2088,7 +2145,7 @@ export default {
2088
2145
  >
2089
2146
  <NameNsDescription
2090
2147
  v-if="!isView"
2091
- v-model="value"
2148
+ v-model:value="localValue"
2092
2149
  :mode="mode"
2093
2150
  :namespaced="needsNamespace"
2094
2151
  :namespace-options="allNamespaces"
@@ -2097,10 +2154,9 @@ export default {
2097
2154
  description-label="cluster.description.label"
2098
2155
  description-placeholder="cluster.description.placeholder"
2099
2156
  :rules="{ name: fvGetAndReportPathRules('metadata.name') }"
2157
+ @update:value="$emit('input', $event)"
2100
2158
  >
2101
- <template
2102
- slot="customize"
2103
- >
2159
+ <template #customize>
2104
2160
  <ClusterAppearance
2105
2161
  :name="clusterName"
2106
2162
  :currentCluster="currentCluster"
@@ -2158,7 +2214,10 @@ export default {
2158
2214
  @addTab="addMachinePool($event)"
2159
2215
  @removeTab="removeMachinePool($event)"
2160
2216
  >
2161
- <template v-for="(obj, idx) in machinePools">
2217
+ <template
2218
+ v-for="(obj, idx) in machinePools"
2219
+ :key="idx"
2220
+ >
2162
2221
  <Tab
2163
2222
  v-if="!obj.remove"
2164
2223
  :key="obj.id"
@@ -2206,7 +2265,7 @@ export default {
2206
2265
  <!-- Basic -->
2207
2266
  <Basics
2208
2267
  ref="tab-Basics"
2209
- v-model="value"
2268
+ v-model:value="localValue"
2210
2269
  :live-value="liveValue"
2211
2270
  :mode="mode"
2212
2271
  :provider="provider"
@@ -2225,6 +2284,9 @@ export default {
2225
2284
  :show-cni="showCni"
2226
2285
  :show-cloud-provider="showCloudProvider"
2227
2286
  :cloud-provider-options="cloudProviderOptions"
2287
+ :is-azure-provider-unsupported="isAzureProviderUnsupported"
2288
+ :can-azure-migrate-on-edit="canAzureMigrateOnEdit"
2289
+ @update:value="$emit('input', $event)"
2228
2290
  @cilium-values-changed="handleCiliumValuesChanged"
2229
2291
  @enabled-system-services-changed="handleEnabledSystemServicesChanged"
2230
2292
  @kubernetes-changed="handleKubernetesChange"
@@ -2242,9 +2304,10 @@ export default {
2242
2304
  :weight="10"
2243
2305
  >
2244
2306
  <MemberRoles
2245
- v-model="value"
2307
+ v-model:value="localValue"
2246
2308
  :mode="mode"
2247
2309
  :on-membership-update="onMembershipUpdate"
2310
+ @update:value="$emit('input', $event)"
2248
2311
  />
2249
2312
  </Tab>
2250
2313
  <!-- etcd -->
@@ -2253,11 +2316,12 @@ export default {
2253
2316
  label-key="cluster.tabs.etcd"
2254
2317
  >
2255
2318
  <Etcd
2256
- v-model="value"
2319
+ v-model:value="localValue"
2257
2320
  :mode="mode"
2258
2321
  :s3-backup="s3Backup"
2259
2322
  :register-before-hook="registerBeforeHook"
2260
2323
  :selected-version="selectedVersion"
2324
+ @update:value="$emit('input', $event)"
2261
2325
  @s3-backup-changed="handleS3BackupChanged"
2262
2326
  @config-etcd-expose-metrics-changed="handleConfigEtcdExposeMetricsChanged"
2263
2327
  />
@@ -2270,10 +2334,11 @@ export default {
2270
2334
  label-key="cluster.tabs.networking"
2271
2335
  >
2272
2336
  <Networking
2273
- v-model="value"
2337
+ v-model:value="localValue"
2274
2338
  :mode="mode"
2275
2339
  :selected-version="selectedVersion"
2276
2340
  :truncate-limit="truncateLimit"
2341
+ @update:value="$emit('input', $event)"
2277
2342
  @truncate-hostname="truncateHostname"
2278
2343
  />
2279
2344
  </Tab>
@@ -2284,8 +2349,9 @@ export default {
2284
2349
  label-key="cluster.tabs.upgrade"
2285
2350
  >
2286
2351
  <Upgrade
2287
- v-model="value"
2352
+ v-model:value="localValue"
2288
2353
  :mode="mode"
2354
+ @update:value="$emit('input', $event)"
2289
2355
  />
2290
2356
  </Tab>
2291
2357
 
@@ -2295,13 +2361,14 @@ export default {
2295
2361
  label-key="cluster.tabs.registry"
2296
2362
  >
2297
2363
  <Registries
2298
- v-model="value"
2364
+ v-model:value="localValue"
2299
2365
  :mode="mode"
2300
2366
  :register-before-hook="registerBeforeHook"
2301
2367
  :show-custom-registry-input="showCustomRegistryInput"
2302
2368
  :registry-host="registryHost"
2303
2369
  :registry-secret="registrySecret"
2304
2370
  :show-custom-registry-advanced-input="showCustomRegistryAdvancedInput"
2371
+ @update:value="$emit('input', $event)"
2305
2372
  @update-configs-changed="updateConfigs"
2306
2373
  @custom-registry-changed="toggleCustomRegistry"
2307
2374
  @registry-host-changed="handleRegistryHostChanged"
@@ -2317,13 +2384,14 @@ export default {
2317
2384
  >
2318
2385
  <AddOnConfig
2319
2386
  ref="tab-addOnConfig"
2320
- v-model="value"
2387
+ v-model:value="localValue"
2321
2388
  :mode="mode"
2322
2389
  :version-info="versionInfo"
2323
2390
  :addon-versions="addonVersions"
2324
2391
  :addons-rev="addonsRev"
2325
2392
  :user-chart-values-temp="userChartValuesTemp"
2326
2393
  :init-yaml-editor="initYamlEditor"
2394
+ @update:value="$emit('input', $event)"
2327
2395
  @update-questions="syncChartValues"
2328
2396
  @update-values="updateValues"
2329
2397
  @additional-manifest-changed="updateAdditionalManifest"
@@ -2337,7 +2405,7 @@ export default {
2337
2405
  >
2338
2406
  <AgentConfiguration
2339
2407
  v-if="value.spec.clusterAgentDeploymentCustomization"
2340
- v-model="value.spec.clusterAgentDeploymentCustomization"
2408
+ v-model:value="value.spec.clusterAgentDeploymentCustomization"
2341
2409
  data-testid="rke2-cluster-agent-config"
2342
2410
  type="cluster"
2343
2411
  :mode="mode"
@@ -2351,7 +2419,7 @@ export default {
2351
2419
  >
2352
2420
  <AgentConfiguration
2353
2421
  v-if="value.spec.fleetAgentDeploymentCustomization"
2354
- v-model="value.spec.fleetAgentDeploymentCustomization"
2422
+ v-model:value="value.spec.fleetAgentDeploymentCustomization"
2355
2423
  data-testid="rke2-fleet-agent-config"
2356
2424
  type="fleet"
2357
2425
  :mode="mode"
@@ -2366,20 +2434,23 @@ export default {
2366
2434
  :weight="-1"
2367
2435
  >
2368
2436
  <Advanced
2369
- v-model="value"
2437
+ v-model:value="localValue"
2370
2438
  :mode="mode"
2371
2439
  :have-arg-info="haveArgInfo"
2372
2440
  :selected-version="selectedVersion"
2441
+ @update:value="$emit('input', $event)"
2373
2442
  />
2374
2443
  </Tab>
2375
2444
 
2376
2445
  <AgentEnv
2377
- v-model="value"
2446
+ v-model:value="localValue"
2378
2447
  :mode="mode"
2448
+ @update:value="$emit('input', $event)"
2379
2449
  />
2380
2450
  <Labels
2381
- v-model="value"
2451
+ v-model:value="localValue"
2382
2452
  :mode="mode"
2453
+ @update:value="$emit('input', $event)"
2383
2454
  />
2384
2455
 
2385
2456
  <!-- Extension tabs -->