@rancher/shell 2.0.1 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/assets/styles/base/_variables.scss +1 -0
  2. package/assets/styles/global/_labeled-input.scss +22 -11
  3. package/assets/styles/global/_layout.scss +4 -4
  4. package/assets/styles/global/_select.scss +1 -1
  5. package/assets/styles/global/_tooltip.scss +39 -72
  6. package/assets/translations/en-us.yaml +26 -5
  7. package/chart/__tests__/S3.test.ts +21 -14
  8. package/chart/example.vue +1 -1
  9. package/chart/gatekeeper.vue +4 -4
  10. package/chart/istio.vue +11 -11
  11. package/chart/logging/index.vue +8 -8
  12. package/chart/monitoring/ClusterSelector.vue +13 -13
  13. package/chart/monitoring/alerting/index.vue +6 -6
  14. package/chart/monitoring/grafana/index.vue +14 -14
  15. package/chart/monitoring/index.vue +122 -108
  16. package/chart/monitoring/prometheus/index.vue +18 -18
  17. package/chart/rancher-backup/S3.vue +11 -11
  18. package/chart/rancher-backup/index.vue +68 -60
  19. package/cloud-credential/__tests__/azure.test.ts +7 -17
  20. package/cloud-credential/__tests__/harvester.test.ts +2 -2
  21. package/cloud-credential/aws.vue +3 -3
  22. package/cloud-credential/azure.vue +4 -4
  23. package/cloud-credential/digitalocean.vue +1 -1
  24. package/cloud-credential/gcp.vue +1 -1
  25. package/cloud-credential/generic.vue +1 -1
  26. package/cloud-credential/harvester.vue +1 -1
  27. package/cloud-credential/linode.vue +1 -1
  28. package/cloud-credential/pnap.vue +2 -2
  29. package/cloud-credential/s3.vue +8 -8
  30. package/cloud-credential/vmwarevsphere.vue +4 -4
  31. package/components/ActionDropdown.vue +12 -16
  32. package/components/ActionMenu.vue +2 -2
  33. package/components/AlertTable.vue +1 -1
  34. package/components/AppModal.vue +20 -9
  35. package/components/AssignTo.vue +38 -37
  36. package/components/AsyncButton.vue +4 -7
  37. package/components/ButtonDropdown.vue +22 -20
  38. package/components/ButtonGroup.vue +1 -1
  39. package/components/Carousel.vue +1 -1
  40. package/components/Certificates.vue +1 -1
  41. package/components/ChartReadme.vue +7 -7
  42. package/components/CodeMirror.vue +2 -2
  43. package/components/CommunityLinks.vue +2 -2
  44. package/components/ConsumptionGauge.vue +1 -1
  45. package/components/ContainerResourceLimit.vue +11 -11
  46. package/components/CountGauge.vue +1 -1
  47. package/components/CreateDriver.vue +4 -4
  48. package/components/CruResource.vue +36 -20
  49. package/components/DashboardMetrics.vue +3 -3
  50. package/components/DashboardOptions.vue +3 -3
  51. package/components/DetailTop.vue +3 -3
  52. package/components/DisableAuthProviderModal.vue +7 -8
  53. package/components/EmberPage.vue +1 -1
  54. package/components/EtcdInfoBanner.vue +1 -1
  55. package/components/ExplorerMembers.vue +8 -9
  56. package/components/ExplorerProjectsNamespaces.vue +6 -7
  57. package/components/FileDiff.vue +1 -1
  58. package/components/FixedBanner.vue +1 -0
  59. package/components/GlobalRoleBindings.vue +5 -6
  60. package/components/GradientBox.vue +1 -2
  61. package/components/GrafanaDashboard.vue +7 -7
  62. package/components/GrowlManager.vue +1 -1
  63. package/components/HarvesterServiceAddOnConfig.vue +2 -2
  64. package/components/IconOrSvg.vue +1 -2
  65. package/components/Import.vue +4 -3
  66. package/components/Inactivity.vue +2 -2
  67. package/components/IndentedPanel.vue +0 -1
  68. package/components/InputOrDisplay.vue +21 -32
  69. package/components/KeyValueView.vue +4 -3
  70. package/components/LandingPagePreference.vue +3 -2
  71. package/components/LazyImage.vue +1 -1
  72. package/components/Loading.vue +1 -1
  73. package/components/LocaleSelector.vue +4 -4
  74. package/components/Markdown.vue +1 -1
  75. package/components/ModalWithCard.vue +1 -4
  76. package/components/MoveModal.vue +10 -11
  77. package/components/PercentageBar.vue +7 -7
  78. package/components/PodSecurityAdmission.vue +13 -13
  79. package/components/PromptChangePassword.vue +9 -9
  80. package/components/PromptModal.vue +1 -1
  81. package/components/PromptRemove.vue +35 -38
  82. package/components/PromptRestore.vue +68 -69
  83. package/components/Questions/Array.vue +3 -4
  84. package/components/Questions/Boolean.vue +1 -1
  85. package/components/Questions/CloudCredential.vue +1 -1
  86. package/components/Questions/Enum.vue +1 -1
  87. package/components/Questions/Float.vue +1 -1
  88. package/components/Questions/Int.vue +1 -1
  89. package/components/Questions/Question.js +1 -1
  90. package/components/Questions/QuestionMap.vue +3 -4
  91. package/components/Questions/Radio.vue +1 -1
  92. package/components/Questions/Reference.vue +2 -2
  93. package/components/Questions/String.vue +1 -1
  94. package/components/Questions/Yaml.vue +1 -1
  95. package/components/Questions/__tests__/Boolean.test.ts +24 -12
  96. package/components/Questions/__tests__/Float.test.ts +24 -12
  97. package/components/Questions/__tests__/Int.test.ts +24 -12
  98. package/components/Questions/__tests__/String.test.ts +24 -12
  99. package/components/Questions/__tests__/Yaml.test.ts +25 -13
  100. package/components/Questions/__tests__/utils/questions-defaults.ts +2 -2
  101. package/components/Questions/index.vue +10 -10
  102. package/components/Random.vue +1 -1
  103. package/components/ResourceDetail/Masthead.vue +7 -2
  104. package/components/ResourceDetail/index.vue +6 -3
  105. package/components/ResourceList/Masthead.vue +4 -0
  106. package/components/ResourceList/index.vue +10 -4
  107. package/components/ResourceSummary.vue +1 -1
  108. package/components/ResourceTable.vue +4 -5
  109. package/components/ResourceYaml.vue +1 -2
  110. package/components/RoleBindings.vue +3 -3
  111. package/components/SideNav.vue +10 -8
  112. package/components/SimpleBox.vue +0 -1
  113. package/components/SortableTable/THead.vue +5 -5
  114. package/components/SortableTable/index.vue +21 -20
  115. package/components/SortableTable/sortable-config.ts +4 -0
  116. package/components/StatusTable.vue +1 -1
  117. package/components/TabTitle.vue +3 -9
  118. package/components/Tabbed/Tab.vue +1 -1
  119. package/components/Tabbed/index.vue +2 -4
  120. package/components/Wizard.vue +8 -3
  121. package/components/YamlEditor.vue +4 -4
  122. package/components/__tests__/AppModal.test.ts +33 -25
  123. package/components/__tests__/ApplicationCard.test.ts +1 -1
  124. package/components/__tests__/AsyncButton.test.ts +42 -34
  125. package/components/__tests__/BackLink.test.ts +3 -3
  126. package/components/__tests__/ButtonGroup.test.ts +5 -5
  127. package/components/__tests__/Carousel.test.ts +2 -2
  128. package/components/__tests__/Certificates.test.ts +10 -8
  129. package/components/__tests__/ClusterBadge.test.ts +2 -2
  130. package/components/__tests__/CodeMirror.test.ts +29 -23
  131. package/components/__tests__/Collapse.test.ts +3 -3
  132. package/components/__tests__/CollapsibleCard.test.ts +6 -6
  133. package/components/__tests__/ConsumptionGauge.test.ts +5 -5
  134. package/components/__tests__/CruResource.test.ts +67 -56
  135. package/components/__tests__/EtcdInfoBanner.test.ts +11 -9
  136. package/components/__tests__/FixedBanner.test.ts +8 -8
  137. package/components/__tests__/GrowlManager.test.ts +24 -25
  138. package/components/__tests__/NamespaceFilter.test.ts +49 -32
  139. package/components/__tests__/PercentageBar.test.ts +10 -10
  140. package/components/__tests__/PodSecurityAdmission.test.ts +80 -38
  141. package/components/__tests__/ProjectRow.test.ts +1 -5
  142. package/components/__tests__/PromptRestore.test.ts +15 -18
  143. package/components/__tests__/TabTitle.test.ts +21 -14
  144. package/components/auth/AllowedPrincipals.vue +6 -7
  145. package/components/auth/RoleDetailEdit.vue +44 -46
  146. package/components/auth/SelectPrincipal.vue +3 -5
  147. package/components/auth/__tests__/RoleDetailEdit.test.ts +18 -14
  148. package/components/auth/login/ldap.vue +2 -2
  149. package/components/fleet/FleetClusters.vue +0 -1
  150. package/components/fleet/FleetRepos.vue +0 -1
  151. package/components/fleet/FleetStatus.vue +15 -16
  152. package/components/fleet/__tests__/FleetSummary.test.ts +8 -2
  153. package/components/form/ArrayList.vue +6 -7
  154. package/components/form/ArrayListGrouped.vue +20 -7
  155. package/components/form/ArrayListSelect.vue +4 -4
  156. package/components/form/BannerSettings.vue +10 -10
  157. package/components/form/ChangePassword.vue +9 -9
  158. package/components/form/ColorInput.vue +2 -2
  159. package/components/form/Command.vue +13 -15
  160. package/components/form/EnvVars.vue +7 -7
  161. package/components/form/FileImageSelector.vue +1 -1
  162. package/components/form/GitPicker.vue +7 -7
  163. package/components/form/HealthCheck.vue +4 -4
  164. package/components/form/HookOption.vue +13 -13
  165. package/components/form/InputWithSelect.vue +19 -13
  166. package/components/form/KeyValue.vue +13 -14
  167. package/components/form/LabeledSelect.vue +61 -46
  168. package/components/form/Labels.vue +3 -3
  169. package/components/form/LifecycleHooks.vue +5 -7
  170. package/components/form/MatchExpressions.vue +7 -7
  171. package/components/form/Members/ClusterMembershipEditor.vue +1 -2
  172. package/components/form/Members/ClusterPermissionsEditor.vue +9 -9
  173. package/components/form/Members/MembershipEditor.vue +4 -5
  174. package/components/form/Members/ProjectMembershipEditor.vue +1 -2
  175. package/components/form/NameNsDescription.vue +12 -13
  176. package/components/form/Networking.vue +17 -17
  177. package/components/form/NodeAffinity.vue +9 -10
  178. package/components/form/NodeScheduling.vue +7 -7
  179. package/components/form/NotificationSettings.vue +2 -2
  180. package/components/form/Password.vue +2 -2
  181. package/components/form/PodAffinity.vue +21 -23
  182. package/components/form/PodSecurity.vue +6 -6
  183. package/components/form/Ports.vue +5 -5
  184. package/components/form/Probe.vue +20 -20
  185. package/components/form/ProjectMemberEditor.vue +9 -9
  186. package/components/form/ResourceLabeledSelect.vue +11 -4
  187. package/components/form/ResourceQuota/Namespace.vue +3 -3
  188. package/components/form/ResourceQuota/NamespaceRow.vue +3 -3
  189. package/components/form/ResourceQuota/Project.vue +7 -6
  190. package/components/form/ResourceQuota/ProjectRow.vue +113 -114
  191. package/components/form/ResourceSelector.vue +3 -3
  192. package/components/form/ResourceTabs/index.vue +1 -1
  193. package/components/form/RuleSelector.vue +7 -6
  194. package/components/form/SecretSelector.vue +5 -6
  195. package/components/form/Security.vue +14 -14
  196. package/components/form/Select.vue +38 -12
  197. package/components/form/SelectOrCreateAuthSecret.vue +30 -27
  198. package/components/form/ServiceNameSelect.vue +8 -5
  199. package/components/form/ServicePorts.vue +4 -4
  200. package/components/form/ShellInput.vue +3 -3
  201. package/components/form/SimpleSecretSelector.vue +2 -2
  202. package/components/form/Taints.vue +5 -4
  203. package/components/form/Tolerations.vue +12 -12
  204. package/components/form/UnitInput.vue +1 -1
  205. package/components/form/ValueFromResource.vue +17 -17
  206. package/components/form/WorkloadPorts.vue +21 -21
  207. package/components/form/__tests__/ArrayList.test.ts +14 -11
  208. package/components/form/__tests__/ArrayListGrouped.test.ts +4 -4
  209. package/components/form/__tests__/BannerSettings.test.ts +6 -5
  210. package/components/form/__tests__/Command.test.ts +14 -13
  211. package/components/form/__tests__/Error.test.ts +5 -5
  212. package/components/form/__tests__/FileImageSelector.test.ts +5 -5
  213. package/components/form/__tests__/FileSelector.test.ts +9 -9
  214. package/components/form/__tests__/InputWithSelect.test.ts +42 -0
  215. package/components/form/__tests__/KeyValue.test.ts +28 -18
  216. package/components/form/__tests__/LabeledSelect.test.ts +9 -9
  217. package/components/form/__tests__/MatchExpressions.test.ts +10 -10
  218. package/components/form/__tests__/NameNsDescription.test.ts +28 -25
  219. package/components/form/__tests__/NodeAffinity.test.ts +4 -3
  220. package/components/form/__tests__/PodAffinity.test.ts +4 -3
  221. package/components/form/__tests__/Probe.test.ts +6 -6
  222. package/components/form/__tests__/Security.test.ts +6 -6
  223. package/components/form/__tests__/Select.test.ts +30 -0
  224. package/components/form/__tests__/ServiceNameSelect.test.ts +42 -0
  225. package/components/form/__tests__/Taints.test.ts +18 -17
  226. package/components/form/__tests__/UnitInput.test.ts +20 -24
  227. package/components/form/labeled-select-utils/labeled-select.utils.ts +1 -1
  228. package/components/formatter/AppSummaryGraph.vue +5 -5
  229. package/components/formatter/ClusterLink.vue +1 -1
  230. package/components/formatter/Endpoints.vue +4 -1
  231. package/components/formatter/FleetSummaryGraph.vue +5 -5
  232. package/components/formatter/ListLink.vue +1 -1
  233. package/components/formatter/ListLinkDetail.vue +2 -2
  234. package/components/formatter/LiveExpiryBadgeState.vue +18 -5
  235. package/components/formatter/LiveExpiryDate.vue +1 -1
  236. package/components/formatter/MachineSummaryGraph.vue +5 -5
  237. package/components/formatter/PercentageBar.vue +1 -1
  238. package/components/formatter/Principal.vue +0 -1
  239. package/components/formatter/PrincipalGroupBindings.vue +5 -5
  240. package/components/formatter/ReceiverIcons.vue +5 -3
  241. package/components/formatter/Scale.vue +5 -5
  242. package/components/formatter/ServiceTargets.vue +1 -1
  243. package/components/formatter/VirtualServiceGateways.vue +1 -1
  244. package/components/formatter/Weight.vue +3 -3
  245. package/components/formatter/WorkloadDetailEndpoints.vue +4 -1
  246. package/components/formatter/WorkloadHealthScale.vue +5 -6
  247. package/components/formatter/__tests__/Checked.test.ts +2 -2
  248. package/components/formatter/__tests__/ClusterLink.test.ts +3 -3
  249. package/components/formatter/__tests__/Date.test.ts +8 -8
  250. package/components/formatter/__tests__/LinkDetail.test.ts +10 -10
  251. package/components/formatter/__tests__/LiveDate.test.ts +21 -15
  252. package/components/formatter/__tests__/PodsUsage.test.ts +5 -5
  253. package/components/formatter/__tests__/Si.test.ts +3 -3
  254. package/components/formatter/__tests__/WorkloadDetailEndpoints.test.ts +5 -5
  255. package/components/graph/LinePlot.vue +1 -2
  256. package/components/nav/Group.vue +11 -6
  257. package/components/nav/Header.vue +182 -131
  258. package/components/nav/Jump.vue +1 -1
  259. package/components/nav/NamespaceFilter.vue +2 -2
  260. package/components/nav/TopLevelMenu.vue +18 -17
  261. package/components/nav/Type.vue +7 -7
  262. package/components/nav/WindowManager/ContainerLogs.vue +53 -38
  263. package/components/nav/WindowManager/ContainerShell.vue +45 -39
  264. package/components/nav/WindowManager/Window.vue +1 -1
  265. package/components/nav/WindowManager/__tests__/ContainerLogs.test.ts +34 -23
  266. package/components/nav/WindowManager/__tests__/ContainerShell.test.ts +41 -33
  267. package/components/nav/WindowManager/index.vue +4 -4
  268. package/components/nav/WorkspaceSwitcher.vue +16 -16
  269. package/components/nav/__tests__/TopLevelMenu.test.ts +354 -308
  270. package/components/nav/__tests__/Type.test.ts +194 -111
  271. package/components/nuxt/nuxt-build-indicator.vue +79 -52
  272. package/components/nuxt/nuxt-child.js +24 -25
  273. package/components/nuxt/nuxt-error.vue +48 -18
  274. package/components/nuxt/nuxt-link.client.js +4 -3
  275. package/components/nuxt/nuxt-loading.vue +96 -85
  276. package/components/templates/blank.vue +0 -1
  277. package/components/templates/default.vue +0 -4
  278. package/components/templates/home.vue +4 -4
  279. package/components/templates/plain.vue +3 -2
  280. package/composables/useI18n.ts +1 -1
  281. package/composables/useLabeledFormElement.ts +12 -1
  282. package/composables/useUserRetentionValidation.test.ts +178 -0
  283. package/composables/useUserRetentionValidation.ts +201 -0
  284. package/config/__test__/home-links.test.ts +2 -7
  285. package/config/pagination-table-headers.js +5 -4
  286. package/config/query-params.js +1 -0
  287. package/config/roles.ts +34 -19
  288. package/config/router/index.js +10 -7
  289. package/config/router/navigation-guards/attempt-first-login.js +1 -1
  290. package/config/router/navigation-guards/authentication.js +2 -1
  291. package/{middleware/authenticated.js → config/router/navigation-guards/clusters.js} +28 -67
  292. package/config/router/navigation-guards/history.js +13 -0
  293. package/config/router/navigation-guards/i18n.js +1 -1
  294. package/config/router/navigation-guards/index.js +8 -1
  295. package/config/router/navigation-guards/install-redirect.js +95 -0
  296. package/config/router/navigation-guards/load-initial-settings.js +1 -1
  297. package/config/router/navigation-guards/page-title.js +12 -0
  298. package/config/router/navigation-guards/products.js +15 -0
  299. package/config/router/navigation-guards/runtime-extension-route.js +31 -0
  300. package/config/router/navigation-guards/server-upgrade-growl.js +19 -0
  301. package/config/router/routes.js +49 -23
  302. package/config/settings.ts +1 -1
  303. package/config/store.js +2 -5
  304. package/config/types.js +18 -0
  305. package/config/uiplugins.js +2 -2
  306. package/core/plugin-routes.ts +40 -30
  307. package/core/plugin.ts +10 -10
  308. package/core/plugins-loader.js +3 -3
  309. package/core/plugins.js +7 -1
  310. package/core/types.ts +7 -7
  311. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +16 -8
  312. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +8 -8
  313. package/detail/__tests__/service.test.ts +6 -6
  314. package/detail/autoscaling.horizontalpodautoscaler/index.vue +6 -5
  315. package/detail/catalog.cattle.io.app.vue +2 -2
  316. package/detail/cis.cattle.io.clusterscan.vue +3 -3
  317. package/detail/configmap.vue +4 -1
  318. package/detail/fleet.cattle.io.cluster.vue +2 -1
  319. package/detail/fleet.cattle.io.clustergroup.vue +2 -1
  320. package/detail/fleet.cattle.io.gitrepo.vue +2 -1
  321. package/detail/harvesterhci.io.management.cluster.vue +2 -1
  322. package/detail/helm.cattle.io.projecthelmchart.vue +28 -29
  323. package/detail/management.cattle.io.user.vue +2 -1
  324. package/detail/namespace.vue +2 -1
  325. package/detail/networking.k8s.io.ingress.vue +4 -2
  326. package/detail/node.vue +2 -1
  327. package/detail/provisioning.cattle.io.cluster.vue +6 -7
  328. package/detail/secret.vue +3 -2
  329. package/detail/service.vue +2 -1
  330. package/detail/workload/index.vue +1 -19
  331. package/dialog/AddClusterMemberDialog.vue +30 -31
  332. package/dialog/AddCustomBadgeDialog.vue +101 -104
  333. package/dialog/AddProjectMemberDialog.vue +45 -46
  334. package/dialog/AddonConfigConfirmationDialog.vue +22 -24
  335. package/dialog/DeactivateDriverDialog.vue +5 -6
  336. package/dialog/DiagnosticTimingsDialog.vue +29 -29
  337. package/dialog/DrainNode.vue +245 -249
  338. package/dialog/ForceMachineRemoveDialog.vue +32 -34
  339. package/dialog/GenericPrompt.vue +23 -25
  340. package/dialog/RollbackWorkloadDialog.vue +68 -71
  341. package/dialog/RotateCertificatesDialog.vue +17 -18
  342. package/dialog/RotateEncryptionKeyDialog.vue +46 -47
  343. package/dialog/SaveAsRKETemplateDialog.vue +46 -47
  344. package/dialog/ScaleMachineDownDialog.vue +3 -3
  345. package/dialog/ScalePoolDownDialog.vue +22 -24
  346. package/dialog/SloDialog.vue +95 -0
  347. package/directives/clean-html.js +3 -3
  348. package/directives/clean-tooltip.js +1 -1
  349. package/directives/focus.js +17 -11
  350. package/directives/int-number.js +2 -2
  351. package/directives/positive-int-number.js +2 -2
  352. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +7 -13
  353. package/edit/__tests__/kontainerDriver.test.ts +23 -20
  354. package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +31 -29
  355. package/edit/__tests__/management.cattle.io.setting.test.ts +20 -18
  356. package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +17 -15
  357. package/edit/__tests__/namespace.test.ts +28 -27
  358. package/edit/__tests__/nodeDriver.test.ts +35 -53
  359. package/edit/__tests__/service.test.ts +32 -17
  360. package/edit/__tests__/ui.cattle.io.navlink.test.ts +22 -20
  361. package/edit/auth/__tests__/AuthProviderWarningBanners.test.ts +2 -2
  362. package/edit/auth/__tests__/azuread.test.ts +43 -46
  363. package/edit/auth/__tests__/oidc.test.ts +36 -39
  364. package/edit/auth/azuread.vue +16 -23
  365. package/edit/auth/github.vue +6 -6
  366. package/edit/auth/googleoauth.vue +7 -7
  367. package/edit/auth/ldap/config.vue +29 -29
  368. package/edit/auth/ldap/index.vue +5 -5
  369. package/edit/auth/oidc.vue +18 -18
  370. package/edit/auth/saml.vue +94 -24
  371. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
  372. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +7 -7
  373. package/edit/autoscaling.horizontalpodautoscaler/index.vue +18 -16
  374. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +3 -3
  375. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +3 -3
  376. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +12 -12
  377. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +5 -5
  378. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +3 -3
  379. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
  380. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  381. package/edit/catalog.cattle.io.clusterrepo.vue +31 -32
  382. package/edit/cis.cattle.io.clusterscan.vue +9 -9
  383. package/edit/cis.cattle.io.clusterscanbenchmark.vue +7 -7
  384. package/edit/cis.cattle.io.clusterscanprofile.vue +3 -3
  385. package/edit/cloudcredential.vue +13 -8
  386. package/edit/configmap.vue +7 -7
  387. package/edit/constraints.gatekeeper.sh.constraint/MatchKinds.vue +3 -3
  388. package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
  389. package/edit/constraints.gatekeeper.sh.constraint/Scope.vue +1 -1
  390. package/edit/constraints.gatekeeper.sh.constraint/index.vue +21 -22
  391. package/edit/fleet.cattle.io.cluster.vue +2 -1
  392. package/edit/fleet.cattle.io.clustergroup.vue +6 -5
  393. package/edit/fleet.cattle.io.gitrepo.vue +18 -18
  394. package/edit/helm.cattle.io.projecthelmchart.vue +4 -4
  395. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +3 -2
  396. package/edit/logging-flow/Match.vue +4 -4
  397. package/edit/logging-flow/index.vue +11 -10
  398. package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +79 -73
  399. package/edit/logging.banzaicloud.io.output/index.vue +4 -4
  400. package/edit/logging.banzaicloud.io.output/providers/__tests__/loki.test.ts +1 -1
  401. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  402. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +5 -5
  403. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +6 -6
  404. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +4 -4
  405. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +16 -16
  406. package/edit/logging.banzaicloud.io.output/providers/file.vue +1 -1
  407. package/edit/logging.banzaicloud.io.output/providers/forward.vue +9 -9
  408. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +5 -5
  409. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +14 -14
  410. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  411. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +3 -3
  412. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +3 -3
  413. package/edit/logging.banzaicloud.io.output/providers/logz.vue +5 -5
  414. package/edit/logging.banzaicloud.io.output/providers/loki.vue +10 -10
  415. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  416. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +15 -15
  417. package/edit/logging.banzaicloud.io.output/providers/redis.vue +5 -5
  418. package/edit/logging.banzaicloud.io.output/providers/s3.vue +7 -7
  419. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +12 -12
  420. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  421. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +19 -19
  422. package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
  423. package/edit/management.cattle.io.fleetworkspace.vue +9 -7
  424. package/edit/management.cattle.io.node.vue +4 -3
  425. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +3 -2
  426. package/edit/management.cattle.io.project.vue +13 -10
  427. package/edit/management.cattle.io.projectroletemplatebinding.vue +3 -3
  428. package/edit/management.cattle.io.setting.vue +6 -6
  429. package/edit/management.cattle.io.user.vue +4 -4
  430. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +4 -4
  431. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +2 -1
  432. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -5
  433. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +11 -11
  434. package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +2 -2
  435. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +10 -9
  436. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  437. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +5 -5
  438. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +5 -5
  439. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +9 -9
  440. package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +36 -36
  441. package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +4 -4
  442. package/edit/monitoring.coreos.com.prometheusrule/index.vue +9 -9
  443. package/edit/monitoring.coreos.com.receiver/auth.vue +9 -9
  444. package/edit/monitoring.coreos.com.receiver/index.vue +8 -8
  445. package/edit/monitoring.coreos.com.receiver/tls.vue +4 -4
  446. package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +20 -16
  447. package/edit/monitoring.coreos.com.receiver/types/email.vue +12 -11
  448. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +11 -11
  449. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +6 -6
  450. package/edit/monitoring.coreos.com.receiver/types/slack.vue +6 -6
  451. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +7 -7
  452. package/edit/monitoring.coreos.com.route.vue +10 -10
  453. package/edit/namespace.vue +10 -8
  454. package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -12
  455. package/edit/networking.istio.io.destinationrule/index.vue +15 -15
  456. package/edit/networking.k8s.io.ingress/Certificate.vue +5 -5
  457. package/edit/networking.k8s.io.ingress/Certificates.vue +2 -2
  458. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +18 -18
  459. package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
  460. package/edit/networking.k8s.io.ingress/Rule.vue +9 -7
  461. package/edit/networking.k8s.io.ingress/RulePath.vue +10 -10
  462. package/edit/networking.k8s.io.ingress/Rules.vue +3 -3
  463. package/edit/networking.k8s.io.ingress/index.vue +15 -10
  464. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +4 -4
  465. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +1 -1
  466. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +47 -32
  467. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +3 -3
  468. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +27 -26
  469. package/edit/networking.k8s.io.networkpolicy/index.vue +18 -16
  470. package/edit/node.vue +6 -5
  471. package/edit/nodeDriver.vue +6 -1
  472. package/edit/persistentvolume/__tests__/persistentvolume.test.ts +60 -49
  473. package/edit/persistentvolume/index.vue +26 -26
  474. package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +8 -8
  475. package/edit/persistentvolume/plugins/azureDisk.vue +10 -10
  476. package/edit/persistentvolume/plugins/azureFile.vue +6 -6
  477. package/edit/persistentvolume/plugins/cephfs.vue +10 -10
  478. package/edit/persistentvolume/plugins/cinder.vue +8 -8
  479. package/edit/persistentvolume/plugins/csi.vue +18 -18
  480. package/edit/persistentvolume/plugins/fc.vue +9 -9
  481. package/edit/persistentvolume/plugins/flexVolume.vue +9 -9
  482. package/edit/persistentvolume/plugins/flocker.vue +3 -3
  483. package/edit/persistentvolume/plugins/gcePersistentDisk.vue +8 -8
  484. package/edit/persistentvolume/plugins/glusterfs.vue +5 -5
  485. package/edit/persistentvolume/plugins/hostPath.vue +4 -4
  486. package/edit/persistentvolume/plugins/iscsi.vue +18 -18
  487. package/edit/persistentvolume/plugins/local.vue +2 -2
  488. package/edit/persistentvolume/plugins/longhorn.vue +8 -8
  489. package/edit/persistentvolume/plugins/nfs.vue +5 -5
  490. package/edit/persistentvolume/plugins/photonPersistentDisk.vue +5 -5
  491. package/edit/persistentvolume/plugins/portworxVolume.vue +6 -6
  492. package/edit/persistentvolume/plugins/quobyte.vue +7 -7
  493. package/edit/persistentvolume/plugins/rbd.vue +12 -12
  494. package/edit/persistentvolume/plugins/scaleIO.vue +15 -15
  495. package/edit/persistentvolume/plugins/storageos.vue +9 -9
  496. package/edit/persistentvolume/plugins/vsphereVolume.vue +5 -5
  497. package/edit/persistentvolumeclaim.vue +29 -28
  498. package/edit/policy.poddisruptionbudget.vue +15 -14
  499. package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +1 -1
  500. package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +10 -10
  501. package/edit/provisioning.cattle.io.cluster/Labels.vue +12 -1
  502. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +5 -5
  503. package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +40 -36
  504. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.test.ts +170 -79
  505. package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.test.ts +16 -14
  506. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +38 -8
  507. package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +14 -12
  508. package/edit/provisioning.cattle.io.cluster/__tests__/index.test.ts +18 -19
  509. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +292 -84
  510. package/edit/provisioning.cattle.io.cluster/import.vue +7 -4
  511. package/edit/provisioning.cattle.io.cluster/index.vue +32 -13
  512. package/edit/provisioning.cattle.io.cluster/rke2.vue +155 -78
  513. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +5 -5
  514. package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +10 -11
  515. package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +12 -11
  516. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +62 -24
  517. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +9 -9
  518. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +12 -12
  519. package/edit/provisioning.cattle.io.cluster/tabs/etcd/S3Config.vue +15 -15
  520. package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +6 -6
  521. package/edit/provisioning.cattle.io.cluster/tabs/networking/ACE.vue +3 -3
  522. package/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue +18 -9
  523. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +16 -12
  524. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryMirrors.vue +4 -4
  525. package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +63 -0
  526. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +8 -6
  527. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/DrainOptions.vue +15 -15
  528. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/index.vue +4 -4
  529. package/edit/resources.cattle.io.backup.vue +9 -9
  530. package/edit/resources.cattle.io.restore.vue +11 -11
  531. package/edit/secret/basic.vue +2 -2
  532. package/edit/secret/generic.vue +1 -1
  533. package/edit/secret/index.vue +12 -10
  534. package/edit/secret/registry.vue +4 -4
  535. package/edit/secret/ssh.vue +2 -2
  536. package/edit/secret/tls.vue +2 -2
  537. package/edit/service.vue +25 -25
  538. package/edit/serviceaccount.vue +7 -7
  539. package/edit/storage.k8s.io.storageclass/index.vue +16 -16
  540. package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +1 -1
  541. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
  542. package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +4 -4
  543. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +12 -12
  544. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +3 -3
  545. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +3 -3
  546. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +4 -4
  547. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +6 -6
  548. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +9 -9
  549. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +7 -7
  550. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +8 -8
  551. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +11 -11
  552. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +8 -8
  553. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +5 -5
  554. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +7 -7
  555. package/edit/token.vue +4 -4
  556. package/edit/ui.cattle.io.navlink.vue +28 -27
  557. package/edit/workload/Job.vue +18 -18
  558. package/edit/workload/Upgrading.vue +16 -16
  559. package/edit/workload/VolumeClaimTemplate.vue +3 -3
  560. package/edit/workload/__tests__/Job.test.ts +10 -10
  561. package/edit/workload/__tests__/index.test.ts +32 -29
  562. package/edit/workload/index.vue +31 -30
  563. package/edit/workload/mixins/workload.js +30 -30
  564. package/edit/workload/storage/ContainerMountPaths.vue +3 -4
  565. package/edit/workload/storage/Mount.vue +10 -7
  566. package/edit/workload/storage/__tests__/Mount.test.ts +17 -13
  567. package/edit/workload/storage/__tests__/Storage.test.ts +26 -20
  568. package/edit/workload/storage/awsElasticBlockStore.vue +4 -4
  569. package/edit/workload/storage/azureDisk.vue +7 -7
  570. package/edit/workload/storage/azureFile.vue +5 -5
  571. package/edit/workload/storage/csi/driver.longhorn.io.vue +3 -3
  572. package/edit/workload/storage/csi/index.vue +4 -4
  573. package/edit/workload/storage/emptyDir.vue +4 -4
  574. package/edit/workload/storage/ephemeralVolume/index.vue +3 -3
  575. package/edit/workload/storage/gcePersistentDisk.vue +4 -4
  576. package/edit/workload/storage/hostPath.vue +4 -4
  577. package/edit/workload/storage/index.vue +13 -27
  578. package/edit/workload/storage/nfs.vue +4 -4
  579. package/edit/workload/storage/persistentVolumeClaim/__tests__/persistentvolumeclaim.test.ts +18 -16
  580. package/edit/workload/storage/persistentVolumeClaim/index.vue +5 -5
  581. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +15 -15
  582. package/edit/workload/storage/secret.vue +9 -9
  583. package/edit/workload/storage/vsphereVolume.vue +4 -4
  584. package/initialize/App.vue +10 -8
  585. package/initialize/app-extended.js +14 -30
  586. package/initialize/entry-helpers.js +29 -428
  587. package/initialize/entry.js +11 -10
  588. package/initialize/install-plugins.js +15 -13
  589. package/list/__tests__/workload.test.ts +22 -20
  590. package/list/catalog.cattle.io.app.vue +1 -1
  591. package/list/cis.cattle.io.clusterscan.vue +1 -2
  592. package/list/fleet.cattle.io.clustergroup.vue +0 -1
  593. package/list/group.principal.vue +1 -1
  594. package/list/management.cattle.io.feature.vue +23 -29
  595. package/list/management.cattle.io.fleetworkspace.vue +0 -1
  596. package/list/management.cattle.io.setting.vue +2 -2
  597. package/list/management.cattle.io.user.vue +1 -1
  598. package/list/namespace.vue +0 -1
  599. package/list/node.vue +4 -5
  600. package/list/provisioning.cattle.io.cluster.vue +1 -1
  601. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +0 -1
  602. package/machine-config/__tests__/vmwarevsphere.test.ts +10 -7
  603. package/machine-config/amazonec2.vue +26 -26
  604. package/machine-config/azure.vue +31 -31
  605. package/machine-config/digitalocean.vue +8 -8
  606. package/machine-config/generic.vue +2 -1
  607. package/machine-config/linode.vue +4 -4
  608. package/machine-config/pnap.vue +11 -11
  609. package/machine-config/vmwarevsphere-config.ts +17 -0
  610. package/machine-config/vmwarevsphere.vue +400 -410
  611. package/mixins/__tests__/chart.test.ts +45 -24
  612. package/mixins/auth-config.js +37 -11
  613. package/mixins/chart.js +31 -15
  614. package/mixins/compact-input.ts +2 -3
  615. package/mixins/labeled-form-element.ts +8 -3
  616. package/mixins/page-actions.js +1 -1
  617. package/mixins/resource-fetch.js +4 -3
  618. package/models/__tests__/apps.deployment.test.ts +93 -0
  619. package/models/apps.deployment.js +18 -4
  620. package/models/apps.statefulset.js +1 -2
  621. package/models/batch.cronjob.js +1 -2
  622. package/models/catalog.cattle.io.clusterrepo.js +1 -2
  623. package/models/fleet.cattle.io.gitrepo.js +1 -2
  624. package/models/helm.cattle.io.projecthelmchart.js +2 -3
  625. package/models/management.cattle.io.cluster.js +2 -2
  626. package/models/management.cattle.io.roletemplate.js +2 -3
  627. package/models/namespace.js +1 -2
  628. package/models/networking.istio.io.destinationrule.js +2 -3
  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 -43
  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 +46 -80
  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 +6 -8
  655. package/pages/c/_cluster/logging/index.vue +9 -5
  656. package/pages/c/_cluster/longhorn/__tests__/longhorn.index.test.ts +7 -4
  657. package/pages/c/_cluster/longhorn/index.vue +2 -9
  658. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +1 -1
  659. package/pages/c/_cluster/manager/jwt.authentication/index.vue +14 -5
  660. package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
  661. package/pages/c/_cluster/monitoring/index.vue +8 -10
  662. package/pages/c/_cluster/neuvector/index.vue +7 -10
  663. package/pages/c/_cluster/settings/DefaultLinksEditor.vue +7 -9
  664. package/pages/c/_cluster/settings/banners.vue +82 -84
  665. package/pages/c/_cluster/settings/brand.vue +21 -19
  666. package/pages/c/_cluster/settings/links.vue +6 -4
  667. package/pages/c/_cluster/settings/performance.vue +25 -21
  668. package/pages/c/_cluster/uiplugins/AddExtensionRepos.vue +2 -2
  669. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +43 -45
  670. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +5 -5
  671. package/pages/c/_cluster/uiplugins/InstallDialog.vue +1 -1
  672. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +3 -3
  673. package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +17 -34
  674. package/pages/c/_cluster/uiplugins/__tests__/SetupUIPlugins.test.ts +12 -9
  675. package/pages/c/_cluster/uiplugins/index.vue +173 -176
  676. package/pages/diagnostic.vue +6 -9
  677. package/pages/fail-whale.vue +3 -1
  678. package/pages/home.vue +8 -17
  679. package/pages/index.vue +17 -16
  680. package/pages/prefs.vue +12 -12
  681. package/pages/support/index.vue +3 -3
  682. package/pkg/tsconfig.json +0 -1
  683. package/plugins/dashboard-store/actions.js +1 -1
  684. package/plugins/dashboard-store/getters.js +1 -1
  685. package/plugins/dashboard-store/index.js +2 -0
  686. package/plugins/dashboard-store/mutations.js +5 -5
  687. package/plugins/dashboard-store/resource-class.js +5 -5
  688. package/plugins/extend-router.js +62 -42
  689. package/plugins/floating-vue.js +1 -0
  690. package/plugins/formatters.js +1 -1
  691. package/plugins/global-formatters.js +3 -14
  692. package/plugins/i18n.js +17 -22
  693. package/plugins/shortkey.js +273 -0
  694. package/plugins/steve/__tests__/getters.test.ts +6 -3
  695. package/plugins/steve/getters.js +6 -4
  696. package/plugins/steve/hybrid-class.js +7 -12
  697. package/plugins/steve/mutations.js +1 -2
  698. package/plugins/steve/norman-class.js +10 -11
  699. package/plugins/steve/subscribe.js +3 -1
  700. package/promptRemove/management.cattle.io.globalrole.vue +1 -5
  701. package/promptRemove/management.cattle.io.project.vue +1 -1
  702. package/promptRemove/pod.vue +1 -1
  703. package/public/index.html +53 -52
  704. package/rancher-components/BadgeState/BadgeState.test.ts +1 -1
  705. package/rancher-components/BadgeState/BadgeState.vue +1 -1
  706. package/rancher-components/Banner/Banner.test.ts +2 -2
  707. package/rancher-components/Form/Checkbox/Checkbox.test.ts +5 -5
  708. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -4
  709. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +5 -5
  710. package/rancher-components/Form/LabeledInput/LabeledInput.vue +15 -4
  711. package/rancher-components/Form/Radio/RadioButton.vue +3 -2
  712. package/rancher-components/Form/Radio/RadioGroup.test.ts +6 -9
  713. package/rancher-components/Form/Radio/RadioGroup.vue +4 -5
  714. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +18 -1
  715. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +13 -13
  716. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -1
  717. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +1 -0
  718. package/rancher-components/StringList/StringList.test.ts +22 -22
  719. package/rancher-components/StringList/StringList.vue +10 -9
  720. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
  721. package/scripts/publish-shell.sh +52 -58
  722. package/scripts/test-plugins-build.sh +44 -38
  723. package/scripts/vue-migrate.js +7 -4
  724. package/shell/types/shell/index.d.ts +2 -0
  725. package/store/__tests__/catalog.test.ts +4 -21
  726. package/store/auth.js +28 -10
  727. package/store/index.js +16 -8
  728. package/store/prefs.js +3 -4
  729. package/types/resources/settings.d.ts +54 -0
  730. package/types/store/pagination.types.ts +1 -1
  731. package/utils/auth.js +21 -6
  732. package/utils/axios.js +1 -1
  733. package/utils/download.js +1 -1
  734. package/utils/dynamic-importer.js +14 -12
  735. package/utils/error.js +4 -4
  736. package/utils/object.js +4 -5
  737. package/utils/router.js +7 -1
  738. package/utils/select.js +1 -1
  739. package/utils/settings.ts +3 -1
  740. package/utils/unit-tests/ChildRenderingRouterLinkStub.ts +4 -4
  741. package/vue.config.js +171 -145
  742. package/config/middleware.js +0 -6
  743. package/config/nuxt-paths.js +0 -7
  744. package/creators/app/app.package.json +0 -14
  745. package/creators/app/files/.eslintignore +0 -16
  746. package/creators/app/files/.eslintrc.js +0 -173
  747. package/creators/app/files/.gitignore +0 -70
  748. package/creators/app/files/.gitlab-ci.yml +0 -14
  749. package/creators/app/files/.vscode/settings.json +0 -21
  750. package/creators/app/files/babel.config.js +0 -1
  751. package/creators/app/files/tsconfig.json +0 -42
  752. package/creators/app/files/vue.config.js +0 -6
  753. package/creators/app/init +0 -120
  754. package/creators/app/package.json +0 -25
  755. package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +0 -24
  756. package/creators/pkg/files/.github/workflows/build-extension-charts.yml +0 -22
  757. package/creators/pkg/files/babel.config.js +0 -1
  758. package/creators/pkg/files/index.ts +0 -14
  759. package/creators/pkg/files/tsconfig.json +0 -53
  760. package/creators/pkg/files/vue.config.js +0 -1
  761. package/creators/pkg/init +0 -286
  762. package/creators/pkg/package.json +0 -19
  763. package/creators/pkg/pkg.package.json +0 -21
  764. package/creators/pkg/vue-shim.ts +0 -4
  765. package/creators/update/init +0 -56
  766. package/creators/update/package.json +0 -20
  767. package/creators/update/upgrade +0 -56
  768. package/pages/c/_cluster/backup/index.vue +0 -11
  769. package/pages/c/_cluster/cis/index.vue +0 -11
  770. package/plugins/clean-html-directive.js +0 -9
  771. package/plugins/clean-tooltip-directive.js +0 -8
  772. package/plugins/directives.js +0 -8
  773. package/plugins/int-number.js +0 -8
  774. package/plugins/positive-int-number.js +0 -8
  775. package/plugins/trim-whitespace.js +0 -9
  776. package/plugins/vue-js-modal.js +0 -4
  777. package/types/shell/index.d.ts +0 -4585
  778. package/utils/install-redirect.js +0 -55
  779. /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,25 @@ export default {
618
651
  return out;
619
652
  },
