@rancher/shell 0.3.14 → 0.3.15

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 (397) hide show
  1. package/assets/images/providers/nutanix.svg +1 -0
  2. package/assets/translations/en-us.yaml +83 -2
  3. package/chart/gatekeeper.vue +2 -2
  4. package/chart/monitoring/alerting/index.vue +3 -3
  5. package/chart/monitoring/index.vue +2 -2
  6. package/chart/monitoring/prometheus/index.vue +1 -1
  7. package/chart/rancher-backup/index.vue +2 -2
  8. package/cloud-credential/harvester.vue +2 -2
  9. package/components/AssignTo.vue +1 -1
  10. package/components/AwsComplianceBanner.vue +1 -1
  11. package/components/BackLink.vue +7 -0
  12. package/components/BrandImage.vue +3 -3
  13. package/components/ClusterProviderIcon.vue +1 -1
  14. package/components/CommunityLinks.vue +2 -2
  15. package/components/ConsumptionGauge.vue +17 -2
  16. package/components/CruResource.vue +2 -1
  17. package/components/DashboardMetrics.vue +8 -0
  18. package/components/DetailTop.vue +1 -1
  19. package/components/ExplorerMembers.vue +8 -8
  20. package/components/ExplorerProjectsNamespaces.vue +9 -9
  21. package/components/FixedBanner.vue +1 -1
  22. package/components/GlobalRoleBindings.vue +11 -11
  23. package/components/GrafanaDashboard.vue +7 -1
  24. package/components/GrowlManager.vue +1 -1
  25. package/components/HarvesterServiceAddOnConfig.vue +4 -3
  26. package/components/IconOrSvg.vue +10 -3
  27. package/components/LandingPagePreference.vue +2 -2
  28. package/components/MoveModal.vue +1 -1
  29. package/components/PodSecurityAdmission.vue +3 -3
  30. package/components/ProgressBarMulti.vue +2 -2
  31. package/components/PromptRemove.vue +52 -28
  32. package/components/PromptRestore.vue +3 -3
  33. package/components/Questions/index.vue +5 -5
  34. package/components/RelatedWorkloadsTable.vue +1 -1
  35. package/components/ResourceList/Masthead.vue +1 -1
  36. package/components/ResourceTable.vue +3 -3
  37. package/components/ResourceYaml.vue +1 -1
  38. package/components/RoleBindings.vue +2 -2
  39. package/components/SingleClusterInfo.vue +1 -1
  40. package/components/SortableTable/actions.js +3 -3
  41. package/components/SortableTable/advanced-filtering.js +7 -7
  42. package/components/SortableTable/filtering.js +1 -1
  43. package/components/SortableTable/index.vue +9 -9
  44. package/components/SortableTable/selection.js +5 -5
  45. package/components/SortableTable/sorting.js +5 -5
  46. package/components/Tabbed/index.vue +7 -7
  47. package/components/TableSparkLine.vue +1 -1
  48. package/components/Wizard.vue +11 -23
  49. package/components/__tests__/Collapse.spec.ts +1 -1
  50. package/components/__tests__/CruResource.test.ts +74 -0
  51. package/components/__tests__/SimpleBox.spec.ts +1 -1
  52. package/components/auth/RoleDetailEdit.vue +7 -3
  53. package/components/auth/SelectPrincipal.vue +3 -3
  54. package/components/fleet/FleetResources.vue +1 -1
  55. package/components/fleet/FleetStatus.vue +4 -4
  56. package/components/fleet/FleetSummary.vue +1 -1
  57. package/components/fleet/ForceDirectedTreeChart/chartIcons.js +1 -1
  58. package/components/fleet/ForceDirectedTreeChart/index.vue +1 -1
  59. package/components/form/ArrayList.vue +11 -3
  60. package/components/form/ArrayListSelect.vue +2 -2
  61. package/components/form/FileSelector.vue +6 -0
  62. package/components/form/GitPicker.vue +528 -0
  63. package/components/form/KeyValue.vue +82 -41
  64. package/components/form/LabeledSelect.vue +2 -2
  65. package/components/form/MatchExpressions.vue +2 -2
  66. package/components/form/Members/ClusterMembershipEditor.vue +1 -2
  67. package/components/form/Members/ClusterPermissionsEditor.vue +6 -5
  68. package/components/form/Members/MembershipEditor.vue +4 -4
  69. package/components/form/Members/ProjectMembershipEditor.vue +1 -2
  70. package/components/form/NameNsDescription.vue +13 -6
  71. package/components/form/Networking.vue +2 -2
  72. package/components/form/NodeScheduling.vue +1 -1
  73. package/components/form/PodAffinity.vue +1 -1
  74. package/components/form/ProjectMemberEditor.vue +4 -4
  75. package/components/form/ResourceQuota/Namespace.vue +2 -2
  76. package/components/form/ResourceQuota/NamespaceRow.vue +2 -2
  77. package/components/form/ResourceQuota/Project.vue +1 -1
  78. package/components/form/ResourceQuota/shared.js +2 -2
  79. package/components/form/ResourceSelector.vue +1 -1
  80. package/components/form/ResourceTabs/index.vue +1 -1
  81. package/components/form/RuleSelector.vue +1 -1
  82. package/components/form/SecretSelector.vue +4 -4
  83. package/components/form/Select.vue +2 -2
  84. package/components/form/SelectOrCreateAuthSecret.vue +3 -3
  85. package/components/form/ServiceNameSelect.vue +1 -1
  86. package/components/form/ServicePorts.vue +1 -1
  87. package/components/form/ShellInput.vue +1 -1
  88. package/components/form/SimpleSecretSelector.vue +4 -4
  89. package/components/form/Taints.vue +1 -1
  90. package/components/form/ValueFromResource.vue +3 -3
  91. package/components/form/WorkloadPorts.vue +8 -7
  92. package/components/form/__tests__/Error.test.ts +1 -1
  93. package/components/form/__tests__/KeyValue.test.ts +21 -0
  94. package/components/formatter/ClusterLink.vue +1 -1
  95. package/components/formatter/ClusterProvider.vue +13 -2
  96. package/components/formatter/Endpoints.vue +1 -1
  97. package/components/formatter/FleetSummaryGraph.vue +2 -2
  98. package/components/formatter/IngressTarget.vue +2 -2
  99. package/components/formatter/PodImages.vue +1 -1
  100. package/components/formatter/PrincipalGroupBindings.vue +1 -1
  101. package/components/formatter/ReceiverIcons.vue +3 -3
  102. package/components/formatter/ServiceType.vue +1 -1
  103. package/components/formatter/WorkloadDetailEndpoints.vue +1 -1
  104. package/components/formatter/WorkloadHealthScale.vue +1 -1
  105. package/components/formatter/__tests__/LiveDate.test.ts +1 -1
  106. package/components/graph/Bar.vue +1 -1
  107. package/components/graph/LinePlot.vue +3 -3
  108. package/components/nav/Group.vue +2 -2
  109. package/components/nav/Header.vue +5 -5
  110. package/components/nav/NamespaceFilter.vue +14 -14
  111. package/components/nav/TopLevelMenu.vue +76 -11
  112. package/components/nav/WindowManager/ContainerLogs.vue +2 -2
  113. package/components/nav/WindowManager/ContainerShell.vue +1 -1
  114. package/components/nav/WorkspaceSwitcher.vue +1 -1
  115. package/config/home-links.js +4 -4
  116. package/config/labels-annotations.js +8 -9
  117. package/config/pod-security-admission.ts +1 -1
  118. package/config/product/auth.js +4 -4
  119. package/config/product/explorer.js +14 -0
  120. package/config/router.js +5 -0
  121. package/config/store.js +2 -0
  122. package/config/table-headers.js +13 -13
  123. package/config/uiplugins.js +8 -1
  124. package/core/plugin-routes.ts +3 -2
  125. package/core/plugin.ts +3 -3
  126. package/core/plugins.js +7 -7
  127. package/creators/pkg/files/index.ts +1 -1
  128. package/detail/cis.cattle.io.clusterscan.vue +3 -3
  129. package/detail/fleet.cattle.io.bundle.vue +1 -1
  130. package/detail/helm.cattle.io.projecthelmchart.vue +16 -29
  131. package/detail/management.cattle.io.user.vue +12 -12
  132. package/detail/namespace.vue +4 -4
  133. package/detail/networking.k8s.io.ingress.vue +3 -3
  134. package/detail/node.vue +2 -2
  135. package/detail/provisioning.cattle.io.cluster.vue +9 -10
  136. package/detail/service.vue +1 -1
  137. package/detail/workload/index.vue +3 -3
  138. package/dialog/AddProjectMemberDialog.vue +2 -2
  139. package/dialog/DrainNode.vue +1 -1
  140. package/dialog/GenericPrompt.vue +9 -5
  141. package/dialog/RotateEncryptionKeyDialog.vue +2 -2
  142. package/dialog/ScaleMachineDownDialog.vue +2 -2
  143. package/edit/auth/azuread.vue +3 -3
  144. package/edit/autoscaling.horizontalpodautoscaler/index.vue +5 -5
  145. package/edit/cis.cattle.io.clusterscan.vue +5 -5
  146. package/edit/cloudcredential.vue +4 -4
  147. package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
  148. package/edit/constraints.gatekeeper.sh.constraint/index.vue +4 -4
  149. package/edit/fleet.cattle.io.gitrepo.vue +6 -6
  150. package/edit/helm.cattle.io.projecthelmchart.vue +3 -3
  151. package/edit/logging-flow/index.vue +4 -4
  152. package/edit/logging.banzaicloud.io.output/index.vue +3 -3
  153. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +1 -1
  154. package/edit/logging.banzaicloud.io.output/providers/forward.vue +1 -1
  155. package/edit/logging.banzaicloud.io.output/providers/logz.vue +1 -1
  156. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +1 -1
  157. package/edit/logging.banzaicloud.io.output/providers/redis.vue +1 -1
  158. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +1 -1
  159. package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
  160. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +1 -1
  161. package/edit/management.cattle.io.project.vue +3 -3
  162. package/edit/management.cattle.io.projectroletemplatebinding.vue +2 -2
  163. package/edit/management.cattle.io.setting.vue +1 -1
  164. package/edit/management.cattle.io.user.vue +2 -2
  165. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +2 -2
  166. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +1 -1
  167. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +1 -1
  168. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +3 -3
  169. package/edit/monitoring.coreos.com.prometheusrule/GroupRules.vue +5 -5
  170. package/edit/monitoring.coreos.com.prometheusrule/duration.js +1 -1
  171. package/edit/monitoring.coreos.com.receiver/auth.vue +2 -2
  172. package/edit/monitoring.coreos.com.receiver/tls.vue +3 -4
  173. package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +53 -0
  174. package/edit/monitoring.coreos.com.receiver/types/email.vue +2 -0
  175. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +3 -3
  176. package/edit/monitoring.coreos.com.receiver/types/webhook.add.vue +1 -1
  177. package/edit/monitoring.coreos.com.route.vue +2 -2
  178. package/edit/namespace.vue +21 -13
  179. package/edit/networking.k8s.io.ingress/Certificate.vue +2 -2
  180. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  181. package/edit/networking.k8s.io.ingress/RulePath.vue +2 -2
  182. package/edit/networking.k8s.io.ingress/Rules.vue +2 -2
  183. package/edit/networking.k8s.io.ingress/index.vue +4 -4
  184. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +3 -3
  185. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  186. package/edit/persistentvolume/index.vue +4 -4
  187. package/edit/persistentvolumeclaim.vue +3 -3
  188. package/edit/provisioning.cattle.io.cluster/RegistryMirrors.vue +1 -1
  189. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +2 -2
  190. package/edit/provisioning.cattle.io.cluster/import.vue +2 -2
  191. package/edit/provisioning.cattle.io.cluster/index.vue +7 -7
  192. package/edit/provisioning.cattle.io.cluster/rke2.vue +28 -29
  193. package/edit/resources.cattle.io.backup.vue +2 -2
  194. package/edit/resources.cattle.io.restore.vue +3 -3
  195. package/edit/secret/generic.vue +1 -1
  196. package/edit/secret/index.vue +3 -3
  197. package/edit/service.vue +3 -21
  198. package/edit/serviceaccount.vue +2 -2
  199. package/edit/storage.k8s.io.storageclass/index.vue +4 -4
  200. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +1 -1
  201. package/edit/token.vue +5 -5
  202. package/edit/workload/index.vue +1 -1
  203. package/edit/workload/mixins/workload.js +8 -8
  204. package/edit/workload/storage/ContainerMountPaths.vue +9 -9
  205. package/edit/workload/storage/Mount.vue +2 -2
  206. package/edit/workload/storage/csi/index.vue +1 -1
  207. package/edit/workload/storage/ephemeralVolume/index.vue +1 -1
  208. package/edit/workload/storage/index.vue +6 -6
  209. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +2 -2
  210. package/initialize/client.js +8 -8
  211. package/initialize/index.js +1 -4
  212. package/layouts/default.vue +38 -11
  213. package/list/catalog.cattle.io.clusterrepo.vue +9 -1
  214. package/list/cis.cattle.io.clusterscan.vue +1 -1
  215. package/list/fleet.cattle.io.cluster.vue +2 -2
  216. package/list/group.principal.vue +1 -1
  217. package/list/helm.cattle.io.projecthelmchart.vue +2 -2
  218. package/list/management.cattle.io.cluster.vue +1 -1
  219. package/list/management.cattle.io.feature.vue +1 -1
  220. package/list/management.cattle.io.user.vue +2 -2
  221. package/list/node.vue +5 -5
  222. package/list/provisioning.cattle.io.cluster.vue +4 -5
  223. package/machine-config/amazonec2.vue +2 -2
  224. package/machine-config/digitalocean.vue +4 -4
  225. package/machine-config/linode.vue +4 -4
  226. package/machine-config/vmwarevsphere.vue +12 -12
  227. package/middleware/authenticated.js +7 -6
  228. package/mixins/brand.js +1 -1
  229. package/mixins/chart.js +6 -6
  230. package/mixins/fetch.client.js +2 -2
  231. package/mixins/form-validation.js +7 -7
  232. package/mixins/resource-fetch-namespaced.js +1 -1
  233. package/mixins/resource-fetch.js +2 -2
  234. package/models/apps.statefulset.js +2 -2
  235. package/models/batch.cronjob.js +1 -1
  236. package/models/catalog.cattle.io.app.js +4 -4
  237. package/models/cis.cattle.io.clusterscan.js +1 -1
  238. package/models/cis.cattle.io.clusterscanbenchmark.js +1 -1
  239. package/models/cis.cattle.io.clusterscanreport.js +1 -1
  240. package/models/cloudcredential.js +1 -1
  241. package/models/cluster/node.js +5 -5
  242. package/models/cluster.x-k8s.io.machinedeployment.js +2 -2
  243. package/models/fleet.cattle.io.gitrepo.js +3 -3
  244. package/models/group.principal.js +4 -4
  245. package/models/helm.cattle.io.projecthelmchart.js +2 -2
  246. package/models/logging.banzaicloud.io.clusterflow.js +2 -2
  247. package/models/logging.banzaicloud.io.flow.js +5 -5
  248. package/models/logging.banzaicloud.io.output.js +2 -2
  249. package/models/management.cattle.io.cluster.js +10 -14
  250. package/models/management.cattle.io.globalrole.js +4 -4
  251. package/models/management.cattle.io.node.js +2 -2
  252. package/models/management.cattle.io.nodepool.js +3 -3
  253. package/models/management.cattle.io.nodetemplate.js +4 -4
  254. package/models/management.cattle.io.project.js +2 -2
  255. package/models/management.cattle.io.roletemplate.js +1 -1
  256. package/models/management.cattle.io.setting.js +1 -1
  257. package/models/management.cattle.io.user.js +5 -5
  258. package/models/monitoring.coreos.com.receiver.js +9 -9
  259. package/models/namespace.js +1 -1
  260. package/models/networking.k8s.io.ingress.js +5 -5
  261. package/models/persistentvolume.js +3 -3
  262. package/models/pod.js +3 -3
  263. package/models/provisioning.cattle.io.cluster.js +39 -27
  264. package/models/rbac.authorization.k8s.io.clusterrole.js +2 -2
  265. package/models/rbac.authorization.k8s.io.role.js +3 -3
  266. package/models/secret.js +1 -1
  267. package/models/service.js +2 -2
  268. package/models/storage.k8s.io.storageclass.js +2 -2
  269. package/models/token.js +1 -1
  270. package/models/workload.js +6 -6
  271. package/models/workload.service.js +5 -21
  272. package/package.json +2 -1
  273. package/pages/about.vue +9 -9
  274. package/pages/account/index.vue +2 -2
  275. package/pages/auth/login.vue +15 -12
  276. package/pages/auth/verify.vue +6 -0
  277. package/pages/c/_cluster/apps/charts/index.vue +4 -4
  278. package/pages/c/_cluster/apps/charts/install.vue +28 -20
  279. package/pages/c/_cluster/auth/roles/index.vue +9 -9
  280. package/pages/c/_cluster/explorer/index.vue +41 -16
  281. package/pages/c/_cluster/explorer/tools/index.vue +8 -8
  282. package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +1 -1
  283. package/pages/c/_cluster/fleet/index.vue +11 -11
  284. package/pages/c/_cluster/monitoring/index.vue +1 -1
  285. package/pages/c/_cluster/settings/links.vue +3 -3
  286. package/pages/c/_cluster/settings/performance.vue +1 -1
  287. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +6 -6
  288. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +3 -3
  289. package/pages/c/_cluster/uiplugins/InstallDialog.vue +3 -3
  290. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +1 -1
  291. package/pages/c/_cluster/uiplugins/RemoveUIPlugins.vue +3 -3
  292. package/pages/c/_cluster/uiplugins/SetupUIPlugins.vue +6 -6
  293. package/pages/c/_cluster/uiplugins/UninstallDialog.vue +4 -4
  294. package/pages/c/_cluster/uiplugins/index.vue +22 -19
  295. package/pages/diagnostic.vue +6 -6
  296. package/pages/home.vue +3 -3
  297. package/pages/prefs.vue +2 -2
  298. package/pages/rio/mesh.vue +3 -3
  299. package/pages/support/index.vue +10 -1
  300. package/pkg/auto-import.js +1 -1
  301. package/pkg/tsconfig.json +1 -0
  302. package/pkg/vue.config.js +1 -1
  303. package/plugins/axios.js +1 -1
  304. package/plugins/clean-html-directive.js +1 -1
  305. package/plugins/dashboard-store/__tests__/mutations.spec.js +4 -4
  306. package/plugins/dashboard-store/actions.js +4 -4
  307. package/plugins/dashboard-store/getters.js +1 -1
  308. package/plugins/dashboard-store/index.js +1 -1
  309. package/plugins/dashboard-store/mutations.js +2 -2
  310. package/plugins/dashboard-store/resource-class.js +8 -8
  311. package/plugins/i18n.js +1 -1
  312. package/plugins/plugin.js +5 -1
  313. package/plugins/steve/actions.js +3 -3
  314. package/plugins/steve/getters.js +3 -3
  315. package/plugins/steve/hybrid-class.js +1 -1
  316. package/plugins/steve/mutations.js +1 -1
  317. package/plugins/steve/performanceTesting.js +1 -1
  318. package/plugins/steve/resourceWatcher.js +1 -1
  319. package/plugins/steve/subscribe.js +6 -6
  320. package/plugins/steve/worker/web-worker.basic.js +1 -1
  321. package/promptRemove/management.cattle.io.project.vue +3 -3
  322. package/promptRemove/mixin/roleDeletionCheck.js +4 -4
  323. package/promptRemove/pod.vue +1 -1
  324. package/rancher-components/StringList/StringList.vue +34 -50
  325. package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +2 -2
  326. package/rancher-components/components/Form/Checkbox/Checkbox.vue +1 -1
  327. package/rancher-components/components/Form/Radio/RadioButton.test.ts +1 -1
  328. package/rancher-components/components/Form/Radio/RadioButton.vue +2 -2
  329. package/rancher-components/components/Form/Radio/RadioGroup.vue +2 -2
  330. package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +1 -0
  331. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +1 -1
  332. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +7 -7
  333. package/rancher-components/components/StringList/StringList.test.ts +10 -9
  334. package/rancher-components/components/StringList/StringList.vue +5 -5
  335. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
  336. package/store/action-menu.js +4 -4
  337. package/store/auth.js +40 -7
  338. package/store/aws.js +1 -1
  339. package/store/catalog.js +12 -11
  340. package/store/digitalocean.js +4 -4
  341. package/store/features.js +1 -0
  342. package/store/github.js +70 -213
  343. package/store/gitlab.js +159 -0
  344. package/store/growl.js +1 -1
  345. package/store/i18n.js +7 -7
  346. package/store/index.js +63 -22
  347. package/store/linode.js +1 -1
  348. package/store/plugins.js +5 -5
  349. package/store/pnap.js +1 -1
  350. package/store/prefs.js +6 -6
  351. package/store/resource-fetch.js +3 -3
  352. package/store/type-map.js +61 -42
  353. package/store/uiplugins.ts +2 -1
  354. package/store/wm.js +5 -4
  355. package/tsconfig.default.json +10 -0
  356. package/tsconfig.json +2 -9
  357. package/types/shell/index.d.ts +21 -13
  358. package/utils/__tests__/version.test.ts +28 -0
  359. package/utils/alertmanagerconfig.js +4 -4
  360. package/utils/array.ts +4 -4
  361. package/utils/async.ts +1 -1
  362. package/utils/auth.js +3 -3
  363. package/utils/axios.js +5 -5
  364. package/utils/cluster.js +4 -3
  365. package/utils/color.js +10 -0
  366. package/utils/create-yaml.js +4 -4
  367. package/utils/crypto/browserHashUtils.js +1 -1
  368. package/utils/crypto/browserMd5.js +1 -1
  369. package/utils/crypto/browserSha1.js +1 -1
  370. package/utils/crypto/browserSha256.js +1 -1
  371. package/utils/crypto/index.js +3 -3
  372. package/utils/favicon.js +2 -3
  373. package/utils/gatekeeper/util.js +3 -3
  374. package/utils/gc/gc.ts +2 -2
  375. package/utils/git.ts +92 -0
  376. package/utils/grafana.js +4 -4
  377. package/utils/monitoring.js +2 -2
  378. package/utils/nuxt.js +2 -2
  379. package/utils/object.js +5 -5
  380. package/utils/pod-security-admission.ts +1 -1
  381. package/utils/projectAndNamespaceFiltering.utils.ts +1 -1
  382. package/utils/select.js +2 -2
  383. package/utils/selector.js +2 -2
  384. package/utils/settings.ts +17 -2
  385. package/utils/socket.js +30 -6
  386. package/utils/sort.js +1 -1
  387. package/utils/string.js +1 -1
  388. package/utils/url.ts +1 -1
  389. package/utils/validators/formRules/index.ts +3 -3
  390. package/utils/validators/role-template.js +4 -4
  391. package/utils/version.js +14 -1
  392. package/vue.config.js +19 -13
  393. package/components/.DS_Store +0 -0
  394. package/components/__tests__/.DS_Store +0 -0
  395. package/components/form/GithubPicker.vue +0 -390
  396. package/creators/pkg/package-lock.json +0 -37
  397. package/yarn-error.log +0 -196
@@ -134,24 +134,24 @@ export default {
134
134
  },
135
135
  serviceTargets() {
136
136
  return this.filterByCurrentResourceNamespace(this.allServices)
137
- .map(service => ({
137
+ .map((service) => ({
138
138
  label: service.metadata.name,
139
139
  value: service.metadata.name,
140
- ports: service.spec.ports?.map(p => p.port)
140
+ ports: service.spec.ports?.map((p) => p.port)
141
141
  }));
142
142
  },
143
143
  firstTabLabel() {
144
144
  return this.isView ? this.t('ingress.rulesAndCertificates.title') : this.t('ingress.rules.title');
145
145
  },
146
146
  certificates() {
147
- return this.filterByCurrentResourceNamespace(this.allSecrets.filter(secret => secret._type === TYPES.TLS)).map((secret) => {
147
+ return this.filterByCurrentResourceNamespace(this.allSecrets.filter((secret) => secret._type === TYPES.TLS)).map((secret) => {
148
148
  const { id } = secret;
149
149
 
150
150
  return id.slice(id.indexOf('/') + 1);
151
151
  });
152
152
  },
153
153
  ingressClasses() {
154
- return this.allIngressClasses.map(ingressClass => ({
154
+ return this.allIngressClasses.map((ingressClass) => ({
155
155
  label: ingressClass.metadata.name,
156
156
  value: ingressClass.metadata.name,
157
157
  }));
@@ -166,8 +166,8 @@ export default {
166
166
  const exceptCidrs = this.value[TARGET_OPTIONS.IP_BLOCK]?.except || [];
167
167
 
168
168
  this.invalidCidrs = exceptCidrs
169
- .filter(cidr => !isValidCIDR(cidr))
170
- .map(invalidCidr => invalidCidr || '<blank>');
169
+ .filter((cidr) => !isValidCIDR(cidr))
170
+ .map((invalidCidr) => invalidCidr || '<blank>');
171
171
 
172
172
  if (this.value[TARGET_OPTIONS.IP_BLOCK]?.cidr && !isValidCIDR(this.value[TARGET_OPTIONS.IP_BLOCK].cidr)) {
173
173
  this.invalidCidr = this.value[TARGET_OPTIONS.IP_BLOCK].cidr;
@@ -177,7 +177,7 @@ export default {
177
177
  },
178
178
  getMatchingPods() {
179
179
  const namespaces = this.targetType === TARGET_OPTIONS.NAMESPACE_AND_POD_SELECTOR ? this.matchingNamespaces.matches : [{ id: this.namespace }];
180
- const allInNamespace = this.allPods.filter(pod => namespaces.some(ns => ns.id === pod.metadata.namespace));
180
+ const allInNamespace = this.allPods.filter((pod) => namespaces.some((ns) => ns.id === pod.metadata.namespace));
181
181
  const match = matching(allInNamespace, this.podSelectorExpressions);
182
182
  const matched = match.length || 0;
183
183
  const sample = match[0]?.nameDisplay;
@@ -146,7 +146,7 @@ export default {
146
146
 
147
147
  methods: {
148
148
  updateMatchingPods: throttle(function() {
149
- const allInNamespace = this.allPods.filter(pod => pod.metadata.namespace === this.value.metadata.namespace);
149
+ const allInNamespace = this.allPods.filter((pod) => pod.metadata.namespace === this.value.metadata.namespace);
150
150
  const match = matching(allInNamespace, this.podSelectorExpressions);
151
151
  const matched = match.length || 0;
152
152
  const sample = match[0]?.nameDisplay;
@@ -53,7 +53,7 @@ export default {
53
53
  var: 'currentClaim',
54
54
  classify: true,
55
55
  parsingFunc: (data) => {
56
- return data.find(claim => claim.spec.volumeName === this.value.name);
56
+ return data.find((claim) => claim.spec.volumeName === this.value.name);
57
57
  }
58
58
  }
59
59
  ]
@@ -76,7 +76,7 @@ export default {
76
76
  this.$set(this.value.spec.capacity, 'storage', this.value.spec.capacity.storage || '10Gi');
77
77
  this.$set(this.value.spec, 'storageClassName', this.value.spec.storageClassName || NONE_OPTION.value);
78
78
 
79
- const foundPlugin = this.value.isLonghorn ? LONGHORN_PLUGIN : VOLUME_PLUGINS.find(plugin => this.value.spec[plugin.value]);
79
+ const foundPlugin = this.value.isLonghorn ? LONGHORN_PLUGIN : VOLUME_PLUGINS.find((plugin) => this.value.spec[plugin.value]);
80
80
  const plugin = (foundPlugin || VOLUME_PLUGINS[0]).value;
81
81
 
82
82
  return {
@@ -145,7 +145,7 @@ export default {
145
145
  return this.plugin === 'local';
146
146
  },
147
147
  plugins() {
148
- return VOLUME_PLUGINS.filter(plugin => this.showUnsupportedStorage || plugin.supported);
148
+ return VOLUME_PLUGINS.filter((plugin) => this.showUnsupportedStorage || plugin.supported);
149
149
  }
150
150
  },
151
151
 
@@ -163,7 +163,7 @@ export default {
163
163
  {
164
164
  var: 'storageClassOptions',
165
165
  parsingFunc: (data) => {
166
- const storageClassOptions = data.map(s => ({
166
+ const storageClassOptions = data.map((s) => ({
167
167
  label: s.metadata.name,
168
168
  value: s.metadata.name
169
169
  }));
@@ -45,7 +45,7 @@ export default {
45
45
  this.resourceManagerFetchSecondaryResources(this.secondaryResourceData);
46
46
  }
47
47
 
48
- this.storageClassOptions = storageClasses.map(s => s.name).sort();
48
+ this.storageClassOptions = storageClasses.map((s) => s.name).sort();
49
49
  this.storageClassOptions.unshift(this.t('persistentVolumeClaim.useDefault'));
50
50
 
51
51
  this.$set(this.value.spec, 'storageClassName', this.value.spec.storageClassName || this.storageClassOptions[0]);
@@ -119,7 +119,7 @@ export default {
119
119
  return this.value.spec.volumeName;
120
120
  },
121
121
  set(value) {
122
- const persistentVolume = this.persistentVolumes.find(pv => pv.metadata.name === value);
122
+ const persistentVolume = this.persistentVolumes.find((pv) => pv.metadata.name === value);
123
123
 
124
124
  this.$set(this.value.spec, 'storageClassName', '');
125
125
 
@@ -194,7 +194,7 @@ export default {
194
194
  }
195
195
  },
196
196
  isPersistentVolumeSelectable(option) {
197
- const persistentVolume = this.persistentVolumes.find(pv => pv.metadata.name === option.value);
197
+ const persistentVolume = this.persistentVolumes.find((pv) => pv.metadata.name === option.value);
198
198
 
199
199
  return persistentVolume.status.phase === 'Available';
200
200
  },
@@ -61,7 +61,7 @@ export default {
61
61
  continue;
62
62
  }
63
63
 
64
- mirrors[entry.hostname] = { endpoint: entry.endpoints.split(/\s*,\s*/).map(x => x.trim()) };
64
+ mirrors[entry.hostname] = { endpoint: entry.endpoints.split(/\s*,\s*/).map((x) => x.trim()) };
65
65
  if (entry.rewrite) {
66
66
  mirrors[entry.hostname].rewrite = entry.rewrite;
67
67
  }
@@ -98,7 +98,7 @@ export default {
98
98
  },
99
99
 
100
100
  filteredCredentials() {
101
- return this.allCredentials.filter(x => x.provider === this.driverName);
101
+ return this.allCredentials.filter((x) => x.provider === this.driverName);
102
102
  },
103
103
 
104
104
  options() {
@@ -109,7 +109,7 @@ export default {
109
109
  };
110
110
  });
111
111
 
112
- if ( this.originalId && !out.find(x => x.value === this.originalId) ) {
112
+ if ( this.originalId && !out.find((x) => x.value === this.originalId) ) {
113
113
  out.unshift({
114
114
  label: `${ this.originalId.replace(/^cattle-global-data:/, '') } (current)`,
115
115
  value: this.originalId
@@ -7,9 +7,9 @@ import NameNsDescription from '@shell/components/form/NameNsDescription';
7
7
  import Tab from '@shell/components/Tabbed/Tab';
8
8
  import Tabbed from '@shell/components/Tabbed';
9
9
  import { CAPI, HCI } from '@shell/config/types';
10
- import ClusterMembershipEditor from '@shell/components/form/Members/ClusterMembershipEditor';
10
+ import ClusterMembershipEditor, { canViewClusterMembershipEditor } from '@shell/components/form/Members/ClusterMembershipEditor';
11
11
  import { Banner } from '@components/Banner';
12
- import { canViewClusterMembershipEditor } from '@shell/components/form/Members/ClusterMembershipEditor.vue';
12
+
13
13
  import { NAME as HARVESTER_MANAGER } from '@shell/config/harvester-manager-types';
14
14
  import { HARVESTER as HARVESTER_FEATURE, mapFeature } from '@shell/store/features';
15
15
  import { addObject } from '@shell/utils/array';
@@ -185,7 +185,7 @@ export default {
185
185
  if ( this.subType ) {
186
186
  // For RKE1 and hosted Kubernetes Clusters, set the ember link
187
187
  // so that we load the page rather than using RKE2 create
188
- const selected = this.subTypes.find(s => s.id === this.subType);
188
+ const selected = this.subTypes.find((s) => s.id === this.subType);
189
189
 
190
190
  if (selected?.link) {
191
191
  return selected.link;
@@ -244,15 +244,15 @@ export default {
244
244
  subTypes() {
245
245
  const getters = this.$store.getters;
246
246
  const isImport = this.isImport;
247
- const isElementalActive = !!this.activeProducts.find(item => item.name === ELEMENTAL_PRODUCT_NAME);
247
+ const isElementalActive = !!this.activeProducts.find((item) => item.name === ELEMENTAL_PRODUCT_NAME);
248
248
 
249
249
  const out = [];
250
250
 
251
251
  const templates = this.templateOptions;
252
252
  const vueKontainerTypes = getters['plugins/clusterDrivers'];
253
- const machineTypes = this.nodeDrivers.filter(x => x.spec.active && x.state === 'active').map(x => x.spec.displayName || x.id);
253
+ const machineTypes = this.nodeDrivers.filter((x) => x.spec.active && x.state === 'active').map((x) => x.spec.displayName || x.id);
254
254
 
255
- this.kontainerDrivers.filter(x => (isImport ? x.showImport : x.showCreate)).forEach((obj) => {
255
+ this.kontainerDrivers.filter((x) => (isImport ? x.showImport : x.showCreate)).forEach((obj) => {
256
256
  if ( vueKontainerTypes.includes(obj.driverName) ) {
257
257
  addType(obj.driverName, 'kontainer', false);
258
258
  } else {
@@ -357,11 +357,11 @@ export default {
357
357
  },
358
358
 
359
359
  firstNodeDriverItem() {
360
- return this.groupedSubTypes.findIndex(obj => [_RKE1, _RKE2].includes(obj.name));
360
+ return this.groupedSubTypes.findIndex((obj) => [_RKE1, _RKE2].includes(obj.name));
361
361
  },
362
362
 
363
363
  firstCustomClusterItem() {
364
- return this.groupedSubTypes.findIndex(obj => ['custom', 'custom1', 'custom2'].includes(obj.name));
364
+ return this.groupedSubTypes.findIndex((obj) => ['custom', 'custom1', 'custom2'].includes(obj.name));
365
365
  },
366
366
  },
367
367
 
@@ -426,7 +426,7 @@ export default {
426
426
  let localCluster;
427
427
 
428
428
  if (this.$store.getters[`management/canList`](MANAGEMENT.CLUSTER)) {
429
- localCluster = this.$store.getters['management/all'](MANAGEMENT.CLUSTER).find(x => x.isLocal);
429
+ localCluster = this.$store.getters['management/all'](MANAGEMENT.CLUSTER).find((x) => x.isLocal);
430
430
  }
431
431
 
432
432
  chart.goToInstall(FROM_CLUSTER, localCluster?.id || BLANK_CLUSTER, true);
@@ -42,7 +42,7 @@ import { LabeledInput } from '@components/Form/LabeledInput';
42
42
  import LabeledSelect from '@shell/components/form/LabeledSelect';
43
43
  import Loading from '@shell/components/Loading';
44
44
  import MatchExpressions from '@shell/components/form/MatchExpressions';
45
- import NameNsDescription from '@shell/components/form/NameNsDescription';
45
+ import NameNsDescription, { normalizeName } from '@shell/components/form/NameNsDescription';
46
46
  import { RadioGroup } from '@components/Form/Radio';
47
47
  import Tab from '@shell/components/Tabbed/Tab';
48
48
  import Tabbed from '@shell/components/Tabbed';
@@ -50,12 +50,11 @@ import UnitInput from '@shell/components/form/UnitInput';
50
50
  import YamlEditor from '@shell/components/YamlEditor';
51
51
  import Questions from '@shell/components/Questions';
52
52
 
53
- import { normalizeName } from '@shell/components/form/NameNsDescription.vue';
54
- import ClusterMembershipEditor from '@shell/components/form/Members/ClusterMembershipEditor';
53
+ import ClusterMembershipEditor, { canViewClusterMembershipEditor } from '@shell/components/form/Members/ClusterMembershipEditor';
55
54
  import SelectOrCreateAuthSecret from '@shell/components/form/SelectOrCreateAuthSecret';
56
55
  import { LEGACY } from '@shell/store/features';
57
56
  import semver from 'semver';
58
- import { canViewClusterMembershipEditor } from '@shell/components/form/Members/ClusterMembershipEditor.vue';
57
+
59
58
  import { SETTING } from '@shell/config/settings';
60
59
  import { base64Encode } from '@shell/utils/crypto';
61
60
  import { CAPI as CAPI_ANNOTATIONS } from '@shell/config/labels-annotations';
@@ -174,8 +173,8 @@ export default {
174
173
 
175
174
  // Get the latest versions from the global settings if possible
176
175
  const globalSettings = await this.$store.getters['management/all'](MANAGEMENT.SETTING) || [];
177
- const defaultRke2Setting = globalSettings.find(setting => setting.id === 'rke2-default-version') || {};
178
- const defaultK3sSetting = globalSettings.find(setting => setting.id === 'k3s-default-version') || {};
176
+ const defaultRke2Setting = globalSettings.find((setting) => setting.id === 'rke2-default-version') || {};
177
+ const defaultK3sSetting = globalSettings.find((setting) => setting.id === 'k3s-default-version') || {};
179
178
 
180
179
  let defaultRke2 = defaultRke2Setting?.value || defaultRke2Setting?.default;
181
180
  let defaultK3s = defaultK3sSetting?.value || defaultK3sSetting?.default;
@@ -200,13 +199,13 @@ export default {
200
199
  if (!defaultRke2) {
201
200
  const rke2Channels = res.rke2Channels.data || [];
202
201
 
203
- defaultRke2 = rke2Channels.find(x => x.id === 'default')?.latest;
202
+ defaultRke2 = rke2Channels.find((x) => x.id === 'default')?.latest;
204
203
  }
205
204
 
206
205
  if (!defaultK3s) {
207
206
  const k3sChannels = res.k3sChannels.data || [];
208
207
 
209
- defaultK3s = k3sChannels.find(x => x.id === 'default')?.latest;
208
+ defaultK3s = k3sChannels.find((x) => x.id === 'default')?.latest;
210
209
  }
211
210
 
212
211
  if ( !this.rke2Versions.length && !this.k3sVersions.length ) {
@@ -226,7 +225,7 @@ export default {
226
225
  set(this.value.spec, 'machineSelectorConfig', []);
227
226
  }
228
227
 
229
- if ( !this.value.spec.machineSelectorConfig.find(x => !x.machineLabelSelector) ) {
228
+ if ( !this.value.spec.machineSelectorConfig.find((x) => !x.machineLabelSelector) ) {
230
229
  this.value.spec.machineSelectorConfig.unshift({ config: {} });
231
230
  }
232
231
 
@@ -505,7 +504,7 @@ export default {
505
504
  }
506
505
 
507
506
  if ( cur ) {
508
- const existing = out.find(x => x.value === cur);
507
+ const existing = out.find((x) => x.value === cur);
509
508
 
510
509
  if ( existing ) {
511
510
  existing.disabled = false;
@@ -562,7 +561,7 @@ export default {
562
561
 
563
562
  const cur = this.value.spec.defaultPodSecurityPolicyTemplateName;
564
563
 
565
- if ( cur && !out.find(x => x.value === cur) ) {
564
+ if ( cur && !out.find((x) => x.value === cur) ) {
566
565
  out.unshift({ label: `${ cur } (Current)`, value: cur });
567
566
  }
568
567
 
@@ -609,7 +608,7 @@ export default {
609
608
  }
610
609
  const cur = this.value.spec.defaultPodSecurityAdmissionConfigurationTemplateName;
611
610
 
612
- if ( cur && !out.find(x => x.value === cur) ) {
611
+ if ( cur && !out.find((x) => x.value === cur) ) {
613
612
  out.unshift({ label: `${ cur } (Current)`, value: cur });
614
613
  }
615
614
 
@@ -622,7 +621,7 @@ export default {
622
621
  isCisSupported() {
623
622
  const cisProfile = this.serverConfig.profile || this.agentConfig.profile;
624
623
 
625
- return !cisProfile || this.profileOptions.map(option => option.value).includes(cisProfile);
624
+ return !cisProfile || this.profileOptions.map((option) => option.value).includes(cisProfile);
626
625
  },
627
626
 
628
627
  disableOptions() {
@@ -665,7 +664,7 @@ export default {
665
664
 
666
665
  const cur = this.agentConfig['cloud-provider-name'];
667
666
 
668
- if ( cur && !out.find(x => x.value === cur) ) {
667
+ if ( cur && !out.find((x) => x.value === cur) ) {
669
668
  out.unshift({ label: `${ cur } (Current)`, value: cur });
670
669
  }
671
670
 
@@ -732,7 +731,7 @@ export default {
732
731
  },
733
732
 
734
733
  unremovedMachinePools() {
735
- return (this.machinePools || []).filter(x => !x.remove);
734
+ return (this.machinePools || []).filter((x) => !x.remove);
736
735
  },
737
736
 
738
737
  machineConfigSchema() {
@@ -870,7 +869,7 @@ export default {
870
869
  const cni = this.serverConfig.cni;
871
870
 
872
871
  if ( cni ) {
873
- const parts = cni.split(',').map(x => `rke2-${ x }`);
872
+ const parts = cni.split(',').map((x) => `rke2-${ x }`);
874
873
 
875
874
  names.push(...parts);
876
875
  }
@@ -889,9 +888,9 @@ export default {
889
888
  },
890
889
 
891
890
  addonVersions() {
892
- const versions = this.addonNames.map(name => this.chartVersionFor(name));
891
+ const versions = this.addonNames.map((name) => this.chartVersionFor(name));
893
892
 
894
- return versions.filter(x => !!x);
893
+ return versions.filter((x) => !!x);
895
894
  },
896
895
 
897
896
  showk8s21LegacyWarning() {
@@ -914,9 +913,9 @@ export default {
914
913
  },
915
914
 
916
915
  defaultVersion() {
917
- const all = this.versionOptions.filter(x => !!x.value);
916
+ const all = this.versionOptions.filter((x) => !!x.value);
918
917
  const first = all[0]?.value;
919
- const preferred = all.find(x => x.value === this.defaultRke2)?.value;
918
+ const preferred = all.find((x) => x.value === this.defaultRke2)?.value;
920
919
 
921
920
  const rke2 = this.getAllOptionsAfterCurrentVersion(this.rke2Versions, null);
922
921
  const showRke2 = rke2.length;
@@ -1037,7 +1036,7 @@ export default {
1037
1036
  let base = (this.provider === 'custom' || this.isElementalCluster || !!this.credentialId);
1038
1037
 
1039
1038
  // and in all of the validation statuses for each machine pool
1040
- Object.values(this.machinePoolValidation).forEach(v => (base = base && v));
1039
+ Object.values(this.machinePoolValidation).forEach((v) => (base = base && v));
1041
1040
 
1042
1041
  return validRequiredPools && base;
1043
1042
  },
@@ -1362,7 +1361,7 @@ export default {
1362
1361
  * Ensure that all the existing node roles pool are at least 1 each
1363
1362
  */
1364
1363
  hasRequiredNodes() {
1365
- return this.nodeTotals?.color && Object.values(this.nodeTotals.color).every(color => color !== NODE_TOTAL.error.color);
1364
+ return this.nodeTotals?.color && Object.values(this.nodeTotals.color).every((color) => color !== NODE_TOTAL.error.color);
1366
1365
  },
1367
1366
 
1368
1367
  cancelCredential() {
@@ -1395,7 +1394,7 @@ export default {
1395
1394
  return new Promise((resolve, reject) => {
1396
1395
  this.$store.dispatch('cluster/promptModal', {
1397
1396
  component: 'AddonConfigConfirmationDialog',
1398
- resources: [value => resolve(value)]
1397
+ resources: [(value) => resolve(value)]
1399
1398
  });
1400
1399
  });
1401
1400
  },
@@ -1451,7 +1450,7 @@ export default {
1451
1450
  }
1452
1451
 
1453
1452
  if (this.value.cloudProvider === 'aws') {
1454
- const missingProfileName = this.machinePools.some(mp => !mp.config.iamInstanceProfile);
1453
+ const missingProfileName = this.machinePools.some((mp) => !mp.config.iamInstanceProfile);
1455
1454
 
1456
1455
  if (missingProfileName) {
1457
1456
  this.errors.push(this.t('cluster.validation.iamInstanceProfileName', {}, true));
@@ -1620,7 +1619,7 @@ export default {
1620
1619
  },
1621
1620
 
1622
1621
  refreshYamls() {
1623
- const keys = Object.keys(this.$refs).filter(x => x.startsWith('yaml'));
1622
+ const keys = Object.keys(this.$refs).filter((x) => x.startsWith('yaml'));
1624
1623
 
1625
1624
  for ( const k of keys ) {
1626
1625
  const entry = this.$refs[k];
@@ -1689,7 +1688,7 @@ export default {
1689
1688
  },
1690
1689
 
1691
1690
  chartVersionKey(name) {
1692
- const addonVersion = this.addonVersions.find(av => av.name === name);
1691
+ const addonVersion = this.addonVersions.find((av) => av.name === name);
1693
1692
 
1694
1693
  return addonVersion ? `${ name }-${ addonVersion.version }` : name;
1695
1694
  },
@@ -1813,7 +1812,7 @@ export default {
1813
1812
  },
1814
1813
 
1815
1814
  getAllOptionsAfterCurrentVersion(versions, currentVersion, defaultVersion) {
1816
- const out = (versions || []).filter(obj => !!obj.serverArgs).map((obj) => {
1815
+ const out = (versions || []).filter((obj) => !!obj.serverArgs).map((obj) => {
1817
1816
  let disabled = false;
1818
1817
  let experimental = false;
1819
1818
  let isCurrentVersion = false;
@@ -1847,7 +1846,7 @@ export default {
1847
1846
  };
1848
1847
  });
1849
1848
 
1850
- if (currentVersion && !out.find(obj => obj.value === currentVersion)) {
1849
+ if (currentVersion && !out.find((obj) => obj.value === currentVersion)) {
1851
1850
  out.push({
1852
1851
  label: `${ currentVersion } ${ this.t('cluster.kubernetesVersion.current') }`,
1853
1852
  value: currentVersion,
@@ -1963,7 +1962,7 @@ export default {
1963
1962
  const url = `/k8s/clusters/${ clusterId }/v1`;
1964
1963
  const res = await this.$store.dispatch('cluster/request', { url: `${ url }/${ HCI.SETTING }s` });
1965
1964
 
1966
- const version = (res?.data || []).find(s => s.id === 'harvester-csi-ccm-versions');
1965
+ const version = (res?.data || []).find((s) => s.id === 'harvester-csi-ccm-versions');
1967
1966
 
1968
1967
  if (version) {
1969
1968
  this.harvesterVersionRange = JSON.parse(version.value || version.default || '{}');
@@ -102,13 +102,13 @@ export default {
102
102
  },
103
103
 
104
104
  chartNamespace() {
105
- const BRORelease = this.apps.filter(release => get(release, 'spec.name') === 'rancher-backup')[0];
105
+ const BRORelease = this.apps.filter((release) => get(release, 'spec.name') === 'rancher-backup')[0];
106
106
 
107
107
  return BRORelease ? BRORelease.spec.namespace : '';
108
108
  },
109
109
 
110
110
  encryptionSecretNames() {
111
- return this.allSecrets.filter(secret => (secret.data || {})['encryption-provider-config.yaml'] && secret.metadata.namespace === this.chartNamespace && !secret.metadata?.state?.error).map(secret => secret.metadata.name);
111
+ return this.allSecrets.filter((secret) => (secret.data || {})['encryption-provider-config.yaml'] && secret.metadata.namespace === this.chartNamespace && !secret.metadata?.state?.error).map((secret) => secret.metadata.name);
112
112
  },
113
113
 
114
114
  storageOptions() {
@@ -83,17 +83,17 @@ export default {
83
83
  },
84
84
 
85
85
  availableBackups() {
86
- return this.allBackups.filter(backup => backup.state !== 'error');
86
+ return this.allBackups.filter((backup) => backup.state !== 'error');
87
87
  },
88
88
 
89
89
  chartNamespace() {
90
- const BRORelease = this.apps.filter(release => get(release, 'spec.name') === 'rancher-backup')[0];
90
+ const BRORelease = this.apps.filter((release) => get(release, 'spec.name') === 'rancher-backup')[0];
91
91
 
92
92
  return BRORelease ? BRORelease.spec.namespace : '';
93
93
  },
94
94
 
95
95
  encryptionSecretNames() {
96
- return this.allSecrets.filter(secret => !!(secret.data || {})['encryption-provider-config.yaml'] && secret.metadata.namespace === this.chartNamespace && !secret.metadata?.state?.error).map(secret => secret.metadata.name);
96
+ return this.allSecrets.filter((secret) => !!(secret.data || {})['encryption-provider-config.yaml'] && secret.metadata.namespace === this.chartNamespace && !secret.metadata?.state?.error).map((secret) => secret.metadata.name);
97
97
  },
98
98
 
99
99
  isEncrypted() {
@@ -35,7 +35,7 @@ export default {
35
35
  if (!VALID_DATA_KEY.test(name)) {
36
36
  name = name
37
37
  .split('')
38
- .map(c => VALID_DATA_KEY.test(c) ? c : '_')
38
+ .map((c) => VALID_DATA_KEY.test(c) ? c : '_')
39
39
  .join('');
40
40
  }
41
41
 
@@ -141,9 +141,9 @@ export default {
141
141
  // Cloud credentials
142
142
  if ( this.isCloud ) {
143
143
  const machineTypes = uniq(this.nodeDrivers
144
- .filter(x => x.spec.active)
145
- .map(x => x.spec.displayName || x.id)
146
- .map(x => this.$store.getters['plugins/credentialDriverFor'](x))
144
+ .filter((x) => x.spec.active)
145
+ .map((x) => x.spec.displayName || x.id)
146
+ .map((x) => this.$store.getters['plugins/credentialDriverFor'](x))
147
147
  );
148
148
 
149
149
  for ( const id of machineTypes ) {
package/edit/service.vue CHANGED
@@ -26,7 +26,6 @@ import { HARVESTER_NAME as HARVESTER } from '@shell/config/features';
26
26
  import { allHash } from '@shell/utils/promise';
27
27
  import { isHarvesterSatisfiesVersion } from '@shell/utils/cluster';
28
28
  import { Port } from '@shell/utils/validators/formRules';
29
- import { HCI as HCI_LABELS_ANNOTATIONS } from '@shell/config/labels-annotations';
30
29
 
31
30
  const SESSION_AFFINITY_ACTION_VALUES = {
32
31
  NONE: 'None',
@@ -90,7 +89,7 @@ export default {
90
89
  defaultServiceTypes: DEFAULT_SERVICE_TYPES,
91
90
  saving: false,
92
91
  sessionAffinityActionLabels: Object.values(SESSION_AFFINITY_ACTION_LABELS)
93
- .map(v => this.$store.getters['i18n/t'](v))
92
+ .map((v) => this.$store.getters['i18n/t'](v))
94
93
  .map(ucFirst),
95
94
  sessionAffinityActionOptions: Object.values(
96
95
  SESSION_AFFINITY_ACTION_VALUES
@@ -192,7 +191,7 @@ export default {
192
191
  },
193
192
 
194
193
  provisioningCluster() {
195
- const out = this.$store.getters['management/all'](CAPI.RANCHER_CLUSTER).find(c => c?.status?.clusterName === this.currentCluster.metadata.name);
194
+ const out = this.$store.getters['management/all'](CAPI.RANCHER_CLUSTER).find((c) => c?.status?.clusterName === this.currentCluster.metadata.name);
196
195
 
197
196
  return out;
198
197
  },
@@ -243,7 +242,7 @@ export default {
243
242
  methods: {
244
243
  updateMatchingPods: throttle(function() {
245
244
  const { value: { spec: { selector = { } } } } = this;
246
- const allInNamespace = this.allPods.filter(pod => pod.metadata.namespace === this.value?.metadata?.namespace);
245
+ const allInNamespace = this.allPods.filter((pod) => pod.metadata.namespace === this.value?.metadata?.namespace);
247
246
 
248
247
  if (isEmpty(selector)) {
249
248
  this.matchingPods = {
@@ -315,23 +314,6 @@ export default {
315
314
  if (ports && ports.length > 0) {
316
315
  this.value.spec.ports = this.targetPortsStrOrInt(this.value.spec.ports);
317
316
  }
318
-
319
- if (this.showHarvesterAddOnConfig) {
320
- const clusters = this.$store.getters['management/all'](CAPI.RANCHER_CLUSTER);
321
- const configs = this.$store.getters['management/all'](HCI.HARVESTER_CONFIG);
322
- const cluster = clusters.find(c => c.status.clusterName === this.currentCluster.id);
323
-
324
- const machinePools = cluster?.spec?.rkeConfig?.machinePools || [];
325
- const machineConfigName = machinePools[0]?.machineConfigRef?.name;
326
- const config = configs.find(c => c.id === `fleet-default/${ machineConfigName }`);
327
-
328
- if (config) {
329
- const { vmNamespace, networkName } = config;
330
-
331
- this.value.metadata.annotations[HCI_LABELS_ANNOTATIONS.CLOUD_PROVIDER_NAMESPACE] = vmNamespace;
332
- this.value.metadata.annotations[HCI_LABELS_ANNOTATIONS.CLOUD_PROVIDER_NETWORK] = networkName;
333
- }
334
- }
335
317
  },
336
318
  },
337
319
  };
@@ -50,7 +50,7 @@ export default {
50
50
  namespacedSecrets() {
51
51
  const namespace = this.value?.metadata?.namespace;
52
52
 
53
- return this.allSecrets.filter(secret => secret.metadata.namespace === namespace && (secret._type === SECRET_TYPES.DOCKER || secret._type === SECRET_TYPES.DOCKER_JSON));
53
+ return this.allSecrets.filter((secret) => secret.metadata.namespace === namespace && (secret._type === SECRET_TYPES.DOCKER || secret._type === SECRET_TYPES.DOCKER_JSON));
54
54
  },
55
55
 
56
56
  imagePullSecrets: {
@@ -60,7 +60,7 @@ export default {
60
60
  }
61
61
  const { imagePullSecrets } = this.value;
62
62
 
63
- return imagePullSecrets.map(each => each.name);
63
+ return imagePullSecrets.map((each) => each.name);
64
64
  },
65
65
  set(neu) {
66
66
  if (this.value.imagePullSecrets.length < 1) {
@@ -138,13 +138,13 @@ export default {
138
138
  },
139
139
 
140
140
  provisionerIsDeprecated() {
141
- const provisionerOpt = PROVISIONER_OPTIONS.find(opt => opt.value === this.value.provisioner);
141
+ const provisionerOpt = PROVISIONER_OPTIONS.find((opt) => opt.value === this.value.provisioner);
142
142
 
143
143
  return provisionerOpt && provisionerOpt.deprecated !== undefined;
144
144
  },
145
145
 
146
146
  provisionerIsHideCustomize() {
147
- const provisionerOpt = PROVISIONER_OPTIONS.find(opt => opt.value === this.value.provisioner);
147
+ const provisionerOpt = PROVISIONER_OPTIONS.find((opt) => opt.value === this.value.provisioner);
148
148
 
149
149
  return provisionerOpt && provisionerOpt.hideCustomize !== undefined;
150
150
  },
@@ -162,7 +162,7 @@ export default {
162
162
 
163
163
  methods: {
164
164
  getComponent(name) {
165
- const isCustom = !PROVISIONER_OPTIONS.find(o => o.value === name);
165
+ const isCustom = !PROVISIONER_OPTIONS.find((o) => o.value === name);
166
166
  const provisioner = isCustom ? 'custom' : name;
167
167
 
168
168
  return require(`./provisioners/${ provisioner }`).default;
@@ -182,7 +182,7 @@ export default {
182
182
  });
183
183
  },
184
184
  provisionerLabel(provisioner) {
185
- const provisionerOpt = PROVISIONER_OPTIONS.find(opt => opt.value === provisioner);
185
+ const provisionerOpt = PROVISIONER_OPTIONS.find((opt) => opt.value === provisioner);
186
186
 
187
187
  return provisionerOpt?.labelKey ? this.t(provisionerOpt.labelKey) : provisioner;
188
188
  },
@@ -49,7 +49,7 @@ export default {
49
49
  const kubernetesVersionExtension = this.currentCluster.kubernetesVersionExtension;
50
50
 
51
51
  if (kubernetesVersionExtension.startsWith('+rke2')) {
52
- const charts = ((this.rke2Versions?.data || []).find(v => v.id === kubernetesVersion) || {}).charts;
52
+ const charts = ((this.rke2Versions?.data || []).find((v) => v.id === kubernetesVersion) || {}).charts;
53
53
  let csiVersion = charts?.['harvester-csi-driver']?.version || '';
54
54
 
55
55
  if (csiVersion.endsWith('00')) {