@rancher/shell 1.2.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/assets/data/aws-regions.json +9 -0
  2. package/assets/images/vendor/openid.svg +18 -0
  3. package/assets/styles/app.scss +1 -2
  4. package/assets/styles/fonts/_icons.scss +3 -3
  5. package/assets/styles/global/_columns.scss +1 -1
  6. package/assets/styles/global/_labeled-input.scss +1 -0
  7. package/assets/styles/global/_layout.scss +99 -0
  8. package/assets/styles/themes/_csp.scss +2 -2
  9. package/assets/styles/themes/_dark.scss +8 -2
  10. package/assets/styles/themes/_light.scss +2 -1
  11. package/assets/styles/themes/_suse.scss +1 -1
  12. package/assets/styles/vendor/vue-select.scss +5 -0
  13. package/assets/translations/en-us.yaml +315 -64
  14. package/assets/translations/zh-hans.yaml +7 -31
  15. package/babel.config.js +8 -2
  16. package/chart/__tests__/S3.test.ts +9 -2
  17. package/chart/gatekeeper.vue +2 -11
  18. package/chart/istio.vue +1 -10
  19. package/chart/logging/index.vue +2 -11
  20. package/chart/monitoring/alerting/index.vue +7 -21
  21. package/chart/monitoring/grafana/index.vue +61 -2
  22. package/chart/monitoring/index.vue +52 -26
  23. package/chart/monitoring/prometheus/index.vue +39 -45
  24. package/chart/rancher-backup/S3.vue +11 -9
  25. package/chart/rancher-backup/index.vue +18 -15
  26. package/cloud-credential/__tests__/harvester.test.ts +18 -0
  27. package/cloud-credential/azure.vue +4 -17
  28. package/cloud-credential/generic.vue +18 -9
  29. package/cloud-credential/harvester.vue +11 -3
  30. package/components/AlertTable.vue +17 -7
  31. package/components/AppModal.vue +167 -0
  32. package/components/AssignTo.vue +7 -4
  33. package/components/AsyncButton.vue +27 -5
  34. package/components/BackLink.vue +4 -4
  35. package/components/BannerGraphic.vue +1 -0
  36. package/components/BrandImage.vue +47 -1
  37. package/components/Carousel.vue +15 -8
  38. package/components/Certificates.vue +161 -0
  39. package/components/ClusterBadge.vue +12 -3
  40. package/components/ClusterIconMenu.vue +55 -12
  41. package/components/ClusterProviderIcon.vue +14 -3
  42. package/components/CodeMirror.vue +111 -17
  43. package/components/CommunityLinks.vue +12 -8
  44. package/components/CopyCode.vue +6 -2
  45. package/components/CopyToClipboard.vue +2 -1
  46. package/components/CopyToClipboardText.vue +14 -9
  47. package/components/CreateDriver.vue +81 -0
  48. package/components/CruResource.vue +52 -27
  49. package/components/DetailTop.vue +2 -2
  50. package/components/Dialog.vue +6 -5
  51. package/components/DisableAuthProviderModal.vue +14 -8
  52. package/components/DraggableZone.vue +2 -2
  53. package/components/EtcdInfoBanner.vue +5 -5
  54. package/components/ExplorerMembers.vue +3 -3
  55. package/components/ExplorerProjectsNamespaces.vue +31 -7
  56. package/components/FixedBanner.vue +48 -36
  57. package/components/GlobalRoleBindings.vue +26 -0
  58. package/components/GrafanaDashboard.vue +6 -4
  59. package/components/IconOrSvg.vue +1 -1
  60. package/components/Import.vue +10 -6
  61. package/components/Inactivity.vue +1 -5
  62. package/components/KeyValueView.vue +14 -10
  63. package/components/Markdown.vue +16 -12
  64. package/components/MessageLink.vue +2 -2
  65. package/components/ModalWithCard.vue +5 -8
  66. package/components/MoveModal.vue +35 -33
  67. package/components/PodSecurityAdmission.vue +3 -3
  68. package/components/PromptChangePassword.vue +33 -33
  69. package/components/PromptModal.vue +11 -21
  70. package/components/PromptRemove.vue +12 -17
  71. package/components/PromptRestore.vue +18 -16
  72. package/components/Questions/__tests__/Boolean.test.ts +9 -19
  73. package/components/Questions/__tests__/Float.test.ts +9 -19
  74. package/components/Questions/__tests__/Int.test.ts +9 -19
  75. package/components/Questions/__tests__/String.test.ts +9 -19
  76. package/components/Questions/__tests__/Yaml.test.ts +9 -20
  77. package/components/Questions/__tests__/utils/questions-defaults.ts +20 -0
  78. package/components/Questions/index.vue +19 -3
  79. package/components/ResourceCancelModal.vue +34 -29
  80. package/components/ResourceDetail/Masthead.vue +48 -16
  81. package/components/ResourceDetail/index.vue +6 -4
  82. package/components/ResourceList/Masthead.vue +10 -9
  83. package/components/ResourceList/index.vue +65 -14
  84. package/components/ResourceTable.vue +87 -21
  85. package/components/ResourceYaml.vue +35 -5
  86. package/components/SelectIconGrid.vue +3 -3
  87. package/components/SideNav.vue +50 -94
  88. package/components/SingleClusterInfo.vue +4 -4
  89. package/components/SortableTable/THead.vue +33 -21
  90. package/components/SortableTable/filtering.js +9 -1
  91. package/components/SortableTable/grouping.js +8 -1
  92. package/components/SortableTable/index.vue +143 -44
  93. package/components/SortableTable/paging.js +36 -7
  94. package/components/SortableTable/selection.js +2 -1
  95. package/components/SortableTable/sorting.js +24 -7
  96. package/components/StatusTable.vue +5 -1
  97. package/components/Tabbed/index.vue +18 -1
  98. package/components/TableDataUserIcon.vue +47 -0
  99. package/components/TypeDescription.vue +1 -0
  100. package/components/Wizard.vue +1 -0
  101. package/components/YamlEditor.vue +1 -0
  102. package/components/__tests__/AppModal.test.ts +98 -0
  103. package/components/__tests__/AsyncButton.test.ts +1 -3
  104. package/components/__tests__/BackLink.test.ts +1 -1
  105. package/components/__tests__/ButtonGroup.test.ts +3 -6
  106. package/components/__tests__/Carousel.test.ts +43 -0
  107. package/components/__tests__/Certificates.test.ts +29 -0
  108. package/components/__tests__/CodeMirror.test.ts +87 -0
  109. package/components/__tests__/CopyCode.test.ts +5 -4
  110. package/components/__tests__/CruResource.test.ts +10 -9
  111. package/components/__tests__/EtcdInfoBanner.test.ts +37 -0
  112. package/components/__tests__/FixedBanner.test.ts +5 -20
  113. package/components/__tests__/NamespaceFilter.test.ts +9 -18
  114. package/components/__tests__/TabTitle.test.ts +129 -0
  115. package/components/auth/AzureWarning.vue +2 -2
  116. package/components/auth/RoleDetailEdit.vue +10 -0
  117. package/components/auth/__tests__/RoleDetailEdit.test.ts +3 -2
  118. package/components/auth/login/oidc.vue +7 -1
  119. package/components/fleet/FleetBundles.vue +5 -11
  120. package/components/fleet/FleetClusters.vue +9 -9
  121. package/components/fleet/FleetIntro.vue +11 -17
  122. package/components/fleet/FleetNoWorkspaces.vue +2 -2
  123. package/components/fleet/FleetRepos.vue +63 -27
  124. package/components/fleet/FleetResources.vue +6 -1
  125. package/components/fleet/FleetStatus.vue +3 -3
  126. package/components/fleet/FleetSummary.vue +35 -30
  127. package/components/fleet/ForceDirectedTreeChart/index.vue +9 -3
  128. package/components/fleet/__tests__/FleetSummary.test.ts +316 -0
  129. package/components/form/ArrayList.vue +22 -18
  130. package/components/form/ArrayListSelect.vue +5 -0
  131. package/components/form/BannerSettings.vue +3 -0
  132. package/components/form/ClusterAppearance.vue +132 -0
  133. package/components/form/ColorInput.vue +1 -0
  134. package/components/form/Error.vue +3 -3
  135. package/components/form/FileSelector.vue +1 -0
  136. package/components/form/Footer.vue +2 -2
  137. package/components/form/GitPicker.vue +83 -38
  138. package/components/form/KeyValue.vue +70 -48
  139. package/components/form/LabeledSelect.vue +145 -41
  140. package/components/form/Labels.vue +3 -1
  141. package/components/form/NameNsDescription.vue +26 -9
  142. package/components/form/Password.vue +3 -1
  143. package/components/form/ResourceLabeledSelect.vue +187 -0
  144. package/components/form/ResourceTabs/index.vue +31 -15
  145. package/components/form/SecretSelector.vue +93 -18
  146. package/components/form/SelectOrCreateAuthSecret.vue +132 -59
  147. package/components/form/SimpleSecretSelector.vue +88 -28
  148. package/components/form/Taints.vue +13 -7
  149. package/components/form/__tests__/BannerSettings.test.ts +53 -0
  150. package/components/form/__tests__/KeyValue.test.ts +120 -11
  151. package/components/form/__tests__/LabeledSelect.test.ts +0 -18
  152. package/components/form/__tests__/{NameNsDescription.ts → NameNsDescription.test.ts} +25 -15
  153. package/components/form/__tests__/Taints.test.ts +70 -0
  154. package/components/form/labeled-select-utils/labeled-select-pagination.ts +151 -0
  155. package/components/form/labeled-select-utils/labeled-select.utils.ts +122 -0
  156. package/components/formatter/AppSummaryGraph.vue +2 -2
  157. package/components/formatter/Checked.vue +11 -3
  158. package/components/formatter/CloudCredPublicData.vue +30 -0
  159. package/components/formatter/ClusterLink.vue +2 -2
  160. package/components/formatter/ClusterProvider.vue +1 -18
  161. package/components/formatter/FleetClusterSummaryGraph.vue +27 -0
  162. package/components/formatter/FleetSummaryGraph.vue +25 -12
  163. package/components/formatter/ImagePercentageBar.vue +0 -4
  164. package/components/formatter/IngressTarget.vue +18 -7
  165. package/components/formatter/Link.vue +2 -2
  166. package/components/formatter/LinkDetail.vue +2 -2
  167. package/components/formatter/LinkDetailImage.vue +2 -2
  168. package/components/formatter/LinkName.vue +2 -2
  169. package/components/formatter/LiveDuration.vue +1 -1
  170. package/components/formatter/PercentageBar.vue +1 -1
  171. package/components/formatter/PrincipalGroupBindings.vue +2 -2
  172. package/components/formatter/SecretType.vue +2 -2
  173. package/components/formatter/VirtualServiceGateways.vue +2 -2
  174. package/components/formatter/WorkloadDetailEndpoints.vue +12 -22
  175. package/components/formatter/__tests__/Checked.test.ts +19 -0
  176. package/components/formatter/__tests__/LinkDetail.test.ts +5 -5
  177. package/components/formatter/__tests__/WorkloadDetailEndpoints.test.ts +81 -0
  178. package/components/nav/Group.vue +9 -7
  179. package/components/nav/Header.vue +85 -46
  180. package/components/nav/Jump.vue +19 -9
  181. package/components/nav/NamespaceFilter.vue +8 -1
  182. package/components/nav/TopLevelMenu.vue +392 -136
  183. package/components/nav/Type.vue +71 -106
  184. package/components/nav/WindowManager/ContainerLogs.vue +120 -19
  185. package/components/nav/WindowManager/ContainerShell.vue +6 -1
  186. package/components/nav/WindowManager/__tests__/ContainerLogs.test.ts +186 -0
  187. package/components/nav/WindowManager/index.vue +11 -10
  188. package/components/nav/__tests__/TopLevelMenu.test.ts +400 -6
  189. package/components/nav/__tests__/Type.test.ts +322 -97
  190. package/components/nuxt/nuxt-child.js +9 -78
  191. package/components/nuxt/nuxt-error.vue +1 -1
  192. package/components/nuxt/nuxt-link.client.js +13 -95
  193. package/{layouts → components/templates}/blank.vue +1 -1
  194. package/{layouts → components/templates}/default.vue +11 -101
  195. package/{layouts → components/templates}/error.vue +13 -26
  196. package/{layouts → components/templates}/home.vue +4 -1
  197. package/{layouts → components/templates}/plain.vue +4 -1
  198. package/{layouts → components/templates}/standalone.vue +1 -5
  199. package/{layouts → components/templates}/unauthenticated.vue +2 -3
  200. package/composables/useCompactInput.test.ts +36 -0
  201. package/composables/useCompactInput.ts +20 -0
  202. package/composables/useLabeledFormElement.test.ts +135 -0
  203. package/composables/useLabeledFormElement.ts +138 -0
  204. package/config/harvester-manager-types.js +2 -0
  205. package/config/home-links.js +2 -1
  206. package/config/labels-annotations.js +2 -1
  207. package/config/middleware.js +0 -6
  208. package/config/pagination-table-headers.js +57 -0
  209. package/config/pod-security-admission.ts +1 -1
  210. package/config/private-label.js +21 -1
  211. package/config/product/auth.js +1 -0
  212. package/config/product/explorer.js +166 -45
  213. package/config/product/fleet.js +6 -1
  214. package/config/product/legacy.js +2 -11
  215. package/config/product/manager.js +51 -25
  216. package/config/query-params.js +2 -0
  217. package/config/roles.ts +23 -0
  218. package/config/router/index.js +23 -0
  219. package/config/router/navigation-guards/attempt-first-login.js +73 -0
  220. package/config/router/navigation-guards/authentication.js +63 -0
  221. package/config/router/navigation-guards/i18n.js +13 -0
  222. package/config/router/navigation-guards/index.js +16 -0
  223. package/config/router/navigation-guards/load-initial-settings.js +15 -0
  224. package/config/router/routes.js +487 -0
  225. package/config/settings.ts +31 -2
  226. package/config/store.js +8 -4
  227. package/config/system-namespaces.js +3 -0
  228. package/config/table-headers.js +66 -1
  229. package/config/types.js +35 -20
  230. package/config/uiplugins.js +10 -5
  231. package/core/plugin-helpers.js +4 -6
  232. package/core/plugin-routes.ts +56 -114
  233. package/core/plugin.ts +18 -11
  234. package/core/plugins-loader.js +7 -9
  235. package/core/plugins.js +289 -285
  236. package/core/types-provisioning.ts +7 -0
  237. package/creators/app/app.package.json +2 -1
  238. package/creators/app/files/.eslintignore +0 -2
  239. package/creators/app/files/.gitlab-ci.yml +14 -0
  240. package/creators/app/files/.vscode/settings.json +0 -1
  241. package/creators/app/init +19 -0
  242. package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +2 -6
  243. package/creators/pkg/files/.github/workflows/build-extension-charts.yml +2 -6
  244. package/creators/pkg/init +32 -0
  245. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +119 -0
  246. package/detail/__tests__/service.test.ts +62 -0
  247. package/detail/catalog.cattle.io.app.vue +1 -1
  248. package/detail/cis.cattle.io.clusterscan.vue +14 -3
  249. package/detail/fleet.cattle.io.bundle.vue +1 -1
  250. package/detail/fleet.cattle.io.cluster.vue +11 -1
  251. package/detail/fleet.cattle.io.gitrepo.vue +15 -9
  252. package/detail/namespace.vue +2 -2
  253. package/detail/networking.k8s.io.ingress.vue +52 -19
  254. package/detail/node.vue +22 -3
  255. package/detail/provisioning.cattle.io.cluster.vue +31 -13
  256. package/detail/service.vue +1 -1
  257. package/detail/workload/index.vue +1 -0
  258. package/dialog/AddCustomBadgeDialog.vue +318 -161
  259. package/dialog/DeactivateDriverDialog.vue +137 -0
  260. package/dialog/RollbackWorkloadDialog.vue +2 -2
  261. package/dialog/RotateCertificatesDialog.vue +0 -21
  262. package/dialog/ScaleMachineDownDialog.vue +34 -17
  263. package/directives/clean-html.js +15 -0
  264. package/directives/clean-tooltip.js +32 -0
  265. package/directives/focus.js +41 -0
  266. package/directives/int-number.js +21 -0
  267. package/directives/positive-int-number.js +19 -0
  268. package/directives/trim-whitespace.js +19 -0
  269. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +3 -2
  270. package/edit/__tests__/kontainerDriver.test.ts +107 -0
  271. package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +12 -1
  272. package/edit/__tests__/management.cattle.io.setting.test.ts +2 -1
  273. package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +2 -3
  274. package/edit/__tests__/nodeDriver.test.ts +107 -0
  275. package/edit/__tests__/service.test.ts +85 -0
  276. package/edit/__tests__/ui.cattle.io.navlink.test.ts +3 -1
  277. package/edit/auth/AuthProviderWarningBanners.vue +34 -0
  278. package/edit/auth/__tests__/AuthProviderWarningBanners.test.ts +19 -0
  279. package/edit/auth/__tests__/azuread.test.ts +241 -0
  280. package/edit/auth/__tests__/oidc.test.ts +137 -0
  281. package/edit/auth/azuread.vue +133 -31
  282. package/edit/auth/github.vue +5 -17
  283. package/edit/auth/googleoauth.vue +6 -23
  284. package/edit/auth/ldap/index.vue +5 -17
  285. package/edit/auth/oidc.vue +143 -42
  286. package/edit/auth/saml.vue +5 -14
  287. package/edit/catalog.cattle.io.clusterrepo.vue +177 -9
  288. package/edit/cis.cattle.io.clusterscan.vue +5 -2
  289. package/edit/cis.cattle.io.clusterscanbenchmark.vue +41 -9
  290. package/edit/cloudcredential.vue +28 -4
  291. package/edit/configmap.vue +10 -4
  292. package/edit/fleet.cattle.io.gitrepo.vue +3 -1
  293. package/edit/helm.cattle.io.projecthelmchart.vue +29 -19
  294. package/edit/kontainerDriver.vue +65 -0
  295. package/edit/logging-flow/Match.vue +10 -9
  296. package/edit/logging-flow/index.vue +4 -19
  297. package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +232 -2
  298. package/edit/logging.banzaicloud.io.output/index.vue +43 -26
  299. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +3 -3
  300. package/edit/management.cattle.io.project.vue +3 -53
  301. package/edit/management.cattle.io.setting.vue +52 -2
  302. package/edit/management.cattle.io.user.vue +2 -1
  303. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +10 -7
  304. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +21 -16
  305. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +1 -1
  306. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +2 -2
  307. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +1 -1
  308. package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +15 -3
  309. package/edit/monitoring.coreos.com.prometheusrule/GroupRules.vue +4 -1
  310. package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +2 -0
  311. package/edit/monitoring.coreos.com.prometheusrule/index.vue +2 -0
  312. package/edit/networking.k8s.io.ingress/Rules.vue +8 -3
  313. package/edit/networking.k8s.io.ingress/index.vue +64 -8
  314. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +1 -0
  315. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +6 -2
  316. package/edit/networking.k8s.io.networkpolicy/__tests__/{PolicyRuleTarget.spec.ts → PolicyRuleTarget.test.ts} +46 -7
  317. package/edit/networking.k8s.io.networkpolicy/__tests__/utils/{selectors.ts → selectors.test.ts} +1 -1
  318. package/edit/networking.k8s.io.networkpolicy/index.vue +2 -0
  319. package/edit/nodeDriver.vue +65 -0
  320. package/edit/persistentvolume/index.vue +2 -2
  321. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +33 -16
  322. package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +276 -0
  323. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.test.ts +473 -0
  324. package/edit/provisioning.cattle.io.cluster/__tests__/{CustomCommand.tests.ts → CustomCommand.test.ts} +3 -0
  325. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +228 -0
  326. package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +1 -1
  327. package/edit/provisioning.cattle.io.cluster/__tests__/index.test.ts +73 -0
  328. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +77 -13
  329. package/edit/provisioning.cattle.io.cluster/__tests__/utils/cluster.ts +391 -0
  330. package/edit/provisioning.cattle.io.cluster/import.vue +4 -4
  331. package/edit/provisioning.cattle.io.cluster/index.vue +126 -51
  332. package/edit/provisioning.cattle.io.cluster/rke2.vue +325 -791
  333. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +137 -0
  334. package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +217 -0
  335. package/edit/provisioning.cattle.io.cluster/{Basics.vue → tabs/Basics.vue} +123 -129
  336. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +132 -0
  337. package/edit/provisioning.cattle.io.cluster/{MachinePool.vue → tabs/MachinePool.vue} +1 -0
  338. package/edit/provisioning.cattle.io.cluster/{S3Config.vue → tabs/etcd/S3Config.vue} +1 -0
  339. package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +135 -0
  340. package/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue +190 -0
  341. package/edit/provisioning.cattle.io.cluster/{RegistryConfigs.vue → tabs/registries/RegistryConfigs.vue} +3 -0
  342. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +148 -0
  343. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/index.vue +76 -0
  344. package/edit/resources.cattle.io.backup.vue +139 -124
  345. package/edit/resources.cattle.io.restore.vue +146 -126
  346. package/edit/service.vue +13 -0
  347. package/edit/serviceaccount.vue +46 -4
  348. package/edit/token.vue +3 -1
  349. package/edit/workload/Upgrading.vue +3 -2
  350. package/edit/workload/__tests__/Job.test.ts +1 -3
  351. package/edit/workload/__tests__/Upgrading.test.ts +2 -2
  352. package/edit/workload/index.vue +2 -1
  353. package/edit/workload/mixins/workload.js +35 -2
  354. package/edit/workload/storage/emptyDir.vue +2 -2
  355. package/initialize/App.vue +75 -0
  356. package/initialize/app-extended.js +128 -0
  357. package/initialize/entry-helpers.js +546 -0
  358. package/initialize/entry.js +32 -0
  359. package/initialize/install-components.js +23 -0
  360. package/initialize/install-directives.js +59 -0
  361. package/initialize/install-plugins.js +123 -0
  362. package/list/__tests__/workload.test.ts +1 -1
  363. package/list/catalog.cattle.io.app.vue +1 -0
  364. package/list/cis.cattle.io.clusterscan.vue +16 -10
  365. package/list/group.principal.vue +2 -2
  366. package/list/management.cattle.io.feature.vue +16 -16
  367. package/list/management.cattle.io.setting.vue +1 -0
  368. package/list/management.cattle.io.user.vue +13 -4
  369. package/list/networking.k8s.io.ingress.vue +36 -0
  370. package/list/node.vue +212 -73
  371. package/list/provisioning.cattle.io.cluster.vue +17 -4
  372. package/list/ui.cattle.io.navlink.vue +2 -2
  373. package/list/workload.vue +22 -0
  374. package/machine-config/__tests__/vmwarevsphere-pool-config-merge.test.ts +30 -0
  375. package/machine-config/__tests__/vmwarevsphere.test.ts +1 -3
  376. package/machine-config/amazonec2.vue +1 -1
  377. package/machine-config/azure.vue +2 -1
  378. package/machine-config/generic.vue +11 -15
  379. package/machine-config/vmwarevsphere-pool-config-merge.ts +25 -0
  380. package/machine-config/vmwarevsphere.vue +31 -27
  381. package/middleware/authenticated.js +23 -399
  382. package/mixins/__tests__/chart.test.ts +48 -6
  383. package/mixins/__tests__/create-edit-view.test.ts +2 -3
  384. package/mixins/auth-config.js +5 -9
  385. package/mixins/brand.js +102 -96
  386. package/mixins/chart.js +27 -13
  387. package/mixins/create-edit-view/index.js +2 -2
  388. package/mixins/fetch.client.js +42 -48
  389. package/mixins/labeled-form-element.ts +27 -2
  390. package/mixins/page-actions.js +7 -5
  391. package/mixins/resource-fetch-api-pagination.js +304 -0
  392. package/mixins/resource-fetch-namespaced.js +1 -1
  393. package/mixins/resource-fetch.js +46 -5
  394. package/models/__tests__/cluster.test.ts +44 -0
  395. package/models/__tests__/fleet.cattle.io.cluster.test.ts +36 -0
  396. package/models/__tests__/management.cattle.io.cluster.test.ts +23 -0
  397. package/models/__tests__/management.cattle.io.node.ts +85 -0
  398. package/models/__tests__/management.cattle.io.nodepool.ts +83 -0
  399. package/models/__tests__/namespace.test.ts +49 -9
  400. package/models/__tests__/provisioning.cattle.io.cluster.test.ts +241 -0
  401. package/models/__tests__/schema.tests.ts +24 -0
  402. package/models/__tests__/secret.test.ts +37 -0
  403. package/models/__tests__/steve-schema.test.ts +73 -0
  404. package/models/__tests__/storage.k8s.io.storageclass.test.ts +22 -0
  405. package/models/__tests__/workload.test.ts +91 -0
  406. package/models/catalog.cattle.io.app.js +8 -0
  407. package/models/catalog.cattle.io.clusterrepo.js +9 -1
  408. package/models/catalog.cattle.io.uiplugin.js +7 -8
  409. package/models/cis.cattle.io.clusterscan.js +29 -8
  410. package/models/cloudcredential.js +9 -1
  411. package/models/cluster/node.js +8 -4
  412. package/models/cluster/schema.js +6 -0
  413. package/models/cluster.js +33 -0
  414. package/models/cluster.x-k8s.io.machine.js +1 -1
  415. package/models/cluster.x-k8s.io.machinedeployment.js +14 -0
  416. package/models/driver.js +63 -0
  417. package/models/fleet.cattle.io.cluster.js +27 -11
  418. package/models/fleet.cattle.io.gitrepo.js +66 -13
  419. package/models/helm.cattle.io.projecthelmchart.js +1 -1
  420. package/models/kontainerdriver.js +85 -0
  421. package/models/management/schema.js +6 -0
  422. package/models/management.cattle.io.authconfig.js +3 -2
  423. package/models/management.cattle.io.cluster.js +16 -7
  424. package/models/management.cattle.io.globalrole.js +2 -0
  425. package/models/management.cattle.io.kontainerdriver.js +1 -0
  426. package/models/management.cattle.io.node.js +18 -14
  427. package/models/management.cattle.io.nodepool.js +17 -0
  428. package/models/management.cattle.io.project.js +0 -36
  429. package/models/management.cattle.io.setting.js +11 -7
  430. package/models/management.cattle.io.user.js +2 -2
  431. package/models/monitoring.coreos.com.receiver.js +3 -1
  432. package/models/monitoring.coreos.com.route.js +1 -1
  433. package/models/namespace.js +1 -1
  434. package/models/networking.k8s.io.ingress.js +2 -1
  435. package/models/nodedriver.js +85 -0
  436. package/models/pod.js +20 -0
  437. package/models/provisioning.cattle.io.cluster.js +125 -10
  438. package/models/schema.js +28 -7
  439. package/models/secret.js +126 -18
  440. package/models/service.js +2 -0
  441. package/models/steve-schema.ts +254 -0
  442. package/models/storage.k8s.io.storageclass.js +1 -1
  443. package/models/workload.js +17 -0
  444. package/models/workload.service.js +18 -0
  445. package/package.json +18 -14
  446. package/pages/about.vue +12 -6
  447. package/pages/account/create-key.vue +0 -1
  448. package/pages/account/index.vue +7 -3
  449. package/pages/auth/login.vue +106 -103
  450. package/pages/auth/logout.vue +2 -4
  451. package/pages/auth/setup.vue +92 -66
  452. package/pages/auth/verify.vue +30 -24
  453. package/pages/c/_cluster/apps/charts/__tests__/install.helper.test.ts +2 -17
  454. package/pages/c/_cluster/apps/charts/chart.vue +54 -9
  455. package/pages/c/_cluster/apps/charts/index.vue +99 -69
  456. package/pages/c/_cluster/apps/charts/install.helpers.js +2 -13
  457. package/pages/c/_cluster/apps/charts/install.vue +12 -11
  458. package/pages/c/_cluster/auth/config/_id.vue +0 -6
  459. package/pages/c/_cluster/auth/config/index.vue +15 -9
  460. package/pages/c/_cluster/auth/roles/index.vue +8 -10
  461. package/pages/c/_cluster/ecm/index.vue +0 -2
  462. package/pages/c/_cluster/explorer/ConfigBadge.vue +13 -8
  463. package/pages/c/_cluster/explorer/EventsTable.vue +18 -0
  464. package/pages/c/_cluster/explorer/__tests__/index.test.ts +181 -0
  465. package/pages/c/_cluster/explorer/index.vue +253 -91
  466. package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +69 -0
  467. package/pages/c/_cluster/explorer/tools/index.vue +10 -6
  468. package/pages/c/_cluster/fleet/index.vue +89 -94
  469. package/pages/c/_cluster/longhorn/__tests__/longhorn.index.test.ts +89 -0
  470. package/pages/c/_cluster/longhorn/index.vue +52 -17
  471. package/pages/c/_cluster/manager/cloudCredential/index.vue +18 -25
  472. package/pages/c/_cluster/manager/drivers/kontainerDriver/_id.vue +12 -0
  473. package/pages/c/_cluster/manager/drivers/kontainerDriver/create.vue +15 -0
  474. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +91 -0
  475. package/pages/c/_cluster/manager/drivers/nodeDriver/_id.vue +12 -0
  476. package/pages/c/_cluster/manager/drivers/nodeDriver/create.vue +15 -0
  477. package/pages/c/_cluster/manager/drivers/nodeDriver/index.vue +60 -0
  478. package/pages/c/_cluster/manager/jwt.authentication/index.vue +235 -0
  479. package/pages/c/_cluster/manager/pages/_page.vue +4 -5
  480. package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +4 -0
  481. package/pages/c/_cluster/monitoring/route-receiver/index.vue +2 -2
  482. package/pages/c/_cluster/neuvector/index.vue +1 -0
  483. package/pages/c/_cluster/settings/DefaultLinksEditor.vue +1 -0
  484. package/pages/c/_cluster/settings/banners.vue +86 -10
  485. package/pages/c/_cluster/settings/brand.vue +261 -38
  486. package/pages/c/_cluster/settings/index.vue +4 -6
  487. package/pages/c/_cluster/settings/links.vue +3 -2
  488. package/pages/c/_cluster/settings/performance.vue +71 -3
  489. package/pages/c/_cluster/uiplugins/AddExtensionRepos.vue +5 -2
  490. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +12 -8
  491. package/pages/c/_cluster/uiplugins/CatalogList/CatalogUninstallDialog.vue +9 -6
  492. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +10 -46
  493. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +11 -5
  494. package/pages/c/_cluster/uiplugins/InstallDialog.vue +55 -19
  495. package/pages/c/_cluster/uiplugins/SetupUIPlugins.vue +36 -301
  496. package/pages/c/_cluster/uiplugins/UninstallDialog.vue +14 -6
  497. package/pages/c/_cluster/uiplugins/__tests__/SetupUIPlugins.test.ts +52 -106
  498. package/pages/c/_cluster/uiplugins/index.vue +38 -54
  499. package/pages/diagnostic.vue +2 -2
  500. package/pages/fail-whale.vue +103 -42
  501. package/pages/home.vue +81 -24
  502. package/pages/prefs.vue +8 -4
  503. package/pages/support/index.vue +14 -10
  504. package/pkg/auto-import.js +1 -1
  505. package/plugins/axios.js +0 -36
  506. package/plugins/back-button.js +3 -5
  507. package/plugins/clean-html-directive.js +5 -30
  508. package/plugins/clean-html.js +53 -0
  509. package/plugins/clean-tooltip-directive.js +6 -31
  510. package/plugins/codemirror-loader.js +1 -1
  511. package/plugins/codemirror.js +41 -9
  512. package/plugins/dashboard-store/__tests__/mutations.test.ts +389 -0
  513. package/plugins/dashboard-store/__tests__/resource-class.test.ts +49 -0
  514. package/plugins/dashboard-store/__tests__/utils/store-mocks.ts +7 -0
  515. package/plugins/dashboard-store/actions.js +132 -25
  516. package/plugins/dashboard-store/classify.js +1 -18
  517. package/plugins/dashboard-store/getters.js +154 -44
  518. package/plugins/dashboard-store/index.js +0 -111
  519. package/plugins/dashboard-store/mutations.js +150 -52
  520. package/plugins/dashboard-store/resource-class.js +77 -127
  521. package/plugins/directives.js +6 -39
  522. package/plugins/ember-cookie.js +13 -0
  523. package/plugins/global-formatters.js +26 -5
  524. package/plugins/i18n.js +89 -55
  525. package/plugins/int-number.js +6 -20
  526. package/plugins/plugin.js +3 -3
  527. package/plugins/positive-int-number.js +6 -17
  528. package/plugins/steve/__tests__/{getters.spec.ts → getters.test.ts} +81 -10
  529. package/plugins/steve/__tests__/mutations.test.ts +49 -0
  530. package/plugins/steve/__tests__/resource-utils.test.ts +159 -0
  531. package/plugins/steve/__tests__/steve-class.test.ts +59 -0
  532. package/plugins/steve/__tests__/subscribe.spec.ts +4 -1
  533. package/plugins/steve/__tests__/utils/mutation.test.helpers.ts +105 -0
  534. package/plugins/steve/__tests__/utils/steve-mocks.ts +31 -0
  535. package/plugins/steve/accept-or-reject-socket-message.ts +103 -0
  536. package/plugins/steve/actions.js +3 -38
  537. package/plugins/steve/getters.js +164 -61
  538. package/plugins/steve/hybrid-class.js +5 -1
  539. package/plugins/steve/mutations.js +24 -3
  540. package/plugins/steve/norman-class.js +142 -2
  541. package/{utils → plugins/steve}/projectAndNamespaceFiltering.utils.ts +28 -10
  542. package/plugins/steve/resource-utils.ts +38 -0
  543. package/plugins/steve/schema.d.ts +22 -0
  544. package/plugins/steve/steve-class.js +22 -0
  545. package/plugins/steve/steve-pagination-utils.ts +368 -0
  546. package/plugins/steve/subscribe.js +17 -76
  547. package/plugins/trim-whitespace.js +6 -34
  548. package/plugins/vue-js-modal.js +1 -1
  549. package/promptRemove/pod.vue +15 -7
  550. package/public/index.html +1 -0
  551. package/rancher-components/Accordion/Accordion.test.ts +45 -0
  552. package/rancher-components/Accordion/Accordion.vue +86 -0
  553. package/rancher-components/Accordion/index.ts +1 -0
  554. package/rancher-components/BadgeState/BadgeState.vue +3 -3
  555. package/rancher-components/Banner/Banner.test.ts +1 -5
  556. package/rancher-components/Banner/Banner.vue +2 -2
  557. package/rancher-components/Card/Card.vue +4 -4
  558. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -3
  559. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +18 -1
  560. package/rancher-components/Form/LabeledInput/LabeledInput.vue +57 -24
  561. package/rancher-components/Form/Radio/RadioButton.test.ts +1 -3
  562. package/rancher-components/Form/Radio/RadioButton.vue +13 -7
  563. package/rancher-components/Form/Radio/RadioGroup.vue +4 -3
  564. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +6 -4
  565. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +7 -4
  566. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +9 -4
  567. package/rancher-components/StringList/StringList.test.ts +270 -0
  568. package/rancher-components/StringList/StringList.vue +65 -26
  569. package/scripts/.gitlab/workflows/build-extension-catalog.gitlab-ci.yml +69 -0
  570. package/scripts/clean +1 -1
  571. package/scripts/extension/bundle +19 -7
  572. package/scripts/extension/helm/charts/ui-plugin-server/templates/_helpers.tpl +11 -0
  573. package/scripts/extension/helm/charts/ui-plugin-server/templates/cr.yaml +2 -0
  574. package/scripts/extension/helm/charts/ui-plugin-server/values.yaml +2 -0
  575. package/scripts/extension/helm/package/Dockerfile +1 -1
  576. package/scripts/extension/helm/scripts/package +11 -3
  577. package/scripts/extension/helm/scripts/patch +27 -0
  578. package/scripts/extension/parse-tag-name +4 -4
  579. package/scripts/extension/publish +25 -14
  580. package/scripts/publish-shell.sh +11 -1
  581. package/scripts/serve-pkgs +0 -2
  582. package/scripts/test-plugins-build.sh +87 -11
  583. package/scripts/vue-migrate.js +683 -0
  584. package/server/har-file.js +183 -0
  585. package/store/__tests__/catalog.test.ts +224 -0
  586. package/store/__tests__/type-map.test.ts +1122 -0
  587. package/store/auth.js +23 -4
  588. package/store/aws.js +53 -6
  589. package/store/catalog.js +22 -6
  590. package/store/cru-resource.ts +26 -0
  591. package/store/customisation.js +35 -0
  592. package/store/features.js +7 -4
  593. package/store/i18n.js +11 -0
  594. package/store/index.js +140 -49
  595. package/store/plugins.js +8 -4
  596. package/store/prefs.js +33 -38
  597. package/store/type-map.js +288 -213
  598. package/store/type-map.utils.ts +226 -0
  599. package/tsconfig.json +34 -9
  600. package/tsconfig.paths.json +21 -0
  601. package/types/components/labeledSelect.ts +50 -0
  602. package/types/resources/settings.d.ts +32 -0
  603. package/types/{userPreferences.d.ts → resources/userPreferences.d.ts} +0 -1
  604. package/types/shell/index.d.ts +1045 -770
  605. package/types/store/dashboard-store.types.ts +42 -0
  606. package/types/store/pagination.types.ts +457 -0
  607. package/types/store/type-map.ts +30 -0
  608. package/types/store/vuex.d.ts +9 -0
  609. package/types/vue-shim.d.ts +51 -0
  610. package/utils/__tests__/cluster.test.ts +20 -18
  611. package/utils/__tests__/create-yaml.test.ts +359 -2
  612. package/utils/__tests__/kontainer.test.ts +180 -0
  613. package/utils/__tests__/pod-security-admission.test.ts +1 -1
  614. package/utils/alertmanagerconfig.js +19 -0
  615. package/utils/array.ts +40 -1
  616. package/utils/async.ts +2 -0
  617. package/utils/auth.js +152 -4
  618. package/utils/axios.js +2 -21
  619. package/utils/azure.js +24 -0
  620. package/utils/banners.js +103 -0
  621. package/utils/clipboard.js +5 -0
  622. package/utils/cluster.js +1 -1
  623. package/utils/config.js +4 -0
  624. package/utils/create-yaml.js +59 -28
  625. package/utils/custom-validators.js +0 -2
  626. package/utils/error.js +41 -1
  627. package/utils/formatter.js +5 -3
  628. package/utils/git.ts +1 -1
  629. package/utils/install-redirect.js +1 -1
  630. package/utils/kontainer.ts +190 -0
  631. package/utils/object.js +24 -0
  632. package/utils/pagination-utils.ts +154 -0
  633. package/utils/pod-security-admission.ts +1 -1
  634. package/utils/router.js +86 -0
  635. package/utils/settings.ts +46 -0
  636. package/utils/time.js +2 -1
  637. package/utils/unit-tests/ChildRenderingRouterLinkStub.ts +36 -0
  638. package/utils/url.ts +1 -1
  639. package/utils/validators/formRules/__tests__/index.test.ts +70 -4
  640. package/utils/validators/formRules/index.ts +15 -9
  641. package/utils/validators/index.js +1 -0
  642. package/utils/validators/setting.js +6 -10
  643. package/utils/version.js +2 -1
  644. package/vue.config.js +377 -401
  645. package/.DS_Store +0 -0
  646. package/assets/images/providers/aks-black.svg +0 -28
  647. package/assets/images/providers/aks.svg +0 -31
  648. package/assets/styles/vendor/vue-js-modal.scss +0 -16
  649. package/components/ChartPsp.vue +0 -76
  650. package/components/EventsTable.vue +0 -67
  651. package/components/TabbedLinks/index.vue +0 -94
  652. package/components/__tests__/ChartPsp.test.ts +0 -75
  653. package/components/formatter/__tests__/ClusterProvider.test.ts +0 -28
  654. package/components/nuxt/nuxt-link.server.js +0 -16
  655. package/components/nuxt/nuxt.js +0 -101
  656. package/config/router.js +0 -408
  657. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts +0 -237
  658. package/initialize/App.js +0 -198
  659. package/initialize/client.js +0 -875
  660. package/initialize/index.js +0 -364
  661. package/initialize/layouts.ts +0 -26
  662. package/middleware/i18n.js +0 -10
  663. package/middleware/unauthenticated.js +0 -22
  664. package/mixins/fetch.server.js +0 -73
  665. package/pages/c/_cluster/apps/index.vue +0 -17
  666. package/pages/c/_cluster/auth/index.vue +0 -19
  667. package/pages/c/_cluster/index.vue +0 -17
  668. package/pages/c/_cluster/legacy/index.vue +0 -22
  669. package/pages/c/_cluster/manager/index.vue +0 -22
  670. package/pages/c/_cluster/mcapps/index.vue +0 -21
  671. package/pages/c/_cluster/uiplugins/RemoveUIPlugins.vue +0 -232
  672. package/pages/c/index.vue +0 -9
  673. package/pages/rio/mesh.vue +0 -508
  674. package/plugins/dashboard-store/__tests__/mutations.spec.ts +0 -406
  675. package/plugins/dashboard-store/rehydrate-all.js +0 -44
  676. package/plugins/portal-vue.js +0 -4
  677. package/plugins/portal.js +0 -4
  678. package/plugins/resize.js +0 -5
  679. package/plugins/shortkey.js +0 -4
  680. package/plugins/tooltip.js +0 -4
  681. package/plugins/transitions.js +0 -4
  682. package/plugins/v-select.js +0 -4
  683. package/plugins/vue-clipboard2.js +0 -4
  684. package/tsconfig.default.json +0 -46
  685. package/utils/group.js +0 -70
  686. package/utils/nuxt.js +0 -659
  687. package/utils/router.scrollBehavior.js +0 -80
  688. /package/components/__tests__/{Collapse.spec.ts → Collapse.test.ts} +0 -0
  689. /package/edit/provisioning.cattle.io.cluster/{AgentConfiguration.vue → tabs/AgentConfiguration.vue} +0 -0
  690. /package/edit/provisioning.cattle.io.cluster/{MemberRoles.vue → tabs/MemberRoles.vue} +0 -0
  691. /package/edit/provisioning.cattle.io.cluster/{ACE.vue → tabs/networking/ACE.vue} +0 -0
  692. /package/edit/provisioning.cattle.io.cluster/{RegistryMirrors.vue → tabs/registries/RegistryMirrors.vue} +0 -0
  693. /package/edit/provisioning.cattle.io.cluster/{DrainOptions.vue → tabs/upgrade/DrainOptions.vue} +0 -0
  694. /package/models/__tests__/{node.ts → node.test.ts} +0 -0
  695. /package/plugins/dashboard-store/__tests__/{actions.spec.ts → actions.test.ts} +0 -0
  696. /package/plugins/dashboard-store/__tests__/{getters.spec.ts → getters.test.ts} +0 -0
  697. /package/plugins/steve/__tests__/{header-warnings.spec.ts → header-warnings.test.ts} +0 -0
  698. /package/rancher-components/BadgeState/{BadgeState.spec.ts → BadgeState.test.ts} +0 -0
  699. /package/types/{pod-security-admission.ts → resources/pod-security-admission.ts} +0 -0
@@ -366,7 +366,6 @@ authConfig:
366
366
  unrestricted: 允许所有用户访问
367
367
  allowedPrincipalIds:
368
368
  title: 授权的用户和用户组
369
- associatedWarning: '注意:你认证的 {provider} 用户将作为你当前登录的 {vendor} 用户(<code>{username}</code>)的替代登录方式。此 {vendor} 用户的所有全局权限、项目和集群角色绑定也将应用到 {provider} 用户。'
370
369
  github:
371
370
  clientId:
372
371
  label: 客户端 ID
@@ -845,9 +844,6 @@ catalog:
845
844
  keywords: 关键词
846
845
  errors:
847
846
  clusterToolExists: 此 Chart 含有固定的命名空间和名称。找到一个匹配的 <a href="{url}">应用</a>,任何修改都将应用于此应用。
848
- banner:
849
- legacy: 'PSP 删除:在将集群升级到 Kubernetes 1.25+ 之前,请确保你针对 PSP 检查了 Helm 应用程序并相应进行更新'
850
- enablePSP: 启用 Pod 安全策略
851
847
  global: 全局
852
848
  charts:
853
849
  all: 全部
@@ -887,7 +883,7 @@ catalog:
887
883
  requiresFound: '在安装这个 Chart 前,你需要安装<a href="{url}">{name}</a>。'
888
884
  requiresMissing: '这个 Chart 另一个提供 {name} 的 Chart,但我们找不到这个Chart。'
889
885
  insufficientCpu: '这个 Chart 需要 {need, number} 个 CPU 核,但集群只有 {have, number} 个可用。'
890
- insufficientMemory: '这个 Cchart 需要 {need} 内存,但集群只有 {have} 可用。'
886
+ insufficientMemory: '这个 Chart 需要 {need} 内存,但集群只有 {have} 可用。'
891
887
  legacy:
892
888
  label: 这是个 {legacyType} 应用,无法在这里修改。
893
889
  enableLegacy:
@@ -1671,12 +1667,9 @@ cluster:
1671
1667
  banner:
1672
1668
  warning: '此集群包含此表单不完全支持的 machineSelectorConfig。使用 YAML 编辑器管理完整配置。'
1673
1669
  os: '你正在将 {newOS} worker 节点添加到具有一个或多个 {existingOS} worker 节点的集群。你可能需要升级或删除某些已安装的应用。'
1674
- rke2-k3-reprovisioning: '更改集群配置可能导致节点重新配置。详情请参见 <a target="blank" href="{docsBase}/cluster-provisioning/rke-clusters/behavior-differences-between-rke1-and-rke2/" target="_blank" rel="noopener nofollow">文档</a>。'
1670
+ rke2-k3-reprovisioning: '更改集群配置可能导致节点重新配置。详情请参见 <a target="blank" href="{docsBase}/how-to-guides/new-user-guides/launch-kubernetes-with-rancher/rke1-vs-rke2-differences#cluster-api" target="_blank" rel="noopener nofollow">文档</a>。'
1675
1671
  desiredNodeGroupWarning: 没有可用于运行 Cluster Agent 的节点。要让集群变为 Active 状态,至少需要有 1 个可用的节点。
1676
- invalidPsps: 你在此集群中有一个或多个 PSP 资源。Pod 安全策略在 Kubernetes v1.25 中不可用并将自动删除。
1677
1672
  haveArgInfo: 所选 Kubernetes 版本的配置信息不可用。此屏幕中可用的选项将受到限制,你可能需要使用 YAML 编辑器。
1678
- deprecatedPsp: Pod 安全策略自 Kubernetes v1.21 起已弃用,并已在 Kubernetes v1.25 中删除。
1679
- removedPsp: Pod 安全策略已在 Kubernetes v1.25 中删除,请改用 Pod Security Admission。
1680
1673
  rkeTemplateUpgrade: 模板修订版 {name} 可用于升级
1681
1674
 
1682
1675
  availabilityWarnings:
@@ -1835,10 +1828,6 @@ cluster:
1835
1828
  psaChange: PSACT 现在自动设置为 Rancher 默认值
1836
1829
  cisOverride: 更改此设置可能会影响集群安全,因为它会覆盖默认的 CIS 设置
1837
1830
  cisUnsupported: 所选 Kubernetes 版本不再支持 CIS 配置文件 “{cisProfile}”,请选择支持的配置文件。建议你查看<a href="https://docs.rke2.io/security/hardening_guide" target="_blank" rel="noopener noreferrer nofollow">文档</a>评估更改 CIS 配置文件的影响。
1838
- modal:
1839
- pspChange:
1840
- title: 弃用 Pod 安全策略
1841
- body: <p>从 v1.25 版开始,Kubernetes 已经取消了对 Pod 安全策略 (PSP) 的支持。如果你的集群通过集群 YAML 中的 “kube-apiserver-arg.enable-admission-plugins” 启用了 PodSecurityPolicy 准入控制器,你必须在继续升级之前<i>手动</i>删除它。此外,集群中存在的任何 PSP 将不再可用或强制执行。是否继续操作?</p>
1842
1831
  snapshots:
1843
1832
  suffix: 每个节点的快照
1844
1833
  systemService:
@@ -2090,7 +2079,7 @@ drainNode:
2090
2079
  etcdInfoBanner:
2091
2080
  hasLeader: "ETCD 有一个 Leader:"
2092
2081
  leaderChanges: "Leader 变化的次数:"
2093
- failedProposals: "失败的 proposal 数量"
2082
+ failedProposals: "失败的 proposal 数量:"
2094
2083
 
2095
2084
  fleet:
2096
2085
  dashboard:
@@ -2737,8 +2726,6 @@ landing:
2737
2726
  whatsNewLink: "2.8 的新功能"
2738
2727
  learnMore: 了解更多
2739
2728
  support: 支持
2740
- psps: PSP
2741
- deprecatedPsp: Pod 安全策略自 Kubernetes v1.21 起已弃用,并已在 Kubernetes v1.25 中删除。你在此集群中有一个或多个 PSP 资源。
2742
2729
  community:
2743
2730
  title: 社区支持
2744
2731
  docs: Rancher 官方文档
@@ -2804,7 +2791,7 @@ logging:
2804
2791
  dockerRootDirectory: Docker 根目录
2805
2792
  systemdLogPath: systemd 日志路径
2806
2793
  tooltip: '某些 Kubernetes 发行版在 <code>journald</code>中记录日志。你需要定义<code>systemdLogPath</code> 以收集日志。默认路径是<code>/run/log/journal</code>,但某些 Linux 发行版不默认使用该路径。'
2807
- url: '<a href="https://ranchermanager.docs.rancher.com/v2.8/integrations-in-rancher/logging/logging-helm-chart-options" target="_blank" rel="noopener nofollow noreferrer">了解更多</a>'
2794
+ url: '<a href="{docsBase}/integrations-in-rancher/logging/logging-helm-chart-options" target="_blank" rel="noopener nofollow noreferrer">了解更多</a>'
2808
2795
  default: /run/log/journal
2809
2796
  elasticsearch:
2810
2797
  host: 主机
@@ -3073,7 +3060,7 @@ members:
3073
3060
  clusterMembers: 集群成员
3074
3061
  clusterAndProject: 集群和项目成员
3075
3062
  createActionLabel: 添加
3076
- clusterMemebership: 集群成员
3063
+ clusterMembership: 集群成员
3077
3064
  projectMembership: 项目成员
3078
3065
  clusterPermissions:
3079
3066
  noDescription: 已创建用户 - 没有描述
@@ -4304,10 +4291,6 @@ project:
4304
4291
  vmDefaultResourceLimit: 虚拟机默认资源限制
4305
4292
  resourceQuotas: 资源配额
4306
4293
  haveOneOwner: 至少有一名成员需要具有所有者角色。
4307
- psp:
4308
- default: 集群默认
4309
- label: Pod 安全策略
4310
- current: "{value} (Current)"
4311
4294
 
4312
4295
 
4313
4296
  projectMembers:
@@ -4612,9 +4595,6 @@ rbac:
4612
4595
  nodetemplates-manage:
4613
4596
  label: 管理节点模板
4614
4597
  description: 允许用户定义、编辑和移除节点模板。
4615
- podsecuritypolicytemplates-manage:
4616
- label: 管理 Pod 安全策略(PSP)
4617
- description: 允许用户定义、编辑和移除 Pod 安全策略。
4618
4598
  roles-manage:
4619
4599
  label: 管理角色
4620
4600
  description: 允许用户定义、编辑和移除角色定义。
@@ -6973,7 +6953,7 @@ podAffinity:
6973
6953
  keyValue:
6974
6954
  keyPlaceholder: 例如:foo
6975
6955
  valuePlaceholder: 例如:bar
6976
- protip: '把多行 <em>key=value</em> 或 <em>key: value</em> 键值对复制到各字段中,以便批量输入'
6956
+ protip: '把多行 <em>key=value</em> 或 <em>key:value</em> 键值对复制到各字段中,以便批量输入'
6977
6957
 
6978
6958
  registryMirror:
6979
6959
  header: Mirror
@@ -7124,7 +7104,7 @@ performance:
7124
7104
  checkboxLabel: 禁用 WebSocket 通知
7125
7105
  gc:
7126
7106
  label: 资源垃圾回收
7127
- description: UI 将在本地缓存 kuberentes 资源,避免这些资源被重新抓取。在某些情况下,这可能会导致浏览器中存储了大量数据。你可以启用此设置进行定期删除。
7107
+ description: UI 将在本地缓存 Kubernetes 资源,避免这些资源被重新抓取。在某些情况下,这可能会导致浏览器中存储了大量数据。你可以启用此设置进行定期删除。
7128
7108
  checkboxLabel: 启用垃圾回收
7129
7109
  whenRun:
7130
7110
  description: 垃圾回收运行的时候更新
@@ -7358,7 +7338,6 @@ legacy:
7358
7338
  globalDnsProviders: 全局 DNS 提供商
7359
7339
  notifiers: Notifiers
7360
7340
  monitoring: 监控
7361
- psps: Pod 安全策略模板
7362
7341
  secrets: 密文
7363
7342
 
7364
7343
  project:
@@ -7439,9 +7418,6 @@ charts:
7439
7418
  service.ui.type:
7440
7419
  label: Longhorn UI 服务
7441
7420
  description: 定义 Longhorn UI 服务类型
7442
- enablePSP:
7443
- label: Pod 安全策略
7444
- description: 为 Longhorn 工作负载设置 Pod 安全策略
7445
7421
  csi.kubeletRootDir:
7446
7422
  label: Kubelet 根目录
7447
7423
  description: 指定 kubelet root-dir。如留空,则自动检测。
package/babel.config.js CHANGED
@@ -10,9 +10,15 @@ module.exports = function(api) {
10
10
  { targets: { node: 'current' } }
11
11
  ]
12
12
  ];
13
- const env = { test: { presets: [['@babel/env', { targets: { node: 'current' } }]] } };
13
+ const env = {
14
+ test: {
15
+ presets: [[
16
+ '@babel/env', { targets: { node: 'current' } }
17
+ ]]
18
+ }
19
+ };
14
20
 
15
- const plugins = [];
21
+ const plugins = ['@babel/plugin-transform-nullish-coalescing-operator'];
16
22
 
17
23
  if (process.env.NODE_ENV === 'test') {
18
24
  plugins.push('transform-require-context');
@@ -9,8 +9,15 @@ const localVue = createLocalVue();
9
9
  localVue.use(Vuex);
10
10
 
11
11
  describe('rancher-backup: S3', () => {
12
- const mockStore = { getters: { 'i18n/t': (text: string) => text, t: (text: string) => text } };
13
- const wrapper = mount(S3, { mocks: { $store: mockStore } });
12
+ const mockStore = {
13
+ getters: {
14
+ 'i18n/t': (text: string) => text,
15
+ t: (text: string) => text,
16
+ 'cluster/all': () => [],
17
+ 'cluster/paginationEnabled': () => false
18
+ }
19
+ };
20
+ const wrapper = mount(S3, { mocks: { $store: mockStore, $fetchState: { pending: false } } });
14
21
 
15
22
  it('should emit invalid when form is not filled', () => {
16
23
  expect(wrapper.emitted('valid')).toHaveLength(1);
@@ -1,14 +1,11 @@
1
1
  <script>
2
2
  import UnitInput from '@shell/components/form/UnitInput';
3
- import ChartPsp from '@shell/components/ChartPsp';
4
3
  import { Checkbox } from '@components/Form/Checkbox';
5
4
  import { mapGetters } from 'vuex';
6
5
 
7
6
  export default {
8
- components: {
9
- UnitInput, ChartPsp, Checkbox
10
- },
11
- props: {
7
+ components: { UnitInput, Checkbox },
8
+ props: {
12
9
  value: {
13
10
  type: Object,
14
11
  default: () => {
@@ -60,12 +57,6 @@ export default {
60
57
  </div>
61
58
  </div>
62
59
 
63
- <!-- Conditionally display PSP checkbox -->
64
- <ChartPsp
65
- :value="value"
66
- :cluster="currentCluster"
67
- />
68
-
69
60
  <template v-if="crdValues">
70
61
  <!-- gatekeeper versions <1.0.2 do not have this option -->
71
62
  <Checkbox
package/chart/istio.vue CHANGED
@@ -6,7 +6,6 @@ import YamlEditor from '@shell/components/YamlEditor';
6
6
  import { mapGetters } from 'vuex';
7
7
  import FileSelector from '@shell/components/form/FileSelector';
8
8
  import { Banner } from '@components/Banner';
9
- import ChartPsp from '@shell/components/ChartPsp';
10
9
 
11
10
  const defaultOverlayFile = `#apiVersion: install.istio.io/v1alpha1
12
11
  #kind: IstioOperator
@@ -54,8 +53,7 @@ export default {
54
53
  Checkbox,
55
54
  FileSelector,
56
55
  YamlEditor,
57
- Banner,
58
- ChartPsp
56
+ Banner
59
57
  },
60
58
 
61
59
  props: {
@@ -140,13 +138,6 @@ export default {
140
138
 
141
139
  <template>
142
140
  <div>
143
- <!-- Conditionally display PSP checkbox -->
144
- <ChartPsp
145
- :value="value"
146
- :title="t('catalog.chart.global')"
147
- :cluster="currentCluster"
148
- />
149
-
150
141
  <h3>
151
142
  {{ t('istio.titles.components') }}
152
143
  </h3>
@@ -2,13 +2,10 @@
2
2
  import { mapGetters } from 'vuex';
3
3
  import { LabeledInput } from '@components/Form/LabeledInput';
4
4
  import { Checkbox } from '@components/Form/Checkbox';
5
- import ChartPsp from '@shell/components/ChartPsp';
6
5
 
7
6
  export default {
8
- components: {
9
- Checkbox, LabeledInput, ChartPsp
10
- },
11
- props: {
7
+ components: { Checkbox, LabeledInput },
8
+ props: {
12
9
  value: {
13
10
  type: Object,
14
11
  default: () => {
@@ -83,11 +80,5 @@ export default {
83
80
  />
84
81
  </div>
85
82
  </div>
86
-
87
- <!-- Conditionally display PSP checkbox -->
88
- <ChartPsp
89
- :value="value"
90
- :cluster="currentCluster"
91
- />
92
83
  </div>
93
84
  </template>
@@ -5,8 +5,6 @@ import { Checkbox } from '@components/Form/Checkbox';
5
5
  import LabeledSelect from '@shell/components/form/LabeledSelect';
6
6
  import { RadioGroup } from '@components/Form/Radio';
7
7
 
8
- const DEFAULT_MONITORING_NAMESPACE = 'cattle-monitoring-system';
9
-
10
8
  export default {
11
9
  components: {
12
10
  Checkbox,
@@ -20,7 +18,7 @@ export default {
20
18
  default: 'create',
21
19
  },
22
20
 
23
- secrets: {
21
+ monitoringSecrets: {
24
22
  type: Array,
25
23
  default: () => [],
26
24
  },
@@ -43,12 +41,7 @@ export default {
43
41
 
44
42
  computed: {
45
43
  allSecrets() {
46
- const { secrets } = this;
47
-
48
- return secrets
49
- .filter(
50
- (sec) => sec.metadata.namespace === DEFAULT_MONITORING_NAMESPACE
51
- )
44
+ return this.monitoringSecrets
52
45
  .map((sec) => ({ label: sec.metadata.name, value: sec.metadata.name }));
53
46
  },
54
47
 
@@ -62,22 +55,15 @@ export default {
62
55
  },
63
56
 
64
57
  existingSecret() {
65
- return this.secrets.find(
66
- (sec) => sec?.metadata?.name ===
67
- 'alertmanager-rancher-monitoring-alertmanager' &&
68
- sec?.metadata?.namespace === DEFAULT_MONITORING_NAMESPACE
69
- );
58
+ return this.monitoringSecrets
59
+ .find((sec) => sec?.metadata?.name === 'alertmanager-rancher-monitoring-alertmanager');
70
60
  },
71
61
 
72
62
  filteredSecrets() {
73
- const { secrets } = this;
74
63
  const filtered = [];
75
64
 
76
- secrets.forEach((secret) => {
77
- if (
78
- secret.metadata.name &&
79
- secret.metadata.namespace === DEFAULT_MONITORING_NAMESPACE
80
- ) {
65
+ this.monitoringSecrets.forEach((secret) => {
66
+ if ( secret.metadata.name ) {
81
67
  filtered.push(secret.metadata.name);
82
68
  }
83
69
  });
@@ -93,7 +79,7 @@ export default {
93
79
  },
94
80
 
95
81
  watch: {
96
- filteredSecrets(newValue, oldValue) {
82
+ filteredSecrets(newValue) {
97
83
  if (isEmpty(newValue)) {
98
84
  this.$set(
99
85
  this.value.alertmanager.alertmanagerSpec,
@@ -5,6 +5,7 @@ import LabeledSelect from '@shell/components/form/LabeledSelect';
5
5
  import KeyValue from '@shell/components/form/KeyValue';
6
6
  import ArrayList from '@shell/components/form/ArrayList';
7
7
  import StorageClassSelector from '@shell/chart/monitoring/StorageClassSelector';
8
+ import { DEFAULT_GRAFANA_STORAGE_SIZE } from '@shell/config/types';
8
9
 
9
10
  export default {
10
11
  components: {
@@ -87,6 +88,9 @@ export default {
87
88
 
88
89
  return (storageClasses || []).length >= 1;
89
90
  },
91
+ showGrafanaResourceConfig() {
92
+ return this.value?.grafana?.resources?.requests && this.value?.grafana?.resources?.limits;
93
+ }
90
94
  },
91
95
  watch: {
92
96
  persistentStorageType(newType, oldType) {
@@ -136,7 +140,7 @@ export default {
136
140
  newValsOut = {
137
141
  accessModes: null,
138
142
  storageClassName: null,
139
- size: null,
143
+ size: DEFAULT_GRAFANA_STORAGE_SIZE,
140
144
  subPath: null,
141
145
  type: 'pvc',
142
146
  annotations: null,
@@ -148,7 +152,7 @@ export default {
148
152
  newValsOut = {
149
153
  accessModes: null,
150
154
  storageClassName: null,
151
- size: null,
155
+ size: DEFAULT_GRAFANA_STORAGE_SIZE,
152
156
  subPath: null,
153
157
  type: 'statefulset',
154
158
  enabled: true,
@@ -172,6 +176,58 @@ export default {
172
176
  <h3>{{ t('monitoring.grafana.title') }}</h3>
173
177
  </div>
174
178
  <div class="grafana-config">
179
+ <!-- Request and Limits -->
180
+ <!-- Note, we use the same labels for resource config as Prometheus since they are generic -->
181
+ <div
182
+ v-if="showGrafanaResourceConfig"
183
+ class="row"
184
+ >
185
+ <div class="col span-12 mt-5">
186
+ <h4 class="mb-0">
187
+ {{ t('monitoring.prometheus.config.resourceLimits') }}
188
+ </h4>
189
+ </div>
190
+ </div>
191
+ <div
192
+ v-if="showGrafanaResourceConfig"
193
+ class="row"
194
+ >
195
+ <div class="col span-6">
196
+ <LabeledInput
197
+ v-model="value.grafana.resources.requests.cpu"
198
+ data-testid="input-grafana-requests-cpu"
199
+ :label="t('monitoring.prometheus.config.requests.cpu')"
200
+ :mode="mode"
201
+ />
202
+ </div>
203
+ <div class="col span-6">
204
+ <LabeledInput
205
+ v-model="value.grafana.resources.requests.memory"
206
+ data-testid="input-grafana-requests-memory"
207
+ :label="t('monitoring.prometheus.config.requests.memory')"
208
+ :mode="mode"
209
+ />
210
+ </div>
211
+ </div>
212
+ <div class="row">
213
+ <div class="col span-6">
214
+ <LabeledInput
215
+ v-model="value.grafana.resources.limits.cpu"
216
+ data-testid="input-grafana-limits-cpu"
217
+ :label="t('monitoring.prometheus.config.limits.cpu')"
218
+ :mode="mode"
219
+ />
220
+ </div>
221
+ <div class="col span-6">
222
+ <LabeledInput
223
+ v-model="value.grafana.resources.limits.memory"
224
+ data-testid="input-grafana-limits-memory"
225
+ :label="t('monitoring.prometheus.config.limits.memory')"
226
+ :mode="mode"
227
+ />
228
+ </div>
229
+ </div>
230
+
175
231
  <div class="row pt-10 pb-10">
176
232
  <div class="col span-12 persistent-storage-config">
177
233
  <RadioGroup
@@ -181,6 +237,7 @@ export default {
181
237
  :labels="persistentStorageTypeLabels"
182
238
  :mode="mode"
183
239
  :options="persistentStorageTypes"
240
+ data-testid="radio-group-input-grafana-storage"
184
241
  />
185
242
  </div>
186
243
  </div>
@@ -204,6 +261,7 @@ export default {
204
261
  v-model="value.grafana.persistence.size"
205
262
  :label="t('monitoring.grafana.storage.size')"
206
263
  :mode="mode"
264
+ data-testid="grafana-storage-pvc-size"
207
265
  />
208
266
  </div>
209
267
  <div class="col span-6">
@@ -270,6 +328,7 @@ export default {
270
328
  v-model="value.grafana.persistence.size"
271
329
  :label="t('monitoring.grafana.storage.size')"
272
330
  :mode="mode"
331
+ data-testid="grafana-storage-statefulset-size"
273
332
  />
274
333
  </div>
275
334
  <div class="col span-6">
@@ -12,10 +12,10 @@ import { LabeledInput } from '@components/Form/LabeledInput';
12
12
  import Loading from '@shell/components/Loading';
13
13
  import Prometheus from '@shell/chart/monitoring/prometheus';
14
14
  import Tab from '@shell/components/Tabbed/Tab';
15
- import ChartPsp from '@shell/components/ChartPsp';
16
15
 
17
16
  import { allHash } from '@shell/utils/promise';
18
17
  import { STORAGE_CLASS, PVC, SECRET, WORKLOAD_TYPES } from '@shell/config/types';
18
+ import { CATTLE_MONITORING_NAMESPACE } from '@shell/utils/monitoring';
19
19
 
20
20
  export default {
21
21
  components: {
@@ -26,8 +26,7 @@ export default {
26
26
  LabeledInput,
27
27
  Loading,
28
28
  Prometheus,
29
- Tab,
30
- ChartPsp
29
+ Tab
31
30
  },
32
31
 
33
32
  hasTabs: true,
@@ -54,17 +53,40 @@ export default {
54
53
  async fetch() {
55
54
  const { $store } = this;
56
55
 
57
- const hash = await allHash({
58
- namespaces: $store.getters['namespaces'](),
59
- pvcs: $store.dispatch('cluster/findAll', { type: PVC }),
60
- secrets: $store.dispatch('cluster/findAll', { type: SECRET }),
56
+ // Fetch all the resources required for all the tabs asyncronously up front
57
+ const hashPromises = {
58
+ namespaces: $store.getters['namespaces'](),
59
+ pvcs: $store.dispatch('cluster/findAll', { type: PVC }),
60
+ // Used in Alerting tab
61
+ monitoringSecrets: $store.dispatch('cluster/findAll', {
62
+ type: SECRET,
63
+ opt: { namespaced: CATTLE_MONITORING_NAMESPACE }
64
+ }),
61
65
  storageClasses: $store.dispatch('cluster/findAll', { type: STORAGE_CLASS }),
66
+ };
67
+
68
+ // Are we editing an existing chart?
69
+ // (ported from shell/chart/monitoring/prometheus/index.vue)
70
+ const { existing = false } = this.$attrs;
71
+
72
+ // If needed, fetch all the workloads that have prometheus operator like containers
73
+ this.workloadTypes = !existing ? Object.values(WORKLOAD_TYPES) : [];
74
+
75
+ this.workloadTypes.forEach((type) => {
76
+ // We'll use a filter to fetch the results. Atm there's no neat way to differentiate between ALL results and JUST filtered
77
+ // So to avoid calls to all getting these filtered (and vice-versa) forget type before and after
78
+ $store.dispatch('cluster/forgetType', type);
79
+ hashPromises[type] = $store.dispatch('cluster/findAll', {
80
+ type,
81
+ opt: {
82
+ watch: false,
83
+ // We're only interested in images with operator like names (note: these will match partial strings)
84
+ filter: { 'spec.template.spec.containers.image': ['quay.io/coreos/prometheus-operator', 'rancher/coreos-prometheus-operator'] }
85
+ }
86
+ });
62
87
  });
63
88
 
64
- await Promise.all(
65
- Object.values(WORKLOAD_TYPES).map((type) => this.$store.dispatch('cluster/findAll', { type })
66
- )
67
- );
89
+ const hash = await allHash(hashPromises);
68
90
 
69
91
  this.targetNamespace = hash.namespaces[this.chart.targetNamespace] || false;
70
92
 
@@ -76,9 +98,21 @@ export default {
76
98
  this.pvcs = hash.pvcs;
77
99
  }
78
100
 
79
- if (!isEmpty(hash.secrets)) {
80
- this.secrets = hash.secrets;
101
+ if (!isEmpty(hash.monitoringSecrets)) {
102
+ this.monitoringSecrets = hash.monitoringSecrets;
81
103
  }
104
+
105
+ this.workloadTypes.forEach((type) => {
106
+ if (hash[type]) {
107
+ this.filteredWorkloads.push(...hash[type]);
108
+ }
109
+ });
110
+ },
111
+
112
+ beforeDestroy() {
113
+ this.workloadTypes.forEach((type) => {
114
+ this.$store.dispatch('cluster/forgetType', type);
115
+ });
82
116
  },
83
117
 
84
118
  data() {
@@ -101,9 +135,11 @@ export default {
101
135
  disableAggregateRoles: false,
102
136
  prometheusResources: [],
103
137
  pvcs: [],
104
- secrets: [],
138
+ monitoringSecrets: [],
105
139
  storageClasses: [],
106
140
  targetNamespace: null,
141
+ filteredWorkloads: [],
142
+ workloadTypes: []
107
143
  };
108
144
  },
109
145
 
@@ -112,10 +148,6 @@ export default {
112
148
  provider() {
113
149
  return this.currentCluster.status.provider.toLowerCase();
114
150
  },
115
- workloads() {
116
- return Object.values(WORKLOAD_TYPES).flatMap((type) => this.$store.getters['cluster/all'](type)
117
- );
118
- },
119
151
  },
120
152
 
121
153
  watch: {
@@ -265,12 +297,6 @@ export default {
265
297
  />
266
298
  </div>
267
299
  </div>
268
-
269
- <!-- Conditionally display PSP checkbox -->
270
- <ChartPsp
271
- :value="value"
272
- :cluster="currentCluster"
273
- />
274
300
  </div>
275
301
  </Tab>
276
302
  <Tab
@@ -286,7 +312,7 @@ export default {
286
312
  :mode="mode"
287
313
  :storage-classes="storageClasses"
288
314
  :prometheus-pods="prometheusResources"
289
- :workloads="workloads"
315
+ :filteredWorkloads="filteredWorkloads"
290
316
  />
291
317
  </div>
292
318
  </Tab>
@@ -299,7 +325,7 @@ export default {
299
325
  <Alerting
300
326
  v-model="value"
301
327
  :mode="mode"
302
- :secrets="secrets"
328
+ :monitoringSecrets="monitoringSecrets"
303
329
  />
304
330
  </div>
305
331
  </Tab>