@rancher/shell 0.3.14 → 0.3.16

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 (400) hide show
  1. package/assets/images/providers/nutanix.svg +1 -0
  2. package/assets/translations/en-us.yaml +84 -3
  3. package/assets/translations/zh-hans.yaml +68 -26
  4. package/chart/gatekeeper.vue +2 -2
  5. package/chart/monitoring/alerting/index.vue +3 -3
  6. package/chart/monitoring/index.vue +2 -2
  7. package/chart/monitoring/prometheus/index.vue +1 -1
  8. package/chart/rancher-backup/index.vue +2 -2
  9. package/cloud-credential/generic.vue +1 -1
  10. package/cloud-credential/harvester.vue +2 -2
  11. package/components/AssignTo.vue +1 -1
  12. package/components/AwsComplianceBanner.vue +1 -1
  13. package/components/BackLink.vue +7 -0
  14. package/components/BannerGraphic.vue +1 -0
  15. package/components/BrandImage.vue +3 -3
  16. package/components/ClusterProviderIcon.vue +1 -1
  17. package/components/CommunityLinks.vue +2 -2
  18. package/components/ConsumptionGauge.vue +17 -2
  19. package/components/CruResource.vue +3 -2
  20. package/components/DashboardMetrics.vue +8 -0
  21. package/components/DetailTop.vue +1 -1
  22. package/components/EmberPage.vue +1 -0
  23. package/components/ExplorerMembers.vue +8 -8
  24. package/components/ExplorerProjectsNamespaces.vue +9 -9
  25. package/components/FixedBanner.vue +1 -1
  26. package/components/GlobalRoleBindings.vue +11 -11
  27. package/components/GrafanaDashboard.vue +14 -2
  28. package/components/GrowlManager.vue +1 -1
  29. package/components/HarvesterServiceAddOnConfig.vue +4 -3
  30. package/components/IconOrSvg.vue +10 -3
  31. package/components/LandingPagePreference.vue +2 -2
  32. package/components/MoveModal.vue +1 -1
  33. package/components/PodSecurityAdmission.vue +3 -3
  34. package/components/ProgressBarMulti.vue +2 -2
  35. package/components/PromptRemove.vue +52 -28
  36. package/components/PromptRestore.vue +3 -3
  37. package/components/Questions/index.vue +5 -5
  38. package/components/RelatedWorkloadsTable.vue +1 -1
  39. package/components/ResourceList/Masthead.vue +1 -1
  40. package/components/ResourceTable.vue +3 -3
  41. package/components/ResourceYaml.vue +1 -1
  42. package/components/RoleBindings.vue +2 -2
  43. package/components/SimpleBox.vue +1 -0
  44. package/components/SingleClusterInfo.vue +1 -1
  45. package/components/SortableTable/actions.js +3 -3
  46. package/components/SortableTable/advanced-filtering.js +7 -7
  47. package/components/SortableTable/filtering.js +1 -1
  48. package/components/SortableTable/index.vue +14 -10
  49. package/components/SortableTable/selection.js +5 -5
  50. package/components/SortableTable/sorting.js +5 -5
  51. package/components/Tabbed/index.vue +7 -7
  52. package/components/TableSparkLine.vue +1 -1
  53. package/components/Wizard.vue +11 -23
  54. package/components/__tests__/Collapse.spec.ts +1 -1
  55. package/components/__tests__/CruResource.test.ts +74 -0
  56. package/components/__tests__/SimpleBox.spec.ts +1 -1
  57. package/components/auth/RoleDetailEdit.vue +7 -3
  58. package/components/auth/SelectPrincipal.vue +3 -3
  59. package/components/fleet/FleetResources.vue +1 -1
  60. package/components/fleet/FleetStatus.vue +4 -4
  61. package/components/fleet/FleetSummary.vue +1 -1
  62. package/components/fleet/ForceDirectedTreeChart/chartIcons.js +1 -1
  63. package/components/fleet/ForceDirectedTreeChart/index.vue +1 -1
  64. package/components/form/ArrayList.vue +11 -3
  65. package/components/form/ArrayListSelect.vue +2 -2
  66. package/components/form/FileSelector.vue +6 -0
  67. package/components/form/GitPicker.vue +528 -0
  68. package/components/form/KeyValue.vue +82 -41
  69. package/components/form/LabeledSelect.vue +2 -2
  70. package/components/form/MatchExpressions.vue +2 -2
  71. package/components/form/Members/ClusterMembershipEditor.vue +1 -2
  72. package/components/form/Members/ClusterPermissionsEditor.vue +6 -5
  73. package/components/form/Members/MembershipEditor.vue +4 -4
  74. package/components/form/Members/ProjectMembershipEditor.vue +1 -2
  75. package/components/form/NameNsDescription.vue +13 -6
  76. package/components/form/Networking.vue +2 -2
  77. package/components/form/NodeScheduling.vue +1 -1
  78. package/components/form/PodAffinity.vue +7 -2
  79. package/components/form/ProjectMemberEditor.vue +4 -4
  80. package/components/form/ResourceQuota/Namespace.vue +2 -2
  81. package/components/form/ResourceQuota/NamespaceRow.vue +2 -2
  82. package/components/form/ResourceQuota/Project.vue +1 -1
  83. package/components/form/ResourceQuota/shared.js +2 -2
  84. package/components/form/ResourceSelector.vue +1 -1
  85. package/components/form/ResourceTabs/index.vue +1 -1
  86. package/components/form/RuleSelector.vue +1 -1
  87. package/components/form/SecretSelector.vue +4 -4
  88. package/components/form/Select.vue +2 -2
  89. package/components/form/SelectOrCreateAuthSecret.vue +3 -3
  90. package/components/form/ServiceNameSelect.vue +1 -1
  91. package/components/form/ServicePorts.vue +1 -1
  92. package/components/form/ShellInput.vue +1 -1
  93. package/components/form/SimpleSecretSelector.vue +4 -4
  94. package/components/form/Taints.vue +1 -1
  95. package/components/form/ValueFromResource.vue +3 -3
  96. package/components/form/WorkloadPorts.vue +8 -7
  97. package/components/form/__tests__/Error.test.ts +1 -1
  98. package/components/form/__tests__/KeyValue.test.ts +21 -0
  99. package/components/formatter/ClusterLink.vue +1 -1
  100. package/components/formatter/ClusterProvider.vue +13 -2
  101. package/components/formatter/Endpoints.vue +1 -1
  102. package/components/formatter/FleetSummaryGraph.vue +2 -2
  103. package/components/formatter/IngressTarget.vue +2 -2
  104. package/components/formatter/PodImages.vue +1 -1
  105. package/components/formatter/PrincipalGroupBindings.vue +1 -1
  106. package/components/formatter/ReceiverIcons.vue +3 -3
  107. package/components/formatter/ServiceType.vue +1 -1
  108. package/components/formatter/WorkloadDetailEndpoints.vue +1 -1
  109. package/components/formatter/WorkloadHealthScale.vue +1 -1
  110. package/components/formatter/__tests__/LiveDate.test.ts +1 -1
  111. package/components/graph/Bar.vue +1 -1
  112. package/components/graph/LinePlot.vue +3 -3
  113. package/components/nav/Group.vue +2 -2
  114. package/components/nav/Header.vue +5 -5
  115. package/components/nav/NamespaceFilter.vue +14 -14
  116. package/components/nav/TopLevelMenu.vue +76 -11
  117. package/components/nav/WindowManager/ContainerLogs.vue +2 -2
  118. package/components/nav/WindowManager/ContainerShell.vue +1 -1
  119. package/components/nav/WorkspaceSwitcher.vue +1 -1
  120. package/config/home-links.js +4 -4
  121. package/config/labels-annotations.js +8 -9
  122. package/config/pod-security-admission.ts +1 -1
  123. package/config/product/auth.js +5 -5
  124. package/config/product/explorer.js +14 -0
  125. package/config/store.js +2 -0
  126. package/config/table-headers.js +13 -13
  127. package/config/uiplugins.js +8 -1
  128. package/core/plugin-routes.ts +3 -2
  129. package/core/plugin.ts +3 -3
  130. package/core/plugins.js +7 -7
  131. package/creators/pkg/files/index.ts +1 -1
  132. package/detail/catalog.cattle.io.clusterrepo.vue +8 -1
  133. package/detail/cis.cattle.io.clusterscan.vue +3 -3
  134. package/detail/fleet.cattle.io.bundle.vue +1 -1
  135. package/detail/helm.cattle.io.projecthelmchart.vue +16 -29
  136. package/detail/management.cattle.io.user.vue +12 -12
  137. package/detail/namespace.vue +4 -4
  138. package/detail/networking.k8s.io.ingress.vue +3 -3
  139. package/detail/node.vue +2 -2
  140. package/detail/provisioning.cattle.io.cluster.vue +9 -10
  141. package/detail/service.vue +1 -1
  142. package/detail/workload/index.vue +3 -3
  143. package/dialog/AddProjectMemberDialog.vue +2 -2
  144. package/dialog/DrainNode.vue +1 -1
  145. package/dialog/GenericPrompt.vue +9 -5
  146. package/dialog/RotateEncryptionKeyDialog.vue +2 -2
  147. package/dialog/ScaleMachineDownDialog.vue +2 -2
  148. package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +56 -0
  149. package/edit/auth/azuread.vue +3 -3
  150. package/edit/autoscaling.horizontalpodautoscaler/index.vue +5 -5
  151. package/edit/cis.cattle.io.clusterscan.vue +5 -5
  152. package/edit/cloudcredential.vue +4 -4
  153. package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
  154. package/edit/constraints.gatekeeper.sh.constraint/index.vue +4 -4
  155. package/edit/fleet.cattle.io.gitrepo.vue +6 -6
  156. package/edit/helm.cattle.io.projecthelmchart.vue +3 -3
  157. package/edit/logging-flow/index.vue +4 -4
  158. package/edit/logging.banzaicloud.io.output/index.vue +3 -3
  159. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +1 -1
  160. package/edit/logging.banzaicloud.io.output/providers/forward.vue +1 -1
  161. package/edit/logging.banzaicloud.io.output/providers/logz.vue +1 -1
  162. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +1 -1
  163. package/edit/logging.banzaicloud.io.output/providers/redis.vue +1 -1
  164. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +1 -1
  165. package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
  166. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +1 -1
  167. package/edit/management.cattle.io.project.vue +3 -3
  168. package/edit/management.cattle.io.projectroletemplatebinding.vue +2 -2
  169. package/edit/management.cattle.io.setting.vue +1 -1
  170. package/edit/management.cattle.io.user.vue +2 -2
  171. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +2 -2
  172. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +1 -1
  173. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +1 -1
  174. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +3 -3
  175. package/edit/monitoring.coreos.com.prometheusrule/GroupRules.vue +5 -5
  176. package/edit/monitoring.coreos.com.prometheusrule/duration.js +1 -1
  177. package/edit/monitoring.coreos.com.prometheusrule/index.vue +8 -3
  178. package/edit/monitoring.coreos.com.receiver/auth.vue +2 -2
  179. package/edit/monitoring.coreos.com.receiver/tls.vue +3 -4
  180. package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +53 -0
  181. package/edit/monitoring.coreos.com.receiver/types/email.vue +2 -0
  182. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +3 -3
  183. package/edit/monitoring.coreos.com.receiver/types/webhook.add.vue +1 -1
  184. package/edit/monitoring.coreos.com.route.vue +2 -2
  185. package/edit/namespace.vue +21 -13
  186. package/edit/networking.k8s.io.ingress/Certificate.vue +2 -2
  187. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  188. package/edit/networking.k8s.io.ingress/RulePath.vue +2 -2
  189. package/edit/networking.k8s.io.ingress/Rules.vue +2 -2
  190. package/edit/networking.k8s.io.ingress/index.vue +4 -4
  191. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +3 -3
  192. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  193. package/edit/persistentvolume/index.vue +4 -4
  194. package/edit/persistentvolumeclaim.vue +3 -3
  195. package/edit/provisioning.cattle.io.cluster/RegistryMirrors.vue +1 -1
  196. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +2 -2
  197. package/edit/provisioning.cattle.io.cluster/import.vue +2 -2
  198. package/edit/provisioning.cattle.io.cluster/index.vue +7 -7
  199. package/edit/provisioning.cattle.io.cluster/rke2.vue +28 -29
  200. package/edit/resources.cattle.io.backup.vue +2 -2
  201. package/edit/resources.cattle.io.restore.vue +3 -3
  202. package/edit/secret/generic.vue +1 -1
  203. package/edit/secret/index.vue +3 -3
  204. package/edit/service.vue +3 -21
  205. package/edit/serviceaccount.vue +2 -2
  206. package/edit/storage.k8s.io.storageclass/index.vue +4 -4
  207. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +1 -1
  208. package/edit/token.vue +5 -5
  209. package/edit/workload/index.vue +1 -1
  210. package/edit/workload/mixins/workload.js +8 -8
  211. package/edit/workload/storage/ContainerMountPaths.vue +9 -9
  212. package/edit/workload/storage/Mount.vue +2 -2
  213. package/edit/workload/storage/csi/index.vue +1 -1
  214. package/edit/workload/storage/ephemeralVolume/index.vue +1 -1
  215. package/edit/workload/storage/index.vue +6 -6
  216. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +2 -2
  217. package/initialize/client.js +8 -8
  218. package/initialize/index.js +1 -4
  219. package/layouts/default.vue +38 -11
  220. package/list/catalog.cattle.io.clusterrepo.vue +9 -1
  221. package/list/cis.cattle.io.clusterscan.vue +1 -1
  222. package/list/fleet.cattle.io.cluster.vue +2 -2
  223. package/list/group.principal.vue +1 -1
  224. package/list/helm.cattle.io.projecthelmchart.vue +2 -2
  225. package/list/management.cattle.io.cluster.vue +1 -1
  226. package/list/management.cattle.io.feature.vue +1 -1
  227. package/list/management.cattle.io.user.vue +2 -2
  228. package/list/node.vue +5 -5
  229. package/list/provisioning.cattle.io.cluster.vue +4 -5
  230. package/machine-config/amazonec2.vue +2 -2
  231. package/machine-config/digitalocean.vue +4 -4
  232. package/machine-config/linode.vue +4 -4
  233. package/machine-config/vmwarevsphere.vue +12 -12
  234. package/middleware/authenticated.js +7 -6
  235. package/mixins/brand.js +1 -1
  236. package/mixins/chart.js +6 -6
  237. package/mixins/fetch.client.js +2 -2
  238. package/mixins/form-validation.js +7 -7
  239. package/mixins/resource-fetch-namespaced.js +1 -1
  240. package/mixins/resource-fetch.js +2 -2
  241. package/models/apps.statefulset.js +2 -2
  242. package/models/batch.cronjob.js +1 -1
  243. package/models/catalog.cattle.io.app.js +4 -4
  244. package/models/cis.cattle.io.clusterscan.js +1 -1
  245. package/models/cis.cattle.io.clusterscanbenchmark.js +1 -1
  246. package/models/cis.cattle.io.clusterscanreport.js +1 -1
  247. package/models/cloudcredential.js +1 -1
  248. package/models/cluster/node.js +5 -5
  249. package/models/cluster.x-k8s.io.machinedeployment.js +2 -2
  250. package/models/fleet.cattle.io.gitrepo.js +3 -3
  251. package/models/group.principal.js +4 -4
  252. package/models/helm.cattle.io.projecthelmchart.js +2 -2
  253. package/models/logging.banzaicloud.io.clusterflow.js +2 -2
  254. package/models/logging.banzaicloud.io.flow.js +5 -5
  255. package/models/logging.banzaicloud.io.output.js +2 -2
  256. package/models/management.cattle.io.cluster.js +10 -14
  257. package/models/management.cattle.io.globalrole.js +4 -4
  258. package/models/management.cattle.io.node.js +2 -2
  259. package/models/management.cattle.io.nodepool.js +3 -3
  260. package/models/management.cattle.io.nodetemplate.js +4 -4
  261. package/models/management.cattle.io.project.js +2 -2
  262. package/models/management.cattle.io.roletemplate.js +1 -1
  263. package/models/management.cattle.io.setting.js +1 -1
  264. package/models/management.cattle.io.user.js +5 -5
  265. package/models/monitoring.coreos.com.receiver.js +9 -9
  266. package/models/namespace.js +1 -1
  267. package/models/networking.k8s.io.ingress.js +5 -5
  268. package/models/persistentvolume.js +3 -3
  269. package/models/pod.js +3 -3
  270. package/models/provisioning.cattle.io.cluster.js +39 -27
  271. package/models/rbac.authorization.k8s.io.clusterrole.js +2 -2
  272. package/models/rbac.authorization.k8s.io.role.js +3 -3
  273. package/models/secret.js +1 -1
  274. package/models/service.js +2 -2
  275. package/models/storage.k8s.io.storageclass.js +2 -2
  276. package/models/token.js +1 -1
  277. package/models/workload.js +6 -6
  278. package/models/workload.service.js +5 -21
  279. package/package.json +3 -2
  280. package/pages/about.vue +9 -9
  281. package/pages/account/index.vue +2 -2
  282. package/pages/auth/login.vue +25 -12
  283. package/pages/auth/setup.vue +4 -0
  284. package/pages/auth/verify.vue +6 -0
  285. package/pages/c/_cluster/apps/charts/index.vue +4 -4
  286. package/pages/c/_cluster/apps/charts/install.vue +28 -20
  287. package/pages/c/_cluster/auth/roles/index.vue +10 -10
  288. package/pages/c/_cluster/explorer/index.vue +41 -16
  289. package/pages/c/_cluster/explorer/tools/index.vue +8 -8
  290. package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +1 -1
  291. package/pages/c/_cluster/fleet/index.vue +11 -11
  292. package/pages/c/_cluster/monitoring/index.vue +1 -1
  293. package/pages/c/_cluster/settings/links.vue +3 -3
  294. package/pages/c/_cluster/settings/performance.vue +1 -1
  295. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +6 -6
  296. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +3 -3
  297. package/pages/c/_cluster/uiplugins/InstallDialog.vue +3 -3
  298. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +1 -1
  299. package/pages/c/_cluster/uiplugins/RemoveUIPlugins.vue +3 -3
  300. package/pages/c/_cluster/uiplugins/SetupUIPlugins.vue +6 -6
  301. package/pages/c/_cluster/uiplugins/UninstallDialog.vue +4 -4
  302. package/pages/c/_cluster/uiplugins/index.vue +22 -19
  303. package/pages/diagnostic.vue +6 -6
  304. package/pages/home.vue +8 -3
  305. package/pages/prefs.vue +2 -2
  306. package/pages/rio/mesh.vue +3 -3
  307. package/pages/support/index.vue +10 -1
  308. package/pkg/auto-import.js +1 -1
  309. package/pkg/tsconfig.json +1 -0
  310. package/pkg/vue.config.js +1 -1
  311. package/plugins/axios.js +1 -1
  312. package/plugins/clean-html-directive.js +1 -1
  313. package/plugins/dashboard-store/__tests__/mutations.spec.js +4 -4
  314. package/plugins/dashboard-store/actions.js +4 -4
  315. package/plugins/dashboard-store/getters.js +1 -1
  316. package/plugins/dashboard-store/index.js +1 -1
  317. package/plugins/dashboard-store/mutations.js +2 -2
  318. package/plugins/dashboard-store/resource-class.js +8 -8
  319. package/plugins/i18n.js +1 -1
  320. package/plugins/plugin.js +5 -1
  321. package/plugins/steve/actions.js +25 -3
  322. package/plugins/steve/getters.js +3 -3
  323. package/plugins/steve/hybrid-class.js +1 -1
  324. package/plugins/steve/mutations.js +1 -1
  325. package/plugins/steve/performanceTesting.js +1 -1
  326. package/plugins/steve/resourceWatcher.js +1 -1
  327. package/plugins/steve/subscribe.js +6 -6
  328. package/plugins/steve/worker/web-worker.basic.js +1 -1
  329. package/promptRemove/management.cattle.io.project.vue +3 -3
  330. package/promptRemove/mixin/roleDeletionCheck.js +4 -4
  331. package/promptRemove/pod.vue +1 -1
  332. package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +2 -2
  333. package/rancher-components/components/Form/Checkbox/Checkbox.vue +1 -1
  334. package/rancher-components/components/Form/Radio/RadioButton.test.ts +1 -1
  335. package/rancher-components/components/Form/Radio/RadioButton.vue +2 -2
  336. package/rancher-components/components/Form/Radio/RadioGroup.vue +2 -2
  337. package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +1 -0
  338. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +1 -1
  339. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +7 -7
  340. package/rancher-components/components/StringList/StringList.test.ts +10 -9
  341. package/rancher-components/components/StringList/StringList.vue +5 -5
  342. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
  343. package/store/action-menu.js +4 -4
  344. package/store/auth.js +40 -7
  345. package/store/aws.js +1 -1
  346. package/store/catalog.js +12 -11
  347. package/store/digitalocean.js +4 -4
  348. package/store/features.js +1 -0
  349. package/store/github.js +70 -213
  350. package/store/gitlab.js +159 -0
  351. package/store/growl.js +1 -1
  352. package/store/i18n.js +7 -7
  353. package/store/index.js +63 -22
  354. package/store/linode.js +1 -1
  355. package/store/plugins.js +5 -5
  356. package/store/pnap.js +1 -1
  357. package/store/prefs.js +6 -6
  358. package/store/resource-fetch.js +3 -3
  359. package/store/type-map.js +61 -42
  360. package/store/uiplugins.ts +2 -1
  361. package/store/wm.js +5 -4
  362. package/tsconfig.default.json +10 -0
  363. package/tsconfig.json +2 -9
  364. package/types/shell/index.d.ts +10 -2
  365. package/utils/__tests__/version.test.ts +28 -0
  366. package/utils/alertmanagerconfig.js +4 -4
  367. package/utils/array.ts +4 -4
  368. package/utils/async.ts +1 -1
  369. package/utils/auth.js +3 -3
  370. package/utils/axios.js +5 -5
  371. package/utils/cluster.js +4 -3
  372. package/utils/color.js +10 -0
  373. package/utils/create-yaml.js +4 -4
  374. package/utils/crypto/browserHashUtils.js +1 -1
  375. package/utils/crypto/browserMd5.js +1 -1
  376. package/utils/crypto/browserSha1.js +1 -1
  377. package/utils/crypto/browserSha256.js +1 -1
  378. package/utils/crypto/index.js +3 -3
  379. package/utils/favicon.js +2 -3
  380. package/utils/gatekeeper/util.js +3 -3
  381. package/utils/gc/gc.ts +2 -2
  382. package/utils/git.ts +92 -0
  383. package/utils/grafana.js +4 -4
  384. package/utils/monitoring.js +2 -2
  385. package/utils/nuxt.js +2 -2
  386. package/utils/object.js +5 -5
  387. package/utils/pod-security-admission.ts +1 -1
  388. package/utils/projectAndNamespaceFiltering.utils.ts +1 -1
  389. package/utils/select.js +2 -2
  390. package/utils/selector.js +2 -2
  391. package/utils/settings.ts +17 -2
  392. package/utils/socket.js +30 -6
  393. package/utils/sort.js +1 -1
  394. package/utils/string.js +1 -1
  395. package/utils/url.ts +1 -1
  396. package/utils/validators/formRules/index.ts +3 -3
  397. package/utils/validators/role-template.js +4 -4
  398. package/utils/version.js +14 -1
  399. package/vue.config.js +19 -13
  400. package/components/form/GithubPicker.vue +0 -390