620
653
 
654
+ isAzureProviderUnsupported() {
655
+ const isAzureAvailable = !!this.cloudProviderOptions.find((p) => p.value === 'azure');
656
+ const isAzureSelected = this.agentConfig['cloud-provider-name'] === 'azure';
657
+
658
+ return isAzureAvailable && (isAzureK8sUnsupported(this.value.spec.kubernetesVersion) || isAzureSelected);
659
+ },
660
+
661
+ canAzureMigrateOnEdit() {
662
+ if (!this.isEdit) {
663
+ return false;
664
+ }
665
+
666
+ const isAzureLiveProvider = this.liveValue.agentConfig['cloud-provider-name'] === 'azure';
667
+
668
+ return isAzureLiveProvider &&
669
+ semver.gte(this.liveValue?.spec?.kubernetesVersion, '1.27.0') &&
670
+ semver.lt(this.liveValue?.spec?.kubernetesVersion, '1.30.0');
671
+ },
672
+
621
673
  canManageMembers() {
622
674
  return canViewClusterMembershipEditor(this.$store);
623
675
  },
@@ -659,7 +711,7 @@ export default {
659
711
  const { linuxWorkerCount, windowsWorkerCount } = this.value?.mgmt?.status || {};
660
712
 
661
713
  if (!windowsWorkerCount) {
662
- if (!!this.machinePools.find((pool) => {
714
+ if (!!this.machinePools?.find((pool) => {
663
715
  return pool?.config?.os === 'windows';
664
716
  })) {
665
717
  return this.t('cluster.banner.os', { newOS: 'Windows', existingOS: 'Linux' });
@@ -726,6 +778,14 @@ export default {
726
778
  } else {
727
779
  return this.$store.getters['customisation/getPreviewCluster'];
728
780
  }
781
+ },
782
+ localValue: {
783
+ get() {
784
+ return this.value;
785
+ },
786
+ set(newValue) {
787
+ this.$emit('update:value', newValue);
788
+ }
729
789
  }
730
790
  },
731
791
 
@@ -794,11 +854,11 @@ export default {
794
854
  if (!this.serverConfig.cni) {
795
855
  const def = this.serverArgs.cni.default;
796
856
 
797
- set(this.serverConfig, 'cni', def);
857
+ this.serverConfig.cni = def;
798
858
  }
799
859
  } else {
800
860
  // Type doesn't support cni, clear `cni`
801
- set(this.serverConfig, 'cni', undefined);
861
+ this.serverConfig.cni = undefined;
802
862
  }
803
863
  },
804
864
 
@@ -806,7 +866,7 @@ export default {
806
866
  if (!neu) {
807
867
  // No cloud provider available? Then clear cloud provider setting. This will recalculate addonNames...
808
868
  // ... which will eventually update `value.spec.rkeConfig.chartValues`
809
- set(this.agentConfig, 'cloud-provider-name', undefined);
869
+ this.agentConfig['cloud-provider-name'] = undefined;
810
870
  }
811
871
  },
812
872
  },
@@ -831,11 +891,11 @@ export default {
831
891
  */
832
892
  async initSpecs() {
833
893
  if (!this.value.spec) {
834
- set(this.value, 'spec', {});
894
+ this.value.spec = {};
835
895
  }
836
896
 
837
897
  if (!this.value.spec.machineSelectorConfig) {
838
- set(this.value.spec, 'machineSelectorConfig', []);
898
+ this.value.spec.machineSelectorConfig = [];
839
899
  }
840
900
 
841
901
  if (!this.value.spec.machineSelectorConfig.find((x) => !x.machineLabelSelector)) {
@@ -848,7 +908,7 @@ export default {
848
908
  }
849
909
 
850
910
  if (!this.value.spec.kubernetesVersion) {
851
- set(this.value.spec, 'kubernetesVersion', this.defaultVersion);
911
+ this.value.spec.kubernetesVersion = this.defaultVersion;
852
912
  }
853
913
 
854
914
  if (this.rkeConfig.etcd?.s3?.bucket) {
@@ -856,16 +916,16 @@ export default {
856
916
  }
857
917
 
858
918
  if (!this.rkeConfig.etcd) {
859
- set(this.rkeConfig, 'etcd', {
919
+ this.rkeConfig.etcd = {
860
920
  disableSnapshots: false,
861
921
  s3: null,
862
922
  snapshotRetention: 5,
863
923
  snapshotScheduleCron: '0 */5 * * *',
864
- });
924
+ };
865
925
  } else if (typeof this.rkeConfig.etcd.disableSnapshots === 'undefined') {
866
926
  const disableSnapshots = !this.rkeConfig.etcd.snapshotRetention && !this.rkeConfig.etcd.snapshotScheduleCron;
867
927
 
868
- set(this.rkeConfig.etcd, 'disableSnapshots', disableSnapshots);
928
+ this.rkeConfig.etcd.disableSnapshots = disableSnapshots;
869
929
  }
870
930
 
871
931
  // Namespaces if required - this is mainly for custom provisioners via extensions that want
@@ -882,7 +942,7 @@ export default {
882
942
  }
883
943
 
884
944
  if (this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName === undefined) {
885
- set(this.value.spec, 'defaultPodSecurityAdmissionConfigurationTemplateName', '');
945
+ this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName = '';
886
946
  }
887
947
  },
888
948
 
@@ -989,12 +1049,12 @@ export default {
989
1049
  setAgentConfiguration() {
990
1050
  // Cluster Agent Configuration
991
1051
  if (!this.value.spec[CLUSTER_AGENT_CUSTOMIZATION]) {
992
- set(this.value.spec, CLUSTER_AGENT_CUSTOMIZATION, {});
1052
+ this.value.spec[CLUSTER_AGENT_CUSTOMIZATION] = {};
993
1053
  }
994
1054
 
995
1055
  // Fleet Agent Configuration
996
1056
  if (!this.value.spec[FLEET_AGENT_CUSTOMIZATION]) {
997
- set(this.value.spec, FLEET_AGENT_CUSTOMIZATION, {});
1057
+ this.value.spec[FLEET_AGENT_CUSTOMIZATION] = {};
998
1058
  }
999
1059
  },
1000
1060
 
@@ -1211,7 +1271,7 @@ export default {
1211
1271
  await this.syncMachineConfigWithLatest(entry);
1212
1272
 
1213
1273
  // Capitals and such aren't allowed;
1214
- set(entry.pool, 'name', normalizeName(entry.pool.name) || 'pool');
1274
+ entry.pool.name = normalizeName(entry.pool.name) || 'pool';
1215
1275
 
1216
1276
  const prefix = `${ this.value.metadata.name }-${ entry.pool.name }`.substr(0, 50).toLowerCase();
1217
1277
 
@@ -1303,7 +1363,7 @@ export default {
1303
1363
 
1304
1364
  // Set busy before save and clear after save
1305
1365
  async saveOverride(btnCb) {
1306
- this.$set(this, 'busy', true);
1366
+ this['busy'] = true;
1307
1367
 
1308
1368
  // If the provider is from an extension, let it do the provision step
1309
1369
  if (this.extensionProvider?.provision) {
@@ -1311,7 +1371,7 @@ export default {
1311
1371
  const okay = (errors || []).length === 0;
1312
1372
 
1313
1373
  this.errors = errors;
1314
- this.$set(this, 'busy', false);
1374
+ this['busy'] = false;
1315
1375
 
1316
1376
  btnCb(okay);
1317
1377
 
@@ -1323,7 +1383,7 @@ export default {
1323
1383
 
1324
1384
  // Default save
1325
1385
  return this._doSaveOverride((done) => {
1326
- this.$set(this, 'busy', false);
1386
+ this['busy'] = false;
1327
1387
 
1328
1388
  return btnCb(done);
1329
1389
  });
@@ -1378,15 +1438,15 @@ export default {
1378
1438
 
1379
1439
  const harvesterKubeconfigSecret = await this.createKubeconfigSecret(kubeconfig);
1380
1440
 
1381
- set(this.agentConfig, 'cloud-provider-config', `secret://fleet-default:${ harvesterKubeconfigSecret?.metadata?.name }`);
1441
+ this.agentConfig['cloud-provider-config'] = `secret://fleet-default:${ harvesterKubeconfigSecret?.metadata?.name }`;
1382
1442
 
1383
1443
  if (this.isCreate) {
1384
- set(this.chartValues, `${ HARVESTER_CLOUD_PROVIDER }.global.cattle.clusterName`, this.value.metadata.name);
1444
+ this.chartValues[`${ HARVESTER_CLOUD_PROVIDER }.global.cattle.clusterName`] = this.value.metadata.name;
1385
1445
  }
1386
1446
 
1387
1447
  const distroRoot = this.value?.spec?.rkeConfig?.dataDirectories?.k8sDistro?.length ? this.value?.spec?.rkeConfig?.dataDirectories?.k8sDistro : '/var/lib/rancher/rke2';
1388
1448
 
1389
- set(this.chartValues, `${ HARVESTER_CLOUD_PROVIDER }.cloudConfigPath`, `${ distroRoot }/etc/config-files/cloud-provider-config`);
1449
+ this.chartValues[`${ HARVESTER_CLOUD_PROVIDER }.cloudConfigPath`] = `${ distroRoot }/etc/config-files/cloud-provider-config`;
1390
1450
  }
1391
1451
  } catch (err) {
1392
1452
  this.errors.push(err);
@@ -1412,8 +1472,8 @@ export default {
1412
1472
  // if there are any errors saving, restore the agent config data
1413
1473
  if (this.errors?.length) {
1414
1474
  // 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);
1475
+ this.value.spec[CLUSTER_AGENT_CUSTOMIZATION] = clusterAgentDeploymentCustomization;
1476
+ this.value.spec[FLEET_AGENT_CUSTOMIZATION] = fleetAgentDeploymentCustomization;
1417
1477
  }
1418
1478
  },
1419
1479
 
@@ -1484,7 +1544,7 @@ export default {
1484
1544
  versionName: entry.version,
1485
1545
  });
1486
1546
 
1487
- set(this.versionInfo, chartName, res);
1547
+ this.versionInfo.chartName = res;
1488
1548
  const key = this.chartVersionKey(chartName);
1489
1549
 
1490
1550
  if (!this.userChartValues[key]) {
@@ -1501,7 +1561,7 @@ export default {
1501
1561
  this.addonNames.forEach((name) => {
1502
1562
  const chartValues = this.versionInfo[name]?.questions ? this.initYamlEditor(name) : {};
1503
1563
 
1504
- set(this.userChartValuesTemp, name, chartValues);
1564
+ this.userChartValuesTemp.name = chartValues;
1505
1565
  });
1506
1566
  this.refreshComponentWithYamls(key);
1507
1567
  },
@@ -1527,7 +1587,7 @@ export default {
1527
1587
  },
1528
1588
 
1529
1589
  updateValues(name, values) {
1530
- set(this.userChartValuesTemp, name, values);
1590
+ this.userChartValuesTemp.name = values;
1531
1591
  this.syncChartValues(name);
1532
1592
  },
1533
1593
 
@@ -1551,7 +1611,7 @@ export default {
1551
1611
  if (this.serverConfig[k] === undefined) {
1552
1612
  const def = this.serverArgs[k].default;
1553
1613
 
1554
- set(this.serverConfig, k, (def !== undefined ? def : undefined));
1614
+ this.serverConfig[k] = (def !== undefined ? def : undefined);
1555
1615
  }
1556
1616
  }
1557
1617
 
@@ -1559,12 +1619,12 @@ export default {
1559
1619
  if (this.agentConfig?.[k] === undefined) {
1560
1620
  const def = this.agentArgs[k].default;
1561
1621
 
1562
- set(this.agentConfig, k, (def !== undefined ? def : undefined));
1622
+ this.agentConfig[k] = (def !== undefined ? def : undefined);
1563
1623
  }
1564
1624
  }
1565
1625
 
1566
1626
  if (!this.serverConfig?.profile) {
1567
- set(this.serverConfig, 'profile', null);
1627
+ this.serverConfig.profile = null;
1568
1628
  }
1569
1629
  },
1570
1630
 
@@ -1575,7 +1635,7 @@ export default {
1575
1635
  },
1576
1636
 
1577
1637
  onMembershipUpdate(update) {
1578
- this.$set(this, 'membershipUpdate', update);
1638
+ this['membershipUpdate'] = update;
1579
1639
  },
1580
1640
 
1581
1641
  async initRegistry() {
@@ -1598,15 +1658,15 @@ export default {
1598
1658
 
1599
1659
  if (!regs) {
1600
1660
  regs = {};
1601
- set(this.rkeConfig, 'registries', regs);
1661
+ this.rkeConfig.registries = regs;
1602
1662
  }
1603
1663
 
1604
1664
  if (!regs.configs) {
1605
- set(regs, 'configs', {});
1665
+ regs.configs = {};
1606
1666
  }
1607
1667
 
1608
1668
  if (!regs.mirrors) {
1609
- set(regs, 'mirrors', {});
1669
+ regs.mirrors = {};
1610
1670
  }
1611
1671
 
1612
1672
  const config = regs.configs[this.registryHost];
@@ -1633,16 +1693,16 @@ export default {
1633
1693
 
1634
1694
  if (this.systemRegistry) {
1635
1695
  // Empty string overrides the system default to nothing
1636
- set(this.agentConfig, 'system-default-registry', '');
1696
+ this.agentConfig['system-default-registry'] = '';
1637
1697
  } else {
1638
1698
  // No need to set anything
1639
- set(this.agentConfig, 'system-default-registry', undefined);
1699
+ this.agentConfig['system-default-registry'] = undefined;
1640
1700
  }
1641
1701
  if (!hostname || hostname === this.systemRegistry) {
1642
1702
  // Undefined removes the key which uses the global setting without hardcoding it into the config
1643
- set(this.agentConfig, 'system-default-registry', undefined);
1703
+ this.agentConfig['system-default-registry'] = undefined;
1644
1704
  } else {
1645
- set(this.agentConfig, 'system-default-registry', hostname);
1705
+ this.agentConfig['system-default-registry'] = hostname;
1646
1706
  }
1647
1707
 
1648
1708
  if (hostname && this.registrySecret) {
@@ -1684,7 +1744,7 @@ export default {
1684
1744
  if (!this.value.spec?.rkeConfig) {
1685
1745
  this.value.spec.rkeConfig = { registries: {} };
1686
1746
  }
1687
- set(this.value.spec.rkeConfig.registries, 'configs', configs);
1747
+ this.value.spec.rkeConfig.registries.configs = configs;
1688
1748
  },
1689
1749
 
1690
1750
  getAllOptionsAfterCurrentVersion(versions, currentVersion, defaultVersion) {
@@ -1811,7 +1871,7 @@ export default {
1811
1871
  const userValues = this.userChartValues[key];
1812
1872
 
1813
1873
  if (userValues) {
1814
- set(rkeConfig.chartValues, name, userValues);
1874
+ rkeConfig.chartValues.name = userValues;
1815
1875
  }
1816
1876
  });
1817
1877
  },
@@ -1869,7 +1929,7 @@ export default {
1869
1929
 
1870
1930
  if (!this.cisOverride) {
1871
1931
  if (cisValue) {
1872
- set(this.value.spec, 'defaultPodSecurityAdmissionConfigurationTemplateName', hardcodedTemplate);
1932
+ this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName = hardcodedTemplate;
1873
1933
  }
1874
1934
  }
1875
1935
  },
@@ -1886,9 +1946,9 @@ export default {
1886
1946
  const selectedCisProfile = this.agentConfig?.profile;
1887
1947
 
1888
1948
  if (selectedCisProfile) {
1889
- set(this.agentConfig, 'protect-kernel-defaults', true);
1949
+ this.agentConfig['protect-kernel-defaults'] = true;
1890
1950
  } else {
1891
- set(this.agentConfig, 'protect-kernel-defaults', false);
1951
+ this.agentConfig['protect-kernel-defaults'] = false;
1892
1952
  }
1893
1953
  },
1894
1954
  updateAdditionalManifest(neu) {
@@ -1917,13 +1977,13 @@ export default {
1917
1977
  */
1918
1978
  machinePoolValidationChanged(id, value) {
1919
1979
  if (value === undefined) {
1920
- this.$delete(this.machinePoolValidation, id);
1980
+ delete this.machinePoolValidation[id];
1921
1981
  } else {
1922
- this.$set(this.machinePoolValidation, id, value);
1982
+ this.machinePoolValidation[id] = value;
1923
1983
  }
1924
1984
  },
1925
1985
  handleEnabledSystemServicesChanged(val) {
1926
- set(this.serverConfig, 'disable', val);
1986
+ this.serverConfig.disable = val;
1927
1987
  },
1928
1988
 
1929
1989
  handleCiliumValuesChanged(neu) {
@@ -1933,18 +1993,21 @@ export default {
1933
1993
 
1934
1994
  const name = this.chartVersionKey('rke2-cilium');
1935
1995
 
1936
- set(this, 'userChartValues', {
1996
+ this.userChartValues = {
1937
1997
  ...this.userChartValues,
1938
1998
  [name]: { ...neu }
1939
- });
1999
+ };
1940
2000
  },
1941
2001
 
1942
2002
  handleCisChanged() {
1943
2003
  this.handleCisChange();
1944
2004
  },
2005
+
1945
2006
  handlePsaDefaultChanged() {
2007
+ this.cisOverride = !this.cisOverride;
1946
2008
  this.togglePsaDefault();
1947
2009
  },
2010
+
1948
2011
  handleMachinePoolError(error) {
1949
2012
  this.machinePoolErrors = merge(this.machinePoolErrors, error);
1950
2013
 
@@ -1985,14 +2048,14 @@ export default {
1985
2048
  if (neu) {
1986
2049
  // 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
2050
  if (isEmpty(this.rkeConfig.etcd?.s3)) {
1988
- set(this.rkeConfig.etcd, 's3', {});
2051
+ this.rkeConfig.etcd.s3 = {};
1989
2052
  }
1990
2053
  } else {
1991
- set(this.rkeConfig.etcd, 's3', null);
2054
+ this.rkeConfig.etcd.s3 = null;
1992
2055
  }
1993
2056
  },
1994
2057
  handleConfigEtcdExposeMetricsChanged(neu) {
1995
- set(this.serverConfig, 'etcd-expose-metrics', neu);
2058
+ this.serverConfig['etcd-expose-metrics'] = neu;
1996
2059
  },
1997
2060
  handleRegistryHostChanged(neu) {
1998
2061
  this.registryHost = neu;
@@ -2071,7 +2134,7 @@ export default {
2071
2134
  </div>
2072
2135
  <SelectCredential
2073
2136
  v-if="needCredential"
2074
- v-model="credentialId"
2137
+ v-model:value="credentialId"
2075
2138
  :mode="mode"
2076
2139
  :provider="provider"
2077
2140
  :cancel="cancelCredential"
@@ -2088,7 +2151,7 @@ export default {
2088
2151
  >
2089
2152
  <NameNsDescription
2090
2153
  v-if="!isView"
2091
- v-model="value"
2154
+ v-model:value="localValue"
2092
2155
  :mode="mode"
2093
2156
  :namespaced="needsNamespace"
2094
2157
  :namespace-options="allNamespaces"
@@ -2097,10 +2160,9 @@ export default {
2097
2160
  description-label="cluster.description.label"
2098
2161
  description-placeholder="cluster.description.placeholder"
2099
2162
  :rules="{ name: fvGetAndReportPathRules('metadata.name') }"
2163
+ @update:value="$emit('input', $event)"
2100
2164
  >
2101
- <template
2102
- slot="customize"
2103
- >
2165
+ <template #customize>
2104
2166
  <ClusterAppearance
2105
2167
  :name="clusterName"
2106
2168
  :currentCluster="currentCluster"
@@ -2158,7 +2220,10 @@ export default {
2158
2220
  @addTab="addMachinePool($event)"
2159
2221
  @removeTab="removeMachinePool($event)"
2160
2222
  >
2161
- <template v-for="(obj, idx) in machinePools">
2223
+ <template
2224
+ v-for="(obj, idx) in machinePools"
2225
+ :key="idx"
2226
+ >
2162
2227
  <Tab
2163
2228
  v-if="!obj.remove"
2164
2229
  :key="obj.id"
@@ -2206,7 +2271,7 @@ export default {
2206
2271
  <!-- Basic -->
2207
2272
  <Basics
2208
2273
  ref="tab-Basics"
2209
- v-model="value"
2274
+ v-model:value="localValue"
2210
2275
  :live-value="liveValue"
2211
2276
  :mode="mode"
2212
2277
  :provider="provider"
@@ -2225,6 +2290,9 @@ export default {
2225
2290
  :show-cni="showCni"
2226
2291
  :show-cloud-provider="showCloudProvider"
2227
2292
  :cloud-provider-options="cloudProviderOptions"
2293
+ :is-azure-provider-unsupported="isAzureProviderUnsupported"
2294
+ :can-azure-migrate-on-edit="canAzureMigrateOnEdit"
2295
+ @update:value="$emit('input', $event)"
2228
2296
  @cilium-values-changed="handleCiliumValuesChanged"
2229
2297
  @enabled-system-services-changed="handleEnabledSystemServicesChanged"
2230
2298
  @kubernetes-changed="handleKubernetesChange"
@@ -2242,9 +2310,10 @@ export default {
2242
2310
  :weight="10"
2243
2311
  >
2244
2312
  <MemberRoles
2245
- v-model="value"
2313
+ v-model:value="localValue"
2246
2314
  :mode="mode"
2247
2315
  :on-membership-update="onMembershipUpdate"
2316
+ @update:value="$emit('input', $event)"
2248
2317
  />
2249
2318
  </Tab>
2250
2319
  <!-- etcd -->
@@ -2253,11 +2322,12 @@ export default {
2253
2322
  label-key="cluster.tabs.etcd"
2254
2323
  >
2255
2324
  <Etcd
2256
- v-model="value"
2325
+ v-model:value="localValue"
2257
2326
  :mode="mode"
2258
2327
  :s3-backup="s3Backup"
2259
2328
  :register-before-hook="registerBeforeHook"
2260
2329
  :selected-version="selectedVersion"
2330
+ @update:value="$emit('input', $event)"
2261
2331
  @s3-backup-changed="handleS3BackupChanged"
2262
2332
  @config-etcd-expose-metrics-changed="handleConfigEtcdExposeMetricsChanged"
2263
2333
  />
@@ -2270,10 +2340,11 @@ export default {
2270
2340
  label-key="cluster.tabs.networking"
2271
2341
  >
2272
2342
  <Networking
2273
- v-model="value"
2343
+ v-model:value="localValue"
2274
2344
  :mode="mode"
2275
2345
  :selected-version="selectedVersion"
2276
2346
  :truncate-limit="truncateLimit"
2347
+ @update:value="$emit('input', $event)"
2277
2348
  @truncate-hostname="truncateHostname"
2278
2349
  />
2279
2350
  </Tab>
@@ -2284,8 +2355,9 @@ export default {
2284
2355
  label-key="cluster.tabs.upgrade"
2285
2356
  >
2286
2357
  <Upgrade
2287
- v-model="value"
2358
+ v-model:value="localValue"
2288
2359
  :mode="mode"
2360
+ @update:value="$emit('input', $event)"
2289
2361
  />
2290
2362
  </Tab>
2291
2363
 
@@ -2295,13 +2367,14 @@ export default {
2295
2367
  label-key="cluster.tabs.registry"
2296
2368
  >
2297
2369
  <Registries
2298
- v-model="value"
2370
+ v-model:value="localValue"
2299
2371
  :mode="mode"
2300
2372
  :register-before-hook="registerBeforeHook"
2301
2373
  :show-custom-registry-input="showCustomRegistryInput"
2302
2374
  :registry-host="registryHost"
2303
2375
  :registry-secret="registrySecret"
2304
2376
  :show-custom-registry-advanced-input="showCustomRegistryAdvancedInput"
2377
+ @update:value="$emit('input', $event)"
2305
2378
  @update-configs-changed="updateConfigs"
2306
2379
  @custom-registry-changed="toggleCustomRegistry"
2307
2380
  @registry-host-changed="handleRegistryHostChanged"
@@ -2317,13 +2390,14 @@ export default {
2317
2390
  >
2318
2391
  <AddOnConfig
2319
2392
  ref="tab-addOnConfig"
2320
- v-model="value"
2393
+ v-model:value="localValue"
2321
2394
  :mode="mode"
2322
2395
  :version-info="versionInfo"
2323
2396
  :addon-versions="addonVersions"
2324
2397
  :addons-rev="addonsRev"
2325
2398
  :user-chart-values-temp="userChartValuesTemp"
2326
2399
  :init-yaml-editor="initYamlEditor"
2400
+ @update:value="$emit('input', $event)"
2327
2401
  @update-questions="syncChartValues"
2328
2402
  @update-values="updateValues"
2329
2403
  @additional-manifest-changed="updateAdditionalManifest"
@@ -2337,7 +2411,7 @@ export default {
2337
2411
  >
2338
2412
  <AgentConfiguration
2339
2413
  v-if="value.spec.clusterAgentDeploymentCustomization"
2340
- v-model="value.spec.clusterAgentDeploymentCustomization"
2414
+ v-model:value="value.spec.clusterAgentDeploymentCustomization"
2341
2415
  data-testid="rke2-cluster-agent-config"
2342
2416
  type="cluster"
2343
2417
  :mode="mode"
@@ -2351,7 +2425,7 @@ export default {
2351
2425
  >
2352
2426
  <AgentConfiguration
2353
2427
  v-if="value.spec.fleetAgentDeploymentCustomization"
2354
- v-model="value.spec.fleetAgentDeploymentCustomization"
2428
+ v-model:value="value.spec.fleetAgentDeploymentCustomization"
2355
2429
  data-testid="rke2-fleet-agent-config"
2356
2430
  type="fleet"
2357
2431
  :mode="mode"
@@ -2366,20 +2440,23 @@ export default {
2366
2440
  :weight="-1"
2367
2441
  >
2368
2442
  <Advanced
2369
- v-model="value"
2443
+ v-model:value="localValue"
2370
2444
  :mode="mode"
2371
2445
  :have-arg-info="haveArgInfo"
2372
2446
  :selected-version="selectedVersion"
2447
+ @update:value="$emit('input', $event)"
2373
2448
  />
2374
2449
  </Tab>
2375
2450
 
2376
2451
  <AgentEnv
2377
- v-model="value"
2452
+ v-model:value="localValue"
2378
2453
  :mode="mode"
2454
+ @update:value="$emit('input', $event)"
2379
2455
  />
2380
2456
  <Labels
2381
- v-model="value"
2457
+ v-model:value="localValue"
2382
2458
  :mode="mode"
2459
+ @update:value="$emit('input', $event)"
2383
2460
  />
2384
2461
 
2385
2462
  <!-- Extension tabs -->