@@ -95,13 +95,13 @@ export default class ClusterNode extends SteveModel {
95
95
  get internalIp() {
96
96
  const addresses = this.status?.addresses || [];
97
97
 
98
- return findLast(addresses, address => address.type === 'InternalIP')?.address;
98
+ return findLast(addresses, (address) => address.type === 'InternalIP')?.address;
99
99
  }
100
100
 
101
101
  get externalIp() {
102
102
  const addresses = this.status?.addresses || [];
103
103
  const annotationAddress = this.metadata.annotations[RKE.EXTERNAL_IP];
104
- const statusAddress = findLast(addresses, address => address.type === 'ExternalIP')?.address;
104
+ const statusAddress = findLast(addresses, (address) => address.type === 'ExternalIP')?.address;
105
105
 
106
106
  return statusAddress || annotationAddress;
107
107
  }
@@ -230,7 +230,7 @@ export default class ClusterNode extends SteveModel {
230
230
  }
231
231
 
232
232
  get podConsumed() {
233
- const runningPods = this.pods.filter(pod => pod.state === 'running');
233
+ const runningPods = this.pods.filter((pod) => pod.state === 'running');
234
234
 
235
235
  return runningPods.length || 0;
236
236
  }
@@ -260,7 +260,7 @@ export default class ClusterNode extends SteveModel {
260
260
  }
261
261
 
262
262
  get drainedState() {
263
- const sNodeCondition = this.managementNode?.status.conditions.find(c => c.type === 'Drained');
263
+ const sNodeCondition = this.managementNode?.status.conditions.find((c) => c.type === 'Drained');
264
264
 
265
265
  if (sNodeCondition) {
266
266
  if (sNodeCondition.status === 'True') {
@@ -409,7 +409,7 @@ export default class ClusterNode extends SteveModel {
409
409
  get pods() {
410
410
  const allPods = this.$rootGetters['cluster/all'](POD);
411
411
 
412
- return allPods.filter(pod => pod.spec.nodeName === this.name);
412
+ return allPods.filter((pod) => pod.spec.nodeName === this.name);
413
413
  }
414
414
 
415
415
  get confirmRemove() {
@@ -102,7 +102,7 @@ export default class CapiMachineDeployment extends SteveModel {
102
102
  const machineConfigName = this.template?.metadata?.annotations['rke.cattle.io/cloned-from-name'];
103
103
  const machinePools = this.cluster.spec.rkeConfig.machinePools;
104
104
 
105
- return machinePools.find(pool => pool.machineConfigRef.name === machineConfigName);
105
+ return machinePools.find((pool) => pool.machineConfigRef.name === machineConfigName);
106
106
  }
107
107
 
108
108
  scalePool(delta, save = true, depth = 0) {
@@ -207,7 +207,7 @@ export default class CapiMachineDeployment extends SteveModel {
207
207
  value: this.ready,
208
208
  sort: 4,
209
209
  },
210
- ].filter(x => x.value > 0);
210
+ ].filter((x) => x.value > 0);
211
211
 
212
212
  return sortBy(out, 'sort:desc');
213
213
  }
@@ -305,14 +305,14 @@ export default class GitRepo extends SteveModel {
305
305
  get bundles() {
306
306
  const all = this.$getters['all'](FLEET.BUNDLE);
307
307
 
308
- return all.filter(bundle => bundle.name.startsWith(`${ this.name }-`) &&
308
+ return all.filter((bundle) => bundle.name.startsWith(`${ this.name }-`) &&
309
309
  bundle.namespace === this.namespace &&
310
310
  bundle.namespacedName.startsWith(`${ this.namespace }:${ this.name }`));
311
311
  }
312
312
 
313
313
  get bundlesReady() {
314
314
  if (this.bundles && this.bundles.length) {
315
- return this.bundles.filter(bundle => bundle.state === 'active');
315
+ return this.bundles.filter((bundle) => bundle.state === 'active');
316
316
  }
317
317
 
318
318
  return 0;
@@ -321,7 +321,7 @@ export default class GitRepo extends SteveModel {
321
321
  get bundleDeployments() {
322
322
  const bds = this.$getters['all'](FLEET.BUNDLE_DEPLOYMENT);
323
323
 
324
- return bds.filter(bd => bd.metadata?.labels?.['fleet.cattle.io/repo-name'] === this.name);
324
+ return bds.filter((bd) => bd.metadata?.labels?.['fleet.cattle.io/repo-name'] === this.name);
325
325
  }
326
326
 
327
327
  get clustersList() {
@@ -27,7 +27,7 @@ export default class Group extends Principal {
27
27
 
28
28
  get globalRoleBindings() {
29
29
  return this.$rootGetters['management/all'](MANAGEMENT.GLOBAL_ROLE_BINDING)
30
- .filter(globalRoleBinding => this.id === globalRoleBinding.groupPrincipalName);
30
+ .filter((globalRoleBinding) => this.id === globalRoleBinding.groupPrincipalName);
31
31
  }
32
32
 
33
33
  get _availableActions() {
@@ -53,7 +53,7 @@ export default class Group extends Principal {
53
53
  promptUnassignGroupRoles(resources = this) {
54
54
  const principals = Array.isArray(resources) ? resources : [resources];
55
55
  const globalRoleBindings = this.$rootGetters['management/all'](MANAGEMENT.GLOBAL_ROLE_BINDING)
56
- .filter(globalRoleBinding => principals.find(principal => principal.id === globalRoleBinding.groupPrincipalName));
56
+ .filter((globalRoleBinding) => principals.find((principal) => principal.id === globalRoleBinding.groupPrincipalName));
57
57
 
58
58
  this.$dispatch('promptRemove', globalRoleBindings);
59
59
  }
@@ -61,9 +61,9 @@ export default class Group extends Principal {
61
61
  async unassignGroupRoles(resources = this) {
62
62
  const principals = Array.isArray(resources) ? resources : [resources];
63
63
  const globalRoleBindings = this.$rootGetters['management/all'](MANAGEMENT.GLOBAL_ROLE_BINDING)
64
- .filter(globalRoleBinding => principals.find(principal => principal.id === globalRoleBinding.groupPrincipalName));
64
+ .filter((globalRoleBinding) => principals.find((principal) => principal.id === globalRoleBinding.groupPrincipalName));
65
65
 
66
- await Promise.all(globalRoleBindings.map(resource => resource.remove()));
66
+ await Promise.all(globalRoleBindings.map((resource) => resource.remove()));
67
67
 
68
68
  // There is no dialog to close, but this can be watched and used to refresh the group principles
69
69
  this.$dispatch('promptRemove', null);
@@ -13,7 +13,7 @@ export default class ProjectHelmChart extends SteveModel {
13
13
  get projectId() {
14
14
  const inStore = this.$rootGetters['currentProduct'].inStore;
15
15
  const all = this.$rootGetters[`${ inStore }/all`](NAMESPACE);
16
- const { projectId } = all.find(namespace => namespace.id === this.metadata.namespace);
16
+ const { projectId } = all.find((namespace) => namespace.id === this.metadata.namespace);
17
17
 
18
18
  return projectId;
19
19
  }
@@ -28,7 +28,7 @@ export default class ProjectHelmChart extends SteveModel {
28
28
  get namespaces() {
29
29
  const inStore = this.$rootGetters['currentProduct'].inStore;
30
30
  const all = this.$rootGetters[`${ inStore }/all`](NAMESPACE);
31
- const namespaces = all.filter(namespace => namespace.projectId === this.projectId);
31
+ const namespaces = all.filter((namespace) => namespace.projectId === this.projectId);
32
32
 
33
33
  return [...namespaces];
34
34
  }
@@ -15,12 +15,12 @@ export default class LogClusterFlow extends Flow {
15
15
  }
16
16
  const outputRefs = this?.spec?.globalOutputRefs || this?.spec?.outputRefs || [];
17
17
 
18
- return this.allOutputs.filter(output => outputRefs.includes(output.name));
18
+ return this.allOutputs.filter((output) => outputRefs.includes(output.name));
19
19
  }
20
20
 
21
21
  get outputProviders() {
22
22
  const duplicatedProviders = this.outputs
23
- .flatMap(output => output.providers);
23
+ .flatMap((output) => output.providers);
24
24
 
25
25
  return uniq(duplicatedProviders) || [];
26
26
  }
@@ -64,11 +64,11 @@ export default class LogFlow extends SteveModel {
64
64
  get outputs() {
65
65
  const localOutputRefs = this.spec?.localOutputRefs || [];
66
66
 
67
- return this.allOutputs.filter(output => localOutputRefs.includes(output.name));
67
+ return this.allOutputs.filter((output) => localOutputRefs.includes(output.name));
68
68
  }
69
69
 
70
70
  get outputsSortable() {
71
- const displays = this.outputs.map(o => o.nameDisplay);
71
+ const displays = this.outputs.map((o) => o.nameDisplay);
72
72
 
73
73
  displays.sort();
74
74
 
@@ -79,7 +79,7 @@ export default class LogFlow extends SteveModel {
79
79
  const globalOutputRefs = this.spec?.globalOutputRefs || [];
80
80
 
81
81
  if (this.allClusterOutputs) {
82
- return this.allClusterOutputs.filter(output => globalOutputRefs.includes(output.name));
82
+ return this.allClusterOutputs.filter((output) => globalOutputRefs.includes(output.name));
83
83
  } else {
84
84
  // Handle the case where the user doesn't have permission
85
85
  // to see ClusterOutputs
@@ -88,7 +88,7 @@ export default class LogFlow extends SteveModel {
88
88
  }
89
89
 
90
90
  get clusterOutputsSortable() {
91
- const displays = this.clusterOutputs.map(o => o.nameDisplay);
91
+ const displays = this.clusterOutputs.map((o) => o.nameDisplay);
92
92
 
93
93
  displays.sort();
94
94
 
@@ -98,7 +98,7 @@ export default class LogFlow extends SteveModel {
98
98
  get providersDisplay() {
99
99
  const combinedOutputs = [...this.outputs, ...this.clusterOutputs];
100
100
  const duplicatedProviders = combinedOutputs
101
- .flatMap(output => output.providersDisplay);
101
+ .flatMap((output) => output.providersDisplay);
102
102
 
103
103
  return uniq(duplicatedProviders) || [];
104
104
  }
@@ -120,7 +120,7 @@ export default class LogOutput extends SteveModel {
120
120
  const spec = this.spec || {};
121
121
 
122
122
  return Object.keys(spec)
123
- .filter(provider => provider !== 'loggingRef');
123
+ .filter((provider) => provider !== 'loggingRef');
124
124
  }
125
125
 
126
126
  get providersDisplay() {
@@ -132,7 +132,7 @@ export default class LogOutput extends SteveModel {
132
132
  }
133
133
 
134
134
  isSupportedProvider(provider) {
135
- return !!PROVIDERS.find(p => p.name === provider);
135
+ return !!PROVIDERS.find((p) => p.name === provider);
136
136
  }
137
137
 
138
138
  get allProvidersSupported() {
@@ -76,7 +76,7 @@ export default class MgmtCluster extends HybridModel {
76
76
  get machinePools() {
77
77
  const pools = this.$getters['all'](MANAGEMENT.NODE_POOL);
78
78
 
79
- return pools.filter(x => x.spec?.clusterName === this.id);
79
+ return pools.filter((x) => x.spec?.clusterName === this.id);
80
80
  }
81
81
 
82
82
  get provisioner() {
@@ -254,7 +254,11 @@ export default class MgmtCluster extends HybridModel {
254
254
  }
255
255
 
256
256
  get providerLogo() {
257
- const provider = this.status?.provider || 'kubernetes';
257
+ let provider = this.status?.provider || 'kubernetes';
258
+
259
+ if (this.isHarvester) {
260
+ provider = HARVESTER;
261
+ }
258
262
  // Only interested in the part before the period
259
263
  const prv = provider.split('.')[0];
260
264
  // Allow overrides if needed
@@ -274,18 +278,10 @@ export default class MgmtCluster extends HybridModel {
274
278
  }
275
279
 
276
280
  get providerMenuLogo() {
277
- if (this?.status?.provider === HARVESTER) {
278
- return require(`~shell/assets/images/providers/kubernetes.svg`);
279
- }
280
-
281
281
  return this.providerLogo;
282
282
  }
283
283
 
284
284
  get providerNavLogo() {
285
- if (this?.status?.provider === HARVESTER && this.$rootGetters['currentProduct'].inStore !== HARVESTER) {
286
- return require(`~shell/assets/images/providers/kubernetes.svg`);
287
- }
288
-
289
285
  return this.providerLogo;
290
286
  }
291
287
 
@@ -409,10 +405,10 @@ export default class MgmtCluster extends HybridModel {
409
405
  const nodes = await this.$dispatch('cluster/findAll', { type: NODE }, { root: true });
410
406
  const nodeMetrics = await this.$dispatch('cluster/findAll', { type: NODE }, { root: true });
411
407
 
412
- const someNonWorkerRoles = nodes.some(node => node.hasARole && !node.isWorker);
408
+ const someNonWorkerRoles = nodes.some((node) => node.hasARole && !node.isWorker);
413
409
 
414
410
  const metrics = nodeMetrics.filter((metric) => {
415
- const node = nodes.find(nd => nd.id === metric.id);
411
+ const node = nodes.find((nd) => nd.id === metric.id);
416
412
 
417
413
  return node && (!someNonWorkerRoles || node.isWorker);
418
414
  });
@@ -434,7 +430,7 @@ export default class MgmtCluster extends HybridModel {
434
430
  }
435
431
 
436
432
  get nodes() {
437
- return this.$getters['all'](MANAGEMENT.NODE).filter(node => node.id.startsWith(this.id));
433
+ return this.$getters['all'](MANAGEMENT.NODE).filter((node) => node.id.startsWith(this.id));
438
434
  }
439
435
 
440
436
  get provClusterId() {
@@ -447,6 +443,6 @@ export default class MgmtCluster extends HybridModel {
447
443
  const from = `${ verb }Type`;
448
444
  const id = `${ verb }Id`;
449
445
 
450
- return this.metadata.relationships.find(r => r[from] === CAPI.RANCHER_CLUSTER)?.[id];
446
+ return this.metadata.relationships.find((r) => r[from] === CAPI.RANCHER_CLUSTER)?.[id];
451
447
  }
452
448
  }
@@ -56,15 +56,15 @@ export default class GlobalRole extends SteveDescriptionModel {
56
56
  }
57
57
 
58
58
  get allResources() {
59
- return this.$getters['all'](SCHEMA).filter(r => r.attributes?.kind);
59
+ return this.$getters['all'](SCHEMA).filter((r) => r.attributes?.kind);
60
60
  }
61
61
 
62
62
  get globalResources() {
63
- return this.allResources.filter(r => r.attributes.group.includes(CATTLE_API_GROUP));
63
+ return this.allResources.filter((r) => r.attributes.group.includes(CATTLE_API_GROUP));
64
64
  }
65
65
 
66
66
  get resources() {
67
- return uniq(this.globalResources.map(r => r.attributes?.resource)).sort();
67
+ return uniq(this.globalResources.map((r) => r.attributes?.resource)).sort();
68
68
  }
69
69
 
70
70
  get listLocation() {
@@ -117,7 +117,7 @@ export default class GlobalRole extends SteveDescriptionModel {
117
117
  get canCreate() {
118
118
  const schema = this.$getters['schemaFor'](this.type);
119
119
 
120
- return schema?.resourceMethods.find(verb => CREATE_VERBS.has(verb));
120
+ return schema?.resourceMethods.find((verb) => CREATE_VERBS.has(verb));
121
121
  }
122
122
 
123
123
  goToClone(moreQuery = {}) {
@@ -114,7 +114,7 @@ export default class MgmtNode extends HybridModel {
114
114
  }
115
115
 
116
116
  get provisioningCluster() {
117
- return this.$getters['all'](CAPI.RANCHER_CLUSTER).find(c => c.mgmtClusterId === this.mgmtClusterId);
117
+ return this.$getters['all'](CAPI.RANCHER_CLUSTER).find((c) => c.mgmtClusterId === this.mgmtClusterId);
118
118
  }
119
119
 
120
120
  get doneOverride() {
@@ -148,7 +148,7 @@ export default class MgmtNode extends HybridModel {
148
148
 
149
149
  get externalIp() {
150
150
  const addresses = this.status?.addresses || [];
151
- const statusAddress = findLast(addresses, address => address.type === 'ExternalIP')?.address;
151
+ const statusAddress = findLast(addresses, (address) => address.type === 'ExternalIP')?.address;
152
152
 
153
153
  if (statusAddress) {
154
154
  return statusAddress;
@@ -31,7 +31,7 @@ export default class MgmtNodePool extends HybridModel {
31
31
  }
32
32
 
33
33
  get provisioningCluster() {
34
- return this.$getters['all'](CAPI.RANCHER_CLUSTER).find(c => c.name === this.spec.clusterName);
34
+ return this.$getters['all'](CAPI.RANCHER_CLUSTER).find((c) => c.name === this.spec.clusterName);
35
35
  }
36
36
 
37
37
  get doneOverride() {
@@ -71,7 +71,7 @@ export default class MgmtNodePool extends HybridModel {
71
71
  get nodes() {
72
72
  const nodePoolName = this.id.replace('/', ':');
73
73
 
74
- return this.$getters['all'](MANAGEMENT.NODE).filter(node => node.spec.nodePoolName === nodePoolName);
74
+ return this.$getters['all'](MANAGEMENT.NODE).filter((node) => node.spec.nodePoolName === nodePoolName);
75
75
  }
76
76
 
77
77
  get nodeSummary() {
@@ -142,7 +142,7 @@ export default class MgmtNodePool extends HybridModel {
142
142
  value: this.ready,
143
143
  sort: 4,
144
144
  },
145
- ].filter(x => x.value > 0);
145
+ ].filter((x) => x.value > 0);
146
146
 
147
147
  return sortBy(out, 'sort:desc');
148
148
  }
@@ -79,8 +79,8 @@ export default class NodeTemplate extends HybridModel {
79
79
  const allKeys = Object.keys(this);
80
80
 
81
81
  const configKey = allKeys
82
- .filter(k => this[k] !== null)
83
- .find(k => k.endsWith('Config'));
82
+ .filter((k) => this[k] !== null)
83
+ .find((k) => k.endsWith('Config'));
84
84
 
85
85
  if ( configKey ) {
86
86
  return configKey.replace(/config$/i, '');
@@ -101,7 +101,7 @@ export default class NodeTemplate extends HybridModel {
101
101
 
102
102
  get providerLocation() {
103
103
  if (this.provider) {
104
- const config = CONFIG_KEYS.find(k => k.driver === this.provider);
104
+ const config = CONFIG_KEYS.find((k) => k.driver === this.provider);
105
105
 
106
106
  if (config?.location) {
107
107
  if (config.location.getDisplayProperty) {
@@ -120,7 +120,7 @@ export default class NodeTemplate extends HybridModel {
120
120
 
121
121
  get providerSize() {
122
122
  if (this.provider) {
123
- const config = CONFIG_KEYS.find(k => k.driver === this.provider);
123
+ const config = CONFIG_KEYS.find((k) => k.driver === this.provider);
124
124
 
125
125
  if (config?.size) {
126
126
  if (config.size.getDisplayProperty) {
@@ -30,7 +30,7 @@ function clearUnusedResourceQuotas(spec, types) {
30
30
  spec[type].usedLimit = null;
31
31
  }
32
32
 
33
- if ( spec[type] && !isEmpty(spec[type]) && Object.keys(spec[type]).every( k => spec[type][k] === null ) ) {
33
+ if ( spec[type] && !isEmpty(spec[type]) && Object.keys(spec[type]).every( (k) => spec[type][k] === null ) ) {
34
34
  spec[type] = null;
35
35
  }
36
36
  });
@@ -205,7 +205,7 @@ export default class Project extends HybridModel {
205
205
  }
206
206
 
207
207
  get canEditYaml() {
208
- return this.schema?.resourceMethods?.find(x => x === 'blocked-PUT') ? false : super.canUpdate;
208
+ return this.schema?.resourceMethods?.find((x) => x === 'blocked-PUT') ? false : super.canUpdate;
209
209
  }
210
210
 
211
211
  get confirmRemove() {
@@ -165,7 +165,7 @@ export default class RoleTemplate extends SteveDescriptionModel {
165
165
  get canCreate() {
166
166
  const schema = this.$getters['schemaFor'](this.type);
167
167
 
168
- return schema?.resourceMethods.find(verb => CREATE_VERBS.has(verb));
168
+ return schema?.resourceMethods.find((verb) => CREATE_VERBS.has(verb));
169
169
  }
170
170
 
171
171
  goToClone(moreQuery = {}) {
@@ -21,7 +21,7 @@ export default class Setting extends HybridModel {
21
21
  });
22
22
 
23
23
  // Change the label on the first action (edit)
24
- const editAction = out.find(action => action.action === 'goToEdit');
24
+ const editAction = out.find((action) => action.action === 'goToEdit');
25
25
 
26
26
  if (editAction) {
27
27
  editAction.label = this.t('advancedSettings.edit.label');
@@ -33,13 +33,13 @@ export default class User extends HybridModel {
33
33
  get isCurrentUser() {
34
34
  const currentPrincipal = this.$rootGetters['auth/principalId'];
35
35
 
36
- return !!(this.principalIds || []).find(p => p === currentPrincipal);
36
+ return !!(this.principalIds || []).find((p) => p === currentPrincipal);
37
37
  }
38
38
 
39
39
  get principals() {
40
40
  return this.principalIds
41
- .map(id => this.$rootGetters['rancher/byId'](NORMAN.PRINCIPAL, id))
42
- .filter(p => p);
41
+ .map((id) => this.$rootGetters['rancher/byId'](NORMAN.PRINCIPAL, id))
42
+ .filter((p) => p);
43
43
  }
44
44
 
45
45
  get nameDisplay() {
@@ -146,7 +146,7 @@ export default class User extends HybridModel {
146
146
  }
147
147
 
148
148
  async activateBulk(items) {
149
- await Promise.all(items.map(item => item.setEnabled(true)));
149
+ await Promise.all(items.map((item) => item.setEnabled(true)));
150
150
  }
151
151
 
152
152
  async deactivate() {
@@ -154,7 +154,7 @@ export default class User extends HybridModel {
154
154
  }
155
155
 
156
156
  async deactivateBulk(items) {
157
- await Promise.all(items.map(item => item.setEnabled(false)));
157
+ await Promise.all(items.map((item) => item.setEnabled(false)));
158
158
  }
159
159
 
160
160
  async refreshGroupMembership() {
@@ -61,7 +61,7 @@ export default class Receiver extends SteveModel {
61
61
 
62
62
  remove() {
63
63
  return this.updateReceivers((currentReceivers) => {
64
- return currentReceivers.filter(r => r.name !== this.spec?.name);
64
+ return currentReceivers.filter((r) => r.name !== this.spec?.name);
65
65
  });
66
66
  }
67
67
 
@@ -73,7 +73,7 @@ export default class Receiver extends SteveModel {
73
73
  }
74
74
 
75
75
  await this.updateReceivers((currentReceivers) => {
76
- const existingReceiver = currentReceivers.find(r => r.name === this.spec?.name);
76
+ const existingReceiver = currentReceivers.find((r) => r.name === this.spec?.name);
77
77
 
78
78
  if (existingReceiver) {
79
79
  Object.assign(existingReceiver, this.spec);
@@ -129,18 +129,18 @@ export default class Receiver extends SteveModel {
129
129
 
130
130
  get receiverTypes() {
131
131
  const types = RECEIVERS_TYPES
132
- .filter(type => type.name !== 'custom' && this.spec[type.key]?.length > 0)
133
- .map(type => this.t(type.label));
132
+ .filter((type) => type.name !== 'custom' && this.spec[type.key]?.length > 0)
133
+ .map((type) => this.t(type.label));
134
134
 
135
- const expectedKeys = RECEIVERS_TYPES.map(type => type.key).filter(key => key !== 'custom');
135
+ const expectedKeys = RECEIVERS_TYPES.map((type) => type.key).filter((key) => key !== 'custom');
136
136
 
137
137
  expectedKeys.push('name');
138
138
 
139
139
  const customKeys = Object.keys(this.spec)
140
- .filter(key => !expectedKeys.includes(key));
140
+ .filter((key) => !expectedKeys.includes(key));
141
141
 
142
142
  if (customKeys.length > 0) {
143
- const customLabel = this.t(RECEIVERS_TYPES.find(type => type.name === 'custom').label);
143
+ const customLabel = this.t(RECEIVERS_TYPES.find((type) => type.name === 'custom').label);
144
144
 
145
145
  types.push(customLabel);
146
146
  }
@@ -149,7 +149,7 @@ export default class Receiver extends SteveModel {
149
149
  }
150
150
 
151
151
  get updateReceivers() {
152
- return fn => updateConfig(this.$dispatch, 'receivers', this.type, fn);
152
+ return (fn) => updateConfig(this.$dispatch, 'receivers', this.type, fn);
153
153
  }
154
154
 
155
155
  saveYaml(yaml) {
@@ -182,7 +182,7 @@ export default class Receiver extends SteveModel {
182
182
  }
183
183
 
184
184
  get hasDependentRoutes() {
185
- return !!this.routes.find(route => route.spec.receiver === this.id);
185
+ return !!this.routes.find((route) => route.spec.receiver === this.id);
186
186
  }
187
187
 
188
188
  get preventDeletionMessage() {
@@ -105,7 +105,7 @@ export default class Namespace extends SteveModel {
105
105
  // These are namespaces that are created by rancher to serve purposes in the background but the user shouldn't have
106
106
  // to worry themselves about them.
107
107
  get isObscure() {
108
- return OBSCURE_NAMESPACE_PREFIX.some(prefix => this.metadata.name.startsWith(prefix)) && this.isSystem;
108
+ return OBSCURE_NAMESPACE_PREFIX.some((prefix) => this.metadata.name.startsWith(prefix)) && this.isSystem;
109
109
  }
110
110
 
111
111
  get projectId() {
@@ -7,7 +7,7 @@ import SteveModel from '@shell/plugins/steve/steve-class';
7
7
  function tlsHosts(spec) {
8
8
  const tls = spec.tls || [];
9
9
 
10
- return tls.flatMap(tls => tls.hosts || []);
10
+ return tls.flatMap((tls) => tls.hosts || []);
11
11
  }
12
12
 
13
13
  function isTlsHost(spec, host) {
@@ -33,7 +33,7 @@ export default class Ingress extends SteveModel {
33
33
  }
34
34
 
35
35
  get isTlsHost() {
36
- return host => isTlsHost(this.spec, host);
36
+ return (host) => isTlsHost(this.spec, host);
37
37
  }
38
38
 
39
39
  targetTo(workloads, serviceName) {
@@ -45,7 +45,7 @@ export default class Ingress extends SteveModel {
45
45
  const id = `${ this.namespace }/${ serviceName }`;
46
46
 
47
47
  if ( isTargetsWorkload ) {
48
- const workload = workloads.find(w => w.id === (id));
48
+ const workload = workloads.find((w) => w.id === (id));
49
49
 
50
50
  return workload?.detailLocation || '';
51
51
  } else {
@@ -66,7 +66,7 @@ export default class Ingress extends SteveModel {
66
66
  return rules.flatMap((rule) => {
67
67
  const paths = rule?.http?.paths || [];
68
68
 
69
- return paths.map(path => this.createPathForListPage(workloads, rule, path, certificates));
69
+ return paths.map((path) => this.createPathForListPage(workloads, rule, path, certificates));
70
70
  });
71
71
  }
72
72
 
@@ -120,7 +120,7 @@ export default class Ingress extends SteveModel {
120
120
  return hosts.includes(rule.host);
121
121
  });
122
122
 
123
- return matchingCerts.map(cert => this.certLink(cert, certificates));
123
+ return matchingCerts.map((cert) => this.certLink(cert, certificates));
124
124
  }
125
125
 
126
126
  targetLink(workloads, serviceName) {
@@ -109,7 +109,7 @@ export const VOLUME_PLUGINS = [
109
109
 
110
110
  export const LONGHORN_DRIVER = 'driver.longhorn.io';
111
111
 
112
- export const LONGHORN_PLUGIN = VOLUME_PLUGINS.find(plugin => plugin.value === 'longhorn');
112
+ export const LONGHORN_PLUGIN = VOLUME_PLUGINS.find((plugin) => plugin.value === 'longhorn');
113
113
 
114
114
  export default class PV extends SteveModel {
115
115
  // plugin display value table
@@ -120,7 +120,7 @@ export default class PV extends SteveModel {
120
120
  if (csiDriver) {
121
121
  return this.$rootGetters['i18n/withFallback'](`persistentVolume.csi.drivers.${ csiDriver.replaceAll('.', '-') }`, null, fallback);
122
122
  }
123
- const pluginDef = VOLUME_PLUGINS.find(plugin => this.spec[plugin.value]);
123
+ const pluginDef = VOLUME_PLUGINS.find((plugin) => this.spec[plugin.value]);
124
124
 
125
125
  if (pluginDef) {
126
126
  return this.t(pluginDef.labelKey);
@@ -141,7 +141,7 @@ export default class PV extends SteveModel {
141
141
 
142
142
  const allClaims = this.$rootGetters['cluster/all'](PVC);
143
143
 
144
- return allClaims.find(claim => claim.spec.volumeName === this.name);
144
+ return allClaims.find((claim) => claim.spec.volumeName === this.name);
145
145
  }
146
146
 
147
147
  get claimName() {
package/models/pod.js CHANGED
@@ -57,7 +57,7 @@ export default class Pod extends WorkloadService {
57
57
 
58
58
  get defaultContainerName() {
59
59
  const containers = this.spec.containers;
60
- const desirable = containers.filter(c => c.name !== 'istio-proxy');
60
+ const desirable = containers.filter((c) => c.name !== 'istio-proxy');
61
61
 
62
62
  if ( desirable.length ) {
63
63
  return desirable[0].name;
@@ -111,7 +111,7 @@ export default class Pod extends WorkloadService {
111
111
  }
112
112
 
113
113
  get imageNames() {
114
- return this.spec.containers.map(container => shortenedImage(container.image));
114
+ return this.spec.containers.map((container) => shortenedImage(container.image));
115
115
  }
116
116
 
117
117
  get workloadRef() {
@@ -188,7 +188,7 @@ export default class Pod extends WorkloadService {
188
188
  processSaveResponse(res) {
189
189
  if (res._headers && res._headers.warning) {
190
190
  const warnings = res._headers.warning.split('299') || [];
191
- const hasPsaWarnings = warnings.filter(warning => warning.includes('violate PodSecurity')).length;
191
+ const hasPsaWarnings = warnings.filter((warning) => warning.includes('violate PodSecurity')).length;
192
192
 
193
193
  if (hasPsaWarnings) {
194
194
  this.$dispatch('growl/warning', {