dashboard-shell-shell 3.0.2-test.20250913 → 3.0.5-logTest.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/assets/brand/csp/favicon.png +0 -0
  2. package/assets/data/aws-regions.json +3 -0
  3. package/assets/icons/demo.css:Zone.Identifier +0 -0
  4. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  5. package/assets/icons/iconfont.css +4 -1
  6. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  7. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  8. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  9. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  10. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  11. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  12. package/assets/iconsNew/demo.css +539 -0
  13. package/assets/iconsNew/demo.css:Zone.Identifier +0 -0
  14. package/assets/iconsNew/demo_index.html +303 -0
  15. package/assets/iconsNew/demo_index.html:Zone.Identifier +0 -0
  16. package/assets/iconsNew/iconfont.css +43 -0
  17. package/assets/iconsNew/iconfont.css:Zone.Identifier +0 -0
  18. package/assets/iconsNew/iconfont.js +1 -0
  19. package/assets/iconsNew/iconfont.js:Zone.Identifier +0 -0
  20. package/assets/iconsNew/iconfont.json +44 -0
  21. package/assets/iconsNew/iconfont.json:Zone.Identifier +0 -0
  22. package/assets/iconsNew/iconfont.ttf +0 -0
  23. package/assets/iconsNew/iconfont.ttf:Zone.Identifier +0 -0
  24. package/assets/iconsNew/iconfont.woff +0 -0
  25. package/assets/iconsNew/iconfont.woff2 +0 -0
  26. package/assets/iconsNew/iconfont.woff2:Zone.Identifier +0 -0
  27. package/assets/iconsNew/iconfont.woff:Zone.Identifier +0 -0
  28. package/assets/images/icons/document.svg +3 -0
  29. package/assets/images/key.svg +17 -0
  30. package/assets/images/pl/dark/logo.png +0 -0
  31. package/assets/images/providers/sks.svg +1 -0
  32. package/assets/images/vendor/cognito.svg +1 -0
  33. package/assets/styles/all.scss +23 -3
  34. package/assets/styles/app.scss +4 -0
  35. package/assets/styles/base/_basic.scss +10 -0
  36. package/assets/styles/base/_helpers.scss +1 -1
  37. package/assets/styles/base/_spacing.scss +29 -0
  38. package/assets/styles/base/_variables.scss +21 -15
  39. package/assets/styles/fonts/_icons.scss +3 -2
  40. package/assets/styles/global/_button.scss +8 -8
  41. package/assets/styles/global/_form.scss +1 -0
  42. package/assets/styles/global/_labeled-input.scss +1 -1
  43. package/assets/styles/global/_layout.scss +1 -1
  44. package/assets/styles/global/_select.scss +1 -1
  45. package/assets/styles/global/_tooltip.scss +9 -5
  46. package/assets/styles/themes/_dark.scss +30 -0
  47. package/assets/styles/themes/_light.scss +85 -5
  48. package/assets/styles/vendor/vue-select.scss +2 -1
  49. package/assets/translations/en-us.yaml +886 -105
  50. package/assets/translations/zh-hans.yaml +298 -25
  51. package/chart/__tests__/S3.test.ts +2 -1
  52. package/chart/monitoring/index.vue +1 -1
  53. package/cloud-credential/gcp.vue +9 -1
  54. package/components/ActionDropdown.vue +1 -1
  55. package/components/ActionMenuShell.vue +3 -7
  56. package/components/AppModal.vue +9 -28
  57. package/components/AsyncButton.vue +2 -0
  58. package/components/BrandImage.vue +0 -21
  59. package/components/ButtonDropdown.vue +3 -1
  60. package/components/Certificates.vue +5 -0
  61. package/components/ClusterIconMenu.vue +1 -1
  62. package/components/CodeMirror.vue +9 -7
  63. package/components/CommunityLinks.vue +3 -58
  64. package/components/ConfigMapSettings/Settings.vue +377 -0
  65. package/components/ConfigMapSettings/index.vue +354 -0
  66. package/components/ConsumptionGauge.vue +1 -1
  67. package/components/ContainerResourceLimit.vue +2 -2
  68. package/components/CopyToClipboard.vue +15 -0
  69. package/components/CruResource.vue +106 -18
  70. package/components/DetailText.vue +61 -11
  71. package/components/Drawer/Chrome.vue +115 -0
  72. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +64 -0
  73. package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +48 -0
  74. package/components/Drawer/ResourceDetailDrawer/__tests__/ConfigTab.test.ts +54 -0
  75. package/components/Drawer/ResourceDetailDrawer/__tests__/YamlTab.test.ts +80 -0
  76. package/components/Drawer/ResourceDetailDrawer/__tests__/composables.test.ts +106 -0
  77. package/components/Drawer/ResourceDetailDrawer/__tests__/helpers.test.ts +42 -0
  78. package/components/Drawer/ResourceDetailDrawer/composables.ts +53 -0
  79. package/components/Drawer/ResourceDetailDrawer/helpers.ts +10 -0
  80. package/components/Drawer/ResourceDetailDrawer/index.vue +124 -0
  81. package/components/ExplorerMembers.vue +28 -4
  82. package/components/ExplorerProjectsNamespaces.vue +46 -29
  83. package/components/FilterPanel.vue +156 -0
  84. package/components/FixedBanner.vue +19 -5
  85. package/components/{fleet/ForceDirectedTreeChart/index.vue → ForceDirectedTreeChart.vue} +47 -41
  86. package/components/GlobalRoleBindings.vue +69 -114
  87. package/components/GrowlManager.vue +16 -15
  88. package/components/IconOrSvg.vue +19 -35
  89. package/components/KeyValueView.vue +1 -1
  90. package/components/LandingPagePreference.vue +2 -0
  91. package/components/Loading.vue +1 -1
  92. package/components/LocaleSelector.vue +10 -2
  93. package/components/PaginatedResourceTable.vue +53 -1
  94. package/components/PodSecurityAdmission.vue +2 -2
  95. package/components/ProgressBarMulti.vue +1 -0
  96. package/components/PromptModal.vue +38 -7
  97. package/components/PromptRemove.vue +28 -2
  98. package/components/PromptRestore.vue +22 -44
  99. package/components/RelatedResources.vue +7 -12
  100. package/components/Resource/Detail/Additional.vue +46 -0
  101. package/components/Resource/Detail/Card/PodsCard/Bubble.vue +13 -0
  102. package/components/Resource/Detail/Card/PodsCard/composable.ts +30 -0
  103. package/components/Resource/Detail/Card/PodsCard/index.vue +118 -0
  104. package/components/Resource/Detail/Card/ResourceUsageCard/composable.ts +51 -0
  105. package/components/Resource/Detail/Card/ResourceUsageCard/index.vue +79 -0
  106. package/components/Resource/Detail/Card/Scaler.vue +89 -0
  107. package/components/Resource/Detail/Card/StateCard/composables.ts +112 -0
  108. package/components/Resource/Detail/Card/StateCard/index.vue +39 -0
  109. package/components/Resource/Detail/Card/VerticalGap.vue +11 -0
  110. package/components/Resource/Detail/Card/__tests__/Card.test.ts +36 -0
  111. package/components/Resource/Detail/Card/__tests__/PodsCard.test.ts +84 -0
  112. package/components/Resource/Detail/Card/__tests__/ResourceUsageCard.test.ts +72 -0
  113. package/components/Resource/Detail/Card/__tests__/Scaler.test.ts +87 -0
  114. package/components/Resource/Detail/Card/__tests__/StateCard.test.ts +53 -0
  115. package/components/Resource/Detail/Card/__tests__/VerticalGap.test.ts +14 -0
  116. package/components/Resource/Detail/Card/__tests__/index.test.ts +36 -0
  117. package/components/Resource/Detail/Card/index.vue +56 -0
  118. package/components/Resource/Detail/Metadata/Annotations/__tests__/index.test.ts +19 -0
  119. package/components/Resource/Detail/Metadata/Annotations/composable.ts +12 -0
  120. package/components/Resource/Detail/Metadata/Annotations/index.vue +31 -0
  121. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/identifying-fields.test.ts +223 -0
  122. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/index.test.ts +103 -0
  123. package/components/Resource/Detail/Metadata/IdentifyingInformation/composable.ts +72 -0
  124. package/components/Resource/Detail/Metadata/IdentifyingInformation/identifying-fields.ts +317 -0
  125. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +138 -0
  126. package/components/Resource/Detail/Metadata/KeyValue.vue +144 -0
  127. package/components/Resource/Detail/Metadata/Labels/__tests__/index.test.ts +18 -0
  128. package/components/Resource/Detail/Metadata/Labels/composable.ts +12 -0
  129. package/components/Resource/Detail/Metadata/Labels/index.vue +31 -0
  130. package/components/Resource/Detail/Metadata/Rectangle.vue +34 -0
  131. package/components/Resource/Detail/Metadata/__tests__/KeyValue.test.ts +107 -0
  132. package/components/Resource/Detail/Metadata/__tests__/Rectangle.test.ts +24 -0
  133. package/components/Resource/Detail/Metadata/__tests__/composables.test.ts +75 -0
  134. package/components/Resource/Detail/Metadata/__tests__/index.test.ts +91 -0
  135. package/components/Resource/Detail/Metadata/composables.ts +81 -0
  136. package/components/Resource/Detail/Metadata/index.vue +90 -0
  137. package/components/Resource/Detail/Page.vue +37 -0
  138. package/components/Resource/Detail/PercentageBar.vue +40 -0
  139. package/components/Resource/Detail/ResourceRow.vue +138 -0
  140. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/__tests__/composables.test.ts +29 -0
  141. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/__tests__/index.test.ts +48 -0
  142. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/composables.ts +31 -0
  143. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/index.vue +50 -0
  144. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/__tests__/composables.test.ts +66 -0
  145. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/composables.ts +21 -0
  146. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/index.vue +31 -0
  147. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Basic.vue +45 -0
  148. package/components/Resource/Detail/ResourceTabs/SecretDataTab/BasicAuth.vue +31 -0
  149. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Certificate.vue +31 -0
  150. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Registry.vue +22 -0
  151. package/components/Resource/Detail/ResourceTabs/SecretDataTab/ServiceAccountToken.vue +31 -0
  152. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Ssh.vue +32 -0
  153. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Basic.test.ts +40 -0
  154. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/BasicAuth.test.ts +33 -0
  155. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Certificate.test.ts +33 -0
  156. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Registry.test.ts +27 -0
  157. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/ServiceAccountToken.test.ts +33 -0
  158. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Ssh.test.ts +33 -0
  159. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/auth-types.test.ts +186 -0
  160. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/composables.test.ts +102 -0
  161. package/components/Resource/Detail/ResourceTabs/SecretDataTab/auth-types.ts +109 -0
  162. package/components/Resource/Detail/ResourceTabs/SecretDataTab/composeables.ts +52 -0
  163. package/components/Resource/Detail/ResourceTabs/SecretDataTab/index.vue +71 -0
  164. package/components/Resource/Detail/SpacedRow.vue +14 -0
  165. package/components/Resource/Detail/StatusBar.vue +59 -0
  166. package/components/Resource/Detail/StatusRow.vue +61 -0
  167. package/components/Resource/Detail/TitleBar/Title.vue +15 -0
  168. package/components/Resource/Detail/TitleBar/Top.vue +16 -0
  169. package/components/Resource/Detail/TitleBar/__tests__/Title.test.ts +17 -0
  170. package/components/Resource/Detail/TitleBar/__tests__/Top.test.ts +17 -0
  171. package/components/Resource/Detail/TitleBar/__tests__/composables.test.ts +63 -0
  172. package/components/Resource/Detail/TitleBar/__tests__/index.test.ts +142 -0
  173. package/components/Resource/Detail/TitleBar/composables.ts +61 -0
  174. package/components/Resource/Detail/TitleBar/index.vue +302 -0
  175. package/components/Resource/Detail/Top/index.vue +34 -0
  176. package/components/Resource/Detail/__tests__/Page.test.ts +32 -0
  177. package/components/Resource/Detail/composables.ts +45 -0
  178. package/components/ResourceDetail/Masthead/__tests__/index.test.ts +70 -0
  179. package/components/ResourceDetail/{__tests__/Masthead.test.ts → Masthead/__tests__/legacy.test.ts} +3 -3
  180. package/components/ResourceDetail/Masthead/index.vue +65 -0
  181. package/components/ResourceDetail/Masthead/latest.vue +44 -0
  182. package/components/ResourceDetail/{Masthead.vue → Masthead/legacy.vue} +240 -169
  183. package/components/ResourceDetail/__tests__/index.test.ts +135 -0
  184. package/components/ResourceDetail/index.vue +75 -575
  185. package/components/ResourceDetail/legacy.vue +580 -0
  186. package/components/ResourceList/Masthead.vue +74 -29
  187. package/components/ResourceList/index.vue +3 -2
  188. package/components/ResourceTable.vue +75 -85
  189. package/components/ResourceYaml.vue +15 -2
  190. package/components/RichTranslation.vue +106 -0
  191. package/components/SideNav.vue +21 -21
  192. package/components/SingleClusterInfo.vue +2 -1
  193. package/components/SlideInPanelManager.vue +116 -14
  194. package/components/SortableTable/THead.vue +46 -1
  195. package/components/SortableTable/index.vue +66 -22
  196. package/components/SortableTable/paging.js +15 -16
  197. package/components/SortableTable/selection.js +22 -10
  198. package/components/StateDot/index.vue +28 -0
  199. package/components/StatusBadge.vue +6 -4
  200. package/components/SubtleLink.vue +25 -0
  201. package/components/Tabbed/index.vue +43 -22
  202. package/components/Wizard.vue +16 -3
  203. package/components/YamlEditor.vue +1 -2
  204. package/components/__tests__/AsyncButton.test.ts +39 -0
  205. package/components/__tests__/ConfigMapSettings.test.ts +376 -0
  206. package/components/__tests__/CruResource.test.ts +63 -0
  207. package/components/__tests__/FilterPanel.test.ts +81 -0
  208. package/components/__tests__/GrowlManager.test.ts +0 -25
  209. package/components/__tests__/PromptModal.test.ts +146 -0
  210. package/components/__tests__/PromptRestore.test.ts +1 -65
  211. package/components/__tests__/RichTranslation.test.ts +115 -0
  212. package/components/auth/AuthBanner.vue +15 -14
  213. package/components/auth/Principal.vue +50 -19
  214. package/components/auth/RoleDetailEdit.vue +55 -11
  215. package/components/auth/login/ldap.vue +2 -2
  216. package/components/auth/login/oidc.vue +6 -1
  217. package/components/breadcrumb/index.vue +119 -0
  218. package/components/fleet/FleetApplications.vue +174 -0
  219. package/components/fleet/FleetClusterTargets/TargetsList.vue +66 -0
  220. package/components/fleet/FleetClusterTargets/index.vue +455 -0
  221. package/components/fleet/FleetClusters.vue +25 -6
  222. package/components/fleet/FleetGitRepoPaths.vue +476 -0
  223. package/components/fleet/FleetHelmOps.vue +123 -0
  224. package/components/fleet/FleetIntro.vue +58 -28
  225. package/components/fleet/FleetNoWorkspaces.vue +5 -1
  226. package/components/fleet/FleetOCIStorageSecret.vue +171 -0
  227. package/components/fleet/FleetRepos.vue +37 -80
  228. package/components/fleet/FleetResources.vue +69 -27
  229. package/components/fleet/FleetSummary.vue +26 -51
  230. package/components/fleet/FleetValuesFrom.vue +295 -0
  231. package/components/fleet/__tests__/FleetClusterTargets.test.ts +1224 -0
  232. package/components/fleet/__tests__/FleetGitRepoPaths.test.ts +265 -0
  233. package/components/fleet/__tests__/FleetOCIStorageSecret.test.ts +213 -0
  234. package/components/fleet/__tests__/FleetSummary.test.ts +39 -39
  235. package/components/fleet/__tests__/FleetValuesFrom.test.ts +300 -0
  236. package/components/fleet/dashboard/Empty.vue +73 -0
  237. package/components/fleet/dashboard/ResourceCard.vue +184 -0
  238. package/components/fleet/dashboard/ResourceCardSummary.vue +195 -0
  239. package/components/fleet/dashboard/ResourceDetails.vue +194 -0
  240. package/components/fleet/dashboard/ResourcePanel.vue +384 -0
  241. package/components/form/ArrayList.vue +187 -142
  242. package/components/form/ArrayListGrouped.vue +5 -3
  243. package/components/form/BannerSettings.vue +117 -50
  244. package/components/form/ChangePassword.vue +4 -2
  245. package/components/form/ClusterAppearance.vue +4 -3
  246. package/components/form/ColorInput.vue +35 -6
  247. package/components/form/Command.vue +4 -5
  248. package/components/form/Conditions.vue +15 -1
  249. package/components/form/FileImageSelector.vue +1 -1
  250. package/components/form/Footer.vue +11 -4
  251. package/components/form/HealthCheck.vue +0 -2
  252. package/components/form/HookOption.vue +87 -58
  253. package/components/form/InputWithSelect.vue +8 -7
  254. package/components/form/KeyValue.vue +112 -53
  255. package/components/form/LabeledSelect.vue +76 -55
  256. package/components/form/Labels.vue +92 -22
  257. package/components/form/MatchExpressions.vue +59 -12
  258. package/components/form/Members/ClusterMembershipEditor.vue +1 -1
  259. package/components/form/Members/ClusterPermissionsEditor.vue +60 -41
  260. package/components/form/Members/MembershipEditor.vue +4 -4
  261. package/components/form/Members/ProjectMembershipEditor.vue +1 -1
  262. package/components/form/NameNsDescription.vue +15 -10
  263. package/components/form/Networking.vue +30 -28
  264. package/components/form/NodeAffinity.vue +29 -28
  265. package/components/form/NotificationSettings.vue +15 -1
  266. package/components/form/PodAffinity.vue +23 -23
  267. package/components/form/Probe.vue +15 -11
  268. package/components/form/ProjectMemberEditor.vue +66 -48
  269. package/components/form/ResourceLabeledSelect.vue +22 -8
  270. package/components/form/ResourceQuota/Namespace.vue +4 -4
  271. package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
  272. package/components/form/ResourceQuota/Project.vue +4 -4
  273. package/components/form/ResourceQuota/ProjectRow.vue +36 -30
  274. package/components/form/ResourceSelector.vue +28 -24
  275. package/components/form/ResourceTabs/index.vue +7 -1
  276. package/components/form/SSHKnownHosts/index.vue +14 -11
  277. package/components/form/SecretSelector.vue +40 -23
  278. package/components/form/Security.vue +1 -3
  279. package/components/form/Select.vue +64 -27
  280. package/components/form/SelectOrCreateAuthSecret.vue +6 -3
  281. package/components/form/ServiceNameSelect.vue +2 -5
  282. package/components/form/ServicePorts.vue +149 -75
  283. package/components/form/SimpleSecretSelector.vue +17 -4
  284. package/components/form/Taints.vue +23 -3
  285. package/components/form/Tolerations.vue +13 -9
  286. package/components/form/UnitInput.vue +21 -0
  287. package/components/form/ValueFromResource.vue +136 -110
  288. package/components/form/WorkloadPorts.vue +143 -123
  289. package/components/form/__tests__/ArrayList.test.ts +32 -0
  290. package/components/form/__tests__/ColorInput.test.ts +35 -0
  291. package/components/form/__tests__/KeyValue.test.ts +36 -0
  292. package/components/form/__tests__/LabeledSelect.test.ts +79 -2
  293. package/components/form/__tests__/Labels.test.ts +360 -0
  294. package/components/form/__tests__/MatchExpressions.test.ts +16 -13
  295. package/components/form/__tests__/Networking.test.ts +116 -0
  296. package/components/form/__tests__/SSHKnownHosts.test.ts +11 -2
  297. package/components/form/__tests__/Select.test.ts +37 -1
  298. package/components/form/__tests__/UnitInput.test.ts +23 -1
  299. package/components/form/labeled-select-utils/labeled-select-pagination.ts +3 -38
  300. package/components/formatter/ClusterLink.vue +5 -8
  301. package/components/formatter/Description.vue +30 -0
  302. package/components/formatter/FleetApplicationClustersReady.vue +77 -0
  303. package/components/formatter/FleetApplicationSource.vue +79 -0
  304. package/components/formatter/FleetSummaryGraph.vue +7 -0
  305. package/components/formatter/PodImages.vue +1 -1
  306. package/components/formatter/WorkloadHealthScale.vue +5 -4
  307. package/components/formatter/__tests__/ClusterLink.test.ts +2 -32
  308. package/components/formatter/__tests__/LiveDate.test.ts +10 -2
  309. package/components/google/AccountAccess.vue +209 -0
  310. package/components/google/types/gcp.d.ts +136 -0
  311. package/components/google/types/index.d.ts +101 -0
  312. package/components/google/util/__mocks__/gcp.ts +465 -0
  313. package/components/google/util/formatter.ts +82 -0
  314. package/components/google/util/gcp.ts +134 -0
  315. package/components/google/util/index.d.ts +11 -0
  316. package/components/nav/Favorite.vue +1 -1
  317. package/components/nav/Group.vue +13 -1
  318. package/components/nav/Header.vue +44 -179
  319. package/components/nav/NamespaceFilter.vue +126 -75
  320. package/components/nav/NotificationCenter/Notification.vue +484 -0
  321. package/components/nav/NotificationCenter/NotificationHeader.vue +112 -0
  322. package/components/nav/NotificationCenter/index.vue +148 -0
  323. package/components/nav/TopLevelMenu.helper.ts +55 -34
  324. package/components/nav/TopLevelMenu.vue +110 -125
  325. package/components/nav/Type.vue +15 -4
  326. package/components/nav/WindowManager/ContainerLogs.vue +87 -61
  327. package/components/nav/WindowManager/ContainerLogsActions.vue +76 -0
  328. package/components/nav/WindowManager/index.vue +3 -2
  329. package/components/templates/default.vue +0 -3
  330. package/components/templates/plain.vue +0 -3
  331. package/composables/drawer.ts +26 -0
  332. package/composables/focusTrap.ts +3 -3
  333. package/composables/resources.test.ts +63 -0
  334. package/composables/resources.ts +38 -0
  335. package/composables/useI18n.ts +12 -11
  336. package/composables/useIsNewDetailPageEnabled.ts +17 -0
  337. package/config/labels-annotations.js +22 -11
  338. package/config/menuRouteMap.js +10 -0
  339. package/config/pagination-table-headers.js +8 -1
  340. package/config/private-label.js +0 -1
  341. package/config/product/auth.js +20 -3
  342. package/config/product/{cis.js → compliance.js} +23 -26
  343. package/config/product/explorer.js +80 -26
  344. package/config/product/fleet.js +77 -17
  345. package/config/product/manager.js +29 -46
  346. package/config/product/settings.js +23 -11
  347. package/config/product/uiplugins.js +13 -10
  348. package/config/query-params.js +16 -1
  349. package/config/roles.ts +2 -1
  350. package/config/router/navigation-guards/authentication.js +51 -2
  351. package/config/router/navigation-guards/index.js +16 -20
  352. package/config/router/routes.js +65 -31
  353. package/config/secret.ts +15 -0
  354. package/config/settings.ts +33 -16
  355. package/config/store.js +2 -0
  356. package/config/system-namespaces.js +1 -1
  357. package/config/table-headers.js +91 -30
  358. package/config/types.js +18 -7
  359. package/config/version.js +1 -1
  360. package/core/plugin-helpers.ts +3 -2
  361. package/core/plugin.ts +32 -7
  362. package/core/types.ts +25 -7
  363. package/detail/catalog.cattle.io.app.vue +5 -1
  364. package/detail/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +22 -18
  365. package/detail/fleet.cattle.io.bundle.vue +70 -6
  366. package/detail/fleet.cattle.io.cluster.vue +28 -15
  367. package/detail/fleet.cattle.io.gitrepo.vue +11 -2
  368. package/detail/fleet.cattle.io.helmop.vue +157 -0
  369. package/detail/management.cattle.io.fleetworkspace.vue +18 -27
  370. package/detail/management.cattle.io.oidcclient.vue +369 -0
  371. package/detail/namespace.vue +0 -3
  372. package/detail/node.vue +48 -39
  373. package/detail/pod.vue +2 -2
  374. package/detail/provisioning.cattle.io.cluster.vue +16 -50
  375. package/detail/service.vue +10 -2
  376. package/detail/workload/index.vue +48 -39
  377. package/dialog/AddCustomBadgeDialog.vue +17 -10
  378. package/{pages/c/_cluster/uiplugins/AddExtensionRepos.vue → dialog/AddExtensionReposDialog.vue} +72 -42
  379. package/dialog/AddonConfigConfirmationDialog.vue +1 -1
  380. package/dialog/AssignToDialog.vue +176 -0
  381. package/dialog/ChangePasswordDialog.vue +106 -0
  382. package/{pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue → dialog/DeveloperLoadExtensionDialog.vue} +74 -71
  383. package/dialog/DisableAuthProviderDialog.vue +101 -0
  384. package/dialog/DrainNode.vue +1 -1
  385. package/{pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue → dialog/ExtensionCatalogInstallDialog.vue} +100 -88
  386. package/{pages/c/_cluster/uiplugins/CatalogList/CatalogUninstallDialog.vue → dialog/ExtensionCatalogUninstallDialog.vue} +87 -66
  387. package/dialog/FeatureFlagListDialog.vue +288 -0
  388. package/dialog/ForceMachineRemoveDialog.vue +1 -1
  389. package/dialog/GenericPrompt.vue +1 -1
  390. package/dialog/HelmOpForceUpdateDialog.vue +132 -0
  391. package/{components/Import.vue → dialog/ImportDialog.vue} +8 -13
  392. package/{pages/c/_cluster/uiplugins/InstallDialog.vue → dialog/InstallExtensionDialog.vue} +124 -106
  393. package/{components/form/SSHKnownHosts → dialog}/KnownHostsEditDialog.vue +52 -62
  394. package/dialog/MoveNamespaceDialog.vue +157 -0
  395. package/dialog/OidcClientSecretDialog.vue +117 -0
  396. package/dialog/RedeployWorkloadDialog.vue +164 -0
  397. package/dialog/RollbackWorkloadDialog.vue +1 -1
  398. package/dialog/RotateEncryptionKeyDialog.vue +10 -30
  399. package/dialog/ScalePoolDownDialog.vue +1 -1
  400. package/{components/nav/Jump.vue → dialog/SearchDialog.vue} +34 -14
  401. package/{pages/c/_cluster/uiplugins/UninstallDialog.vue → dialog/UninstallExtensionDialog.vue} +67 -58
  402. package/dialog/WechatDialog.vue +57 -0
  403. package/{components/form/SSHKnownHosts → dialog}/__tests__/KnownHostsEditDialog.test.ts +15 -34
  404. package/edit/__tests__/cis.cattle.io.clusterscan.test.ts +3 -3
  405. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +60 -68
  406. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +224 -0
  407. package/edit/__tests__/service.test.ts +2 -1
  408. package/edit/auth/ldap/__tests__/config.test.ts +14 -0
  409. package/edit/auth/ldap/config.vue +24 -0
  410. package/edit/auth/oidc.vue +159 -93
  411. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
  412. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
  413. package/edit/autoscaling.horizontalpodautoscaler/index.vue +7 -2
  414. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
  415. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
  416. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
  417. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
  418. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  419. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
  420. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  421. package/edit/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +30 -31
  422. package/edit/{cis.cattle.io.clusterscanbenchmark.vue → compliance.cattle.io.clusterscanbenchmark.vue} +4 -4
  423. package/edit/{cis.cattle.io.clusterscanprofile.vue → compliance.cattle.io.clusterscanprofile.vue} +5 -5
  424. package/edit/configmap.vue +12 -2
  425. package/edit/constraints.gatekeeper.sh.constraint/index.vue +1 -0
  426. package/edit/fleet.cattle.io.gitrepo.vue +70 -256
  427. package/edit/fleet.cattle.io.helmop.vue +786 -0
  428. package/edit/helm.cattle.io.projecthelmchart.vue +1 -0
  429. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +1 -0
  430. package/edit/logging-flow/index.vue +2 -2
  431. package/edit/logging.banzaicloud.io.output/index.vue +2 -1
  432. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +8 -9
  433. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -19
  434. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +23 -23
  435. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +19 -19
  436. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +14 -14
  437. package/edit/logging.banzaicloud.io.output/providers/forward.vue +12 -12
  438. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +23 -23
  439. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +6 -6
  440. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  441. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +8 -8
  442. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +17 -17
  443. package/edit/logging.banzaicloud.io.output/providers/logz.vue +7 -7
  444. package/edit/logging.banzaicloud.io.output/providers/loki.vue +12 -12
  445. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  446. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +14 -14
  447. package/edit/logging.banzaicloud.io.output/providers/redis.vue +6 -6
  448. package/edit/logging.banzaicloud.io.output/providers/s3.vue +23 -23
  449. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +13 -13
  450. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  451. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +54 -54
  452. package/edit/management.cattle.io.fleetworkspace.vue +44 -10
  453. package/edit/management.cattle.io.oidcclient.vue +162 -0
  454. package/edit/management.cattle.io.project.vue +4 -1
  455. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +1 -1
  456. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -0
  457. package/edit/monitoring.coreos.com.prometheusrule/index.vue +1 -0
  458. package/edit/monitoring.coreos.com.receiver/auth.vue +3 -3
  459. package/edit/monitoring.coreos.com.receiver/index.vue +1 -0
  460. package/edit/monitoring.coreos.com.receiver/types/email.vue +1 -1
  461. package/edit/monitoring.coreos.com.route.vue +1 -0
  462. package/edit/namespace.vue +2 -4
  463. package/edit/networking.istio.io.destinationrule/index.vue +4 -1
  464. package/edit/networking.k8s.io.ingress/Certificate.vue +25 -8
  465. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  466. package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
  467. package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
  468. package/edit/networking.k8s.io.ingress/__tests__/Certificate.test.ts +37 -0
  469. package/edit/networking.k8s.io.ingress/index.vue +4 -1
  470. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +6 -17
  471. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
  472. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +69 -73
  473. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +10 -16
  474. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +72 -41
  475. package/edit/networking.k8s.io.networkpolicy/__tests__/utils/mock.json +17 -1
  476. package/edit/networking.k8s.io.networkpolicy/index.vue +24 -32
  477. package/edit/node.vue +1 -0
  478. package/edit/persistentvolume/index.vue +7 -2
  479. package/edit/persistentvolumeclaim.vue +2 -0
  480. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +26 -12
  481. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +69 -2
  482. package/edit/provisioning.cattle.io.cluster/__tests__/utils/rke2-test-data.ts +58 -0
  483. package/edit/provisioning.cattle.io.cluster/index.vue +21 -73
  484. package/edit/provisioning.cattle.io.cluster/rke2.vue +535 -428
  485. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +49 -40
  486. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +5 -3
  487. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +5 -0
  488. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +2 -2
  489. package/edit/resources.cattle.io.restore.vue +1 -1
  490. package/edit/secret/basic.vue +1 -0
  491. package/edit/secret/index.vue +129 -17
  492. package/edit/service.vue +21 -30
  493. package/edit/serviceaccount.vue +4 -1
  494. package/edit/storage.k8s.io.storageclass/index.vue +14 -9
  495. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
  496. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
  497. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
  498. package/edit/workload/Job.vue +31 -34
  499. package/edit/workload/Upgrading.vue +5 -5
  500. package/edit/workload/index.vue +32 -32
  501. package/edit/workload/mixins/workload.js +0 -2
  502. package/edit/workload/storage/Mount.vue +1 -0
  503. package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
  504. package/edit/workload/storage/azureDisk.vue +14 -10
  505. package/edit/workload/storage/azureFile.vue +9 -7
  506. package/edit/workload/storage/csi/index.vue +6 -9
  507. package/edit/workload/storage/emptyDir.vue +7 -5
  508. package/edit/workload/storage/gcePersistentDisk.vue +9 -7
  509. package/edit/workload/storage/hostPath.vue +7 -5
  510. package/edit/workload/storage/nfs.vue +8 -6
  511. package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
  512. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
  513. package/edit/workload/storage/secret.vue +9 -6
  514. package/edit/workload/storage/vsphereVolume.vue +11 -7
  515. package/initialize/app-extended.js +7 -1
  516. package/list/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +2 -2
  517. package/list/fleet.cattle.io.gitrepo.vue +1 -1
  518. package/list/fleet.cattle.io.helmop.vue +108 -0
  519. package/list/harvesterhci.io.management.cluster.vue +0 -17
  520. package/list/management.cattle.io.feature.vue +4 -288
  521. package/list/management.cattle.io.oidcclient.vue +108 -0
  522. package/list/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +8 -6
  523. package/list/management.cattle.io.user.vue +13 -20
  524. package/list/namespace.vue +6 -2
  525. package/list/node.vue +2 -0
  526. package/list/projectsecret.vue +345 -0
  527. package/list/secret.vue +109 -0
  528. package/list/workload.vue +6 -2
  529. package/machine-config/__tests__/vmwarevsphere.test.ts +5 -7
  530. package/machine-config/amazonec2.vue +3 -24
  531. package/machine-config/components/GCEImage.vue +374 -0
  532. package/machine-config/google.vue +617 -0
  533. package/machine-config/vmwarevsphere.vue +7 -17
  534. package/mixins/__tests__/brand.spec.ts +170 -0
  535. package/mixins/auth-config.js +8 -1
  536. package/mixins/brand.js +16 -17
  537. package/mixins/create-edit-view/impl.js +20 -1
  538. package/mixins/create-edit-view/index.js +5 -0
  539. package/mixins/preset.js +100 -0
  540. package/mixins/resource-fetch-api-pagination.js +73 -44
  541. package/mixins/resource-fetch.js +18 -8
  542. package/mixins/resource-table-watch.js +45 -0
  543. package/mixins/vue-select-overrides.js +1 -4
  544. package/models/__tests__/chart.test.ts +296 -0
  545. package/models/__tests__/fleet.cattle.io.gitrepo.test.ts +1 -1
  546. package/models/__tests__/fleet.cattle.io.helmop.test.ts +224 -0
  547. package/models/__tests__/node.test.ts +7 -63
  548. package/models/__tests__/workload.test.ts +1 -0
  549. package/models/chart.js +157 -2
  550. package/models/cluster/node.js +2 -1
  551. package/models/cluster.js +32 -2
  552. package/models/cluster.x-k8s.io.machinedeployment.js +11 -2
  553. package/models/{cis.cattle.io.clusterscan.js → compliance.cattle.io.clusterscan.js} +8 -8
  554. package/models/{cis.cattle.io.clusterscanbenchmark.js → compliance.cattle.io.clusterscanbenchmark.js} +1 -1
  555. package/models/{cis.cattle.io.clusterscanprofile.js → compliance.cattle.io.clusterscanprofile.js} +5 -5
  556. package/models/{cis.cattle.io.clusterscanreport.js → compliance.cattle.io.clusterscanreport.js} +1 -1
  557. package/models/fleet-application.js +297 -0
  558. package/models/fleet.cattle.io.bundle.js +9 -8
  559. package/models/fleet.cattle.io.cluster.js +21 -4
  560. package/models/fleet.cattle.io.gitrepo.js +46 -382
  561. package/models/fleet.cattle.io.helmop.js +202 -0
  562. package/models/management.cattle.io.authconfig.js +1 -0
  563. package/models/management.cattle.io.cluster.js +0 -20
  564. package/models/management.cattle.io.feature.js +7 -1
  565. package/models/management.cattle.io.fleetworkspace.js +14 -1
  566. package/models/management.cattle.io.node.js +7 -22
  567. package/models/management.cattle.io.nodepool.js +12 -0
  568. package/models/management.cattle.io.oidcclient.js +18 -0
  569. package/models/management.cattle.io.registration.js +3 -0
  570. package/models/management.cattle.io.setting.js +0 -1
  571. package/models/namespace.js +12 -1
  572. package/models/provisioning.cattle.io.cluster.js +79 -115
  573. package/models/secret.js +157 -2
  574. package/models/service.js +28 -9
  575. package/models/storage.k8s.io.storageclass.js +2 -2
  576. package/models/workload.js +93 -53
  577. package/package.json +6 -5
  578. package/pages/about.vue +17 -61
  579. package/pages/account/index.vue +105 -116
  580. package/pages/auth/login.vue +2 -3
  581. package/pages/auth/setup.vue +36 -17
  582. package/pages/auth/verify.vue +13 -1
  583. package/pages/c/_cluster/apps/charts/AddRepoLink.vue +36 -0
  584. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +80 -0
  585. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +57 -0
  586. package/pages/c/_cluster/apps/charts/StatusLabel.vue +33 -0
  587. package/pages/c/_cluster/apps/charts/index.vue +501 -468
  588. package/pages/c/_cluster/apps/charts/install.vue +0 -1
  589. package/pages/c/_cluster/auth/roles/index.vue +72 -44
  590. package/pages/c/_cluster/auth/user.retention/index.vue +87 -78
  591. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
  592. package/pages/c/_cluster/explorer/EventsTable.vue +1 -1
  593. package/pages/c/_cluster/explorer/index.vue +16 -4
  594. package/pages/c/_cluster/explorer/projectsecret.vue +34 -0
  595. package/pages/c/_cluster/explorer/tools/index.vue +6 -6
  596. package/pages/c/_cluster/explorer/tools/pages/_page.vue +0 -1
  597. package/pages/c/_cluster/fleet/__tests__/index.test.ts +720 -0
  598. package/pages/c/_cluster/fleet/application/_resource/_id.vue +14 -0
  599. package/pages/c/_cluster/fleet/application/_resource/create.vue +14 -0
  600. package/pages/c/_cluster/fleet/application/create.vue +341 -0
  601. package/pages/c/_cluster/fleet/application/index.vue +139 -0
  602. package/pages/c/_cluster/fleet/graph/config.js +277 -0
  603. package/pages/c/_cluster/fleet/index.vue +866 -328
  604. package/pages/c/_cluster/fleet/settings/index.vue +229 -0
  605. package/pages/c/_cluster/longhorn/index.vue +5 -2
  606. package/pages/c/_cluster/settings/banners.vue +56 -2
  607. package/pages/c/_cluster/settings/brand.vue +2 -1
  608. package/pages/c/_cluster/settings/performance.vue +7 -26
  609. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +16 -1
  610. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +2 -2
  611. package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +4 -7
  612. package/pages/c/_cluster/uiplugins/index.vue +98 -55
  613. package/pages/explorer/resource/detail/configmap.vue +42 -0
  614. package/pages/explorer/resource/detail/projectsecret.vue +9 -0
  615. package/pages/explorer/resource/detail/secret.vue +63 -0
  616. package/pages/home.vue +63 -117
  617. package/pages/prefs.vue +0 -1
  618. package/pages/support/index.vue +4 -6
  619. package/pkg/tsconfig.json +9 -9
  620. package/pkg/vue.config.js +1 -1
  621. package/plugins/clean-html.js +2 -0
  622. package/plugins/dashboard-store/__tests__/actions.test.ts +4 -1
  623. package/plugins/dashboard-store/__tests__/normalize.test.ts +223 -0
  624. package/plugins/dashboard-store/__tests__/resource-class.test.ts +191 -0
  625. package/plugins/dashboard-store/__tests__/utils/normalize-usecases.ts +1526 -0
  626. package/plugins/dashboard-store/actions.js +213 -56
  627. package/plugins/dashboard-store/getters.js +112 -24
  628. package/plugins/dashboard-store/mutations.js +61 -12
  629. package/plugins/dashboard-store/normalize.js +29 -19
  630. package/plugins/dashboard-store/resource-class.js +105 -21
  631. package/plugins/steve/__tests__/getters.test.ts +19 -12
  632. package/plugins/steve/__tests__/steve-class.test.ts +1 -0
  633. package/plugins/steve/__tests__/subscribe.spec.ts +324 -1
  634. package/plugins/steve/actions.js +37 -24
  635. package/plugins/steve/getters.js +47 -12
  636. package/plugins/steve/resourceWatcher.js +10 -3
  637. package/plugins/steve/steve-class.js +5 -0
  638. package/plugins/steve/steve-pagination-utils.ts +225 -43
  639. package/plugins/steve/subscribe.js +418 -53
  640. package/plugins/steve/worker/web-worker.advanced.js +5 -1
  641. package/public/favicon.png +0 -0
  642. package/public/index.html +1 -1
  643. package/rancher-components/BadgeState/BadgeState.vue +33 -52
  644. package/rancher-components/Banner/Banner.test.ts +51 -3
  645. package/rancher-components/Banner/Banner.vue +53 -10
  646. package/rancher-components/Form/Checkbox/Checkbox.test.ts +59 -1
  647. package/rancher-components/Form/Checkbox/Checkbox.vue +27 -9
  648. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +51 -0
  649. package/rancher-components/Form/LabeledInput/LabeledInput.vue +21 -3
  650. package/rancher-components/Form/Radio/RadioButton.test.ts +36 -1
  651. package/rancher-components/Form/Radio/RadioButton.vue +21 -5
  652. package/rancher-components/Form/Radio/RadioGroup.test.ts +60 -0
  653. package/rancher-components/Form/Radio/RadioGroup.vue +90 -39
  654. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +4 -0
  655. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +22 -1
  656. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +32 -2
  657. package/rancher-components/RcButton/RcButton.vue +1 -1
  658. package/rancher-components/RcDropdown/RcDropdown.test.ts +98 -0
  659. package/rancher-components/RcDropdown/RcDropdown.vue +6 -0
  660. package/rancher-components/RcDropdown/RcDropdownItem.vue +8 -55
  661. package/rancher-components/RcDropdown/RcDropdownItemCheckbox.vue +69 -0
  662. package/rancher-components/RcDropdown/RcDropdownItemSelect.vue +93 -0
  663. package/rancher-components/RcDropdown/index.ts +2 -0
  664. package/rancher-components/RcDropdown/useDropdownContext.ts +21 -0
  665. package/rancher-components/RcDropdown/useDropdownItem.ts +92 -0
  666. package/rancher-components/RcItemCard/RcItemCard.test.ts +189 -0
  667. package/rancher-components/RcItemCard/RcItemCard.vue +430 -0
  668. package/rancher-components/RcItemCard/RcItemCardAction.vue +24 -0
  669. package/rancher-components/RcItemCard/index.ts +2 -0
  670. package/rancher-components/StringList/StringList.vue +1 -1
  671. package/scripts/build-pkg.sh +18 -23
  672. package/scripts/extension/publish +1 -1
  673. package/scripts/publish-shell.sh +1 -1
  674. package/static/loading-indicator.html +1 -1
  675. package/store/action-menu.js +26 -56
  676. package/store/auth.js +3 -0
  677. package/store/catalog.js +85 -25
  678. package/store/features.js +0 -1
  679. package/store/growl.js +97 -8
  680. package/store/i18n.js +5 -1
  681. package/store/index.js +48 -18
  682. package/store/notifications.ts +426 -0
  683. package/store/prefs.js +2 -8
  684. package/store/slideInPanel.ts +6 -0
  685. package/store/type-map.js +35 -20
  686. package/store/type-map.utils.ts +49 -6
  687. package/store/uiplugins.ts +15 -1
  688. package/types/fleet.d.ts +60 -1
  689. package/types/kube/kube-api.ts +34 -0
  690. package/types/notifications/index.ts +74 -0
  691. package/types/resources/fleet.d.ts +43 -0
  692. package/types/resources/pod-security-admission.ts +36 -0
  693. package/types/resources/settings.d.ts +107 -0
  694. package/types/resources/userPreferences.d.ts +13 -0
  695. package/types/shell/index.d.ts +949 -741
  696. package/types/store/dashboard-store.types.ts +57 -4
  697. package/types/store/pagination.types.ts +41 -9
  698. package/types/store/subscribe.types.ts +50 -0
  699. package/utils/__mocks__/tabbable.js +13 -0
  700. package/utils/__tests__/back-off.test.ts +354 -0
  701. package/utils/__tests__/create-yaml.test.ts +235 -0
  702. package/utils/__tests__/fleet.test.ts +148 -0
  703. package/utils/__tests__/kontainer.test.ts +19 -0
  704. package/utils/__tests__/object.test.ts +54 -1
  705. package/utils/__tests__/string.test.ts +273 -1
  706. package/utils/__tests__/time.test.ts +31 -0
  707. package/utils/auth.js +41 -6
  708. package/utils/back-off.ts +176 -0
  709. package/utils/cluster.js +24 -20
  710. package/utils/create-yaml.js +103 -9
  711. package/utils/crypto/encryption.ts +103 -0
  712. package/utils/cspAdaptor.ts +51 -0
  713. package/utils/error.js +26 -9
  714. package/utils/errorTranslate.json +410 -6
  715. package/utils/errorTranslateNew.json +39 -0
  716. package/utils/fleet-types.ts +0 -0
  717. package/utils/fleet.ts +204 -74
  718. package/utils/grafana.js +1 -0
  719. package/utils/kontainer.ts +3 -5
  720. package/utils/object.js +36 -12
  721. package/utils/pagination-utils.ts +50 -3
  722. package/utils/pagination-wrapper.ts +132 -50
  723. package/utils/perf-setting.utils.ts +28 -0
  724. package/utils/release-notes.ts +48 -0
  725. package/utils/roleFiltering.js +33 -0
  726. package/utils/selector-typed.ts +210 -0
  727. package/utils/selector.js +29 -6
  728. package/utils/settings.ts +4 -1
  729. package/utils/string.js +24 -0
  730. package/utils/style.ts +39 -0
  731. package/utils/{time.js → time.ts} +25 -6
  732. package/utils/uiplugins.ts +41 -8
  733. package/utils/v-sphere.ts +5 -1
  734. package/utils/validators/formRules/__tests__/index.test.ts +76 -6
  735. package/utils/validators/formRules/index.ts +99 -4
  736. package/utils/window.js +11 -7
  737. package/vue.config.js +1 -1
  738. package/.DS_Store +0 -0
  739. package/components/AssignTo.vue +0 -199
  740. package/components/DisableAuthProviderModal.vue +0 -115
  741. package/components/MoveModal.vue +0 -167
  742. package/components/PromptChangePassword.vue +0 -123
  743. package/components/ResourceList/Masthead-btn.vue +0 -225
  744. package/components/__tests__/ApplicationCard.test.ts +0 -27
  745. package/components/cards/ApplicationCard.vue +0 -145
  746. package/components/fleet/FleetBundleResources.vue +0 -86
  747. package/components/fleet/ForceDirectedTreeChart/chartIcons.js +0 -17
  748. package/components/formatter/RKETemplateName.vue +0 -37
  749. package/config/product/legacy.js +0 -62
  750. package/config/secret.js +0 -14
  751. package/dialog/SaveAsRKETemplateDialog.vue +0 -139
  752. package/models/etcdbackup.js +0 -45
  753. package/pages/auth copy/login.vue +0 -595
  754. package/pages/auth copy/logout.vue +0 -47
  755. package/pages/auth copy/setup.vue +0 -523
  756. package/pages/auth copy/verify.vue +0 -203
  757. package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +0 -249
  758. package/pages/c/_cluster/legacy/pages/_page.vue +0 -29
  759. package/pages/c/_cluster/legacy/project/_page.vue +0 -57
  760. package/pages/c/_cluster/legacy/project/index.vue +0 -32
  761. package/pages/c/_cluster/legacy/project/pipelines.vue +0 -96
@@ -45,7 +45,6 @@ export const SETTING = {
45
45
  AUTH_TOKEN_MAX_TTL_MINUTES: 'auth-token-max-ttl-minutes',
46
46
  KUBECONFIG_GENERATE_TOKEN: 'kubeconfig-generate-token',
47
47
  KUBECONFIG_DEFAULT_TOKEN_TTL_MINUTES: 'kubeconfig-default-token-ttl-minutes',
48
- ENGINE_URL: 'engine-install-url',
49
48
  ENGINE_ISO_URL: 'engine-iso-url',
50
49
  FIRST_LOGIN: 'first-login',
51
50
  INGRESS_IP_DOMAIN: 'ingress-ip-domain',
@@ -57,7 +56,6 @@ export const SETTING = {
57
56
  AUTH_USER_INFO_RESYNC_CRON: 'auth-user-info-resync-cron',
58
57
  AUTH_LOCAL_VALIDATE_DESC: 'auth-password-requirements-description',
59
58
  PASSWORD_MIN_LENGTH: 'password-min-length', // CATTLE_PASSWORD_MIN_LENGTH
60
- CLUSTER_TEMPLATE_ENFORCEMENT: 'cluster-template-enforcement',
61
59
  UI_INDEX: 'ui-index',
62
60
  UI_DASHBOARD_INDEX: 'ui-dashboard-index',
63
61
  UI_DASHBOARD_HARVESTER_LEGACY_PLUGIN: 'ui-dashboard-harvester-legacy-plugin',
@@ -108,6 +106,7 @@ export const SETTING = {
108
106
  DISABLE_INACTIVE_USER_AFTER: 'disable-inactive-user-after',
109
107
  DELETE_INACTIVE_USER_AFTER: 'delete-inactive-user-after',
110
108
  K3S_UPGRADER_UNINSTALL_CONCURRENCY: 'k3s-based-upgrader-uninstall-concurrency',
109
+ SYSTEM_AGENT_UPGRADER_INSTALL_CONCURRENCY: 'system-agent-upgrader-install-concurrency',
111
110
  IMPORTED_CLUSTER_VERSION_MANAGEMENT: 'imported-cluster-version-management',
112
111
  CLUSTER_AGENT_DEFAULT_PRIORITY_CLASS: 'cluster-agent-default-priority-class',
113
112
  CLUSTER_AGENT_DEFAULT_POD_DISTRIBUTION_BUDGET: 'cluster-agent-default-pod-disruption-budget'
@@ -144,7 +143,6 @@ export const ALLOWED_SETTINGS_NEW: GlobalSetting = {
144
143
  // These are the settings that are allowed to be edited via the UI
145
144
  export const ALLOWED_SETTINGS: GlobalSetting = {
146
145
  [SETTING.CA_CERTS]: { kind: 'multiline', readOnly: true },
147
- [SETTING.ENGINE_URL]: {},
148
146
  [SETTING.ENGINE_ISO_URL]: {},
149
147
  [SETTING.PASSWORD_MIN_LENGTH]: {
150
148
  kind: 'integer',
@@ -184,14 +182,17 @@ export const ALLOWED_SETTINGS: GlobalSetting = {
184
182
  kind: 'enum',
185
183
  options: ['dynamic', 'true', 'false']
186
184
  },
187
- [SETTING.BRAND]: { canReset: true },
188
- [SETTING.CLUSTER_TEMPLATE_ENFORCEMENT]: { kind: 'boolean' },
189
- [SETTING.HIDE_LOCAL_CLUSTER]: { kind: 'boolean' },
190
- [SETTING.AGENT_TLS_MODE]: {
185
+ [SETTING.BRAND]: { canReset: true },
186
+ [SETTING.HIDE_LOCAL_CLUSTER]: { kind: 'boolean' },
187
+ [SETTING.AGENT_TLS_MODE]: {
191
188
  kind: 'enum',
192
189
  options: ['strict', 'system-store'],
193
190
  warning: 'agent-tls-mode'
194
191
  },
192
+ [SETTING.SYSTEM_AGENT_UPGRADER_INSTALL_CONCURRENCY]: {
193
+ kind: 'integer',
194
+ ruleSet: [{ name: 'minValue', factoryArg: 1 }]
195
+ },
195
196
  [SETTING.K3S_UPGRADER_UNINSTALL_CONCURRENCY]: {
196
197
  kind: 'integer',
197
198
  ruleSet: [{ name: 'minValue', factoryArg: 1 }]
@@ -202,7 +203,20 @@ export const ALLOWED_SETTINGS: GlobalSetting = {
202
203
 
203
204
  };
204
205
 
205
- export const PROVISIONING_SETTINGS = ['engine-iso-url', 'engine-install-url', 'imported-cluster-version-management', 'cluster-agent-default-priority-class', 'cluster-agent-default-pod-disruption-budget'];
206
+ /**
207
+ * Show settings in a special cluster provisioning section
208
+ *
209
+ * These should probably be an option in the maps above...
210
+ */
211
+ export const PROVISIONING_SETTINGS = [
212
+ SETTING.ENGINE_ISO_URL,
213
+ SETTING.RKE_METADATA_CONFIG,
214
+ SETTING.K3S_UPGRADER_UNINSTALL_CONCURRENCY,
215
+ SETTING.IMPORTED_CLUSTER_VERSION_MANAGEMENT,
216
+ SETTING.CLUSTER_AGENT_DEFAULT_PRIORITY_CLASS,
217
+ SETTING.CLUSTER_AGENT_DEFAULT_POD_DISTRIBUTION_BUDGET
218
+ ];
219
+
206
220
  /**
207
221
  * Settings on how to handle warnings returning in api responses, specifically which to show as growls
208
222
  */
@@ -228,14 +242,17 @@ export interface PerfSettingsKubeApi {
228
242
 
229
243
  export interface PerfSettings {
230
244
  inactivity: {
231
- enabled: boolean;
232
- threshold: number;
245
+ enabled: boolean;
246
+ threshold: number;
233
247
  };
234
248
  incrementalLoading: {
235
- enabled: boolean;
236
- threshold: number;
249
+ enabled: boolean;
250
+ threshold: number;
251
+ };
252
+ manualRefresh: {
253
+ enabled: boolean;
254
+ threshold: number;
237
255
  };
238
- manualRefresh: {};
239
256
  disableWebsocketNotification: boolean;
240
257
  garbageCollection: GC_PREFERENCES;
241
258
  forceNsFilterV2: any;
@@ -279,8 +296,8 @@ export const DEFAULT_PERF_SETTING: PerfSettings = {
279
296
  }
280
297
  },
281
298
  serverPagination: {
282
- enabled: false,
283
- useDefaultStores: true,
284
- stores: undefined,
299
+ useDefaultStores: true,
300
+ stores: undefined,
301
+ resourceChangesDebounceMs: 4000,
285
302
  }
286
303
  };
package/config/store.js CHANGED
@@ -38,6 +38,7 @@ let store = {};
38
38
  resolveStoreModules(require('../store/wm.js'), 'wm.js');
39
39
  resolveStoreModules(require('../store/customisation.js'), 'customisation.js');
40
40
  resolveStoreModules(require('../store/cru-resource.ts'), 'cru-resource.ts');
41
+ resolveStoreModules(require('../store/notifications.ts'), 'notifications.ts');
41
42
 
42
43
  // If the environment supports hot reloading...
43
44
 
@@ -67,6 +68,7 @@ let store = {};
67
68
  '../store/wm.js',
68
69
  '../store/customisation.js',
69
70
  '../store/cru-resource.ts',
71
+ '../store/notifications.ts',
70
72
  ], () => {
71
73
  // Update `root.modules` with the latest definitions.
72
74
  updateModules();
@@ -12,7 +12,7 @@ export default [
12
12
  'linkerd',
13
13
  'security-scan',
14
14
  'tekton-pipelines',
15
- 'cis-operator-system',
15
+ 'compliance-operator-system',
16
16
  'istio-system',
17
17
  'longhorn-system',
18
18
  ];
@@ -1,4 +1,4 @@
1
- import { CATTLE_PUBLIC_ENDPOINTS } from '@shell/config/labels-annotations';
1
+ import { CATTLE_PUBLIC_ENDPOINTS, UI_PROJECT_SECRET_COPY } from '@shell/config/labels-annotations';
2
2
  import { NODE as NODE_TYPE } from '@shell/config/types';
3
3
  import { COLUMN_BREAKPOINTS } from '@shell/types/store/type-map';
4
4
 
@@ -52,7 +52,7 @@ export const NAME = {
52
52
  getValue: (row) => row.nameDisplay,
53
53
  sort: ['nameSort'],
54
54
  formatter: 'LinkDetail',
55
- width: 200,
55
+ width: 200,
56
56
  canBeVariable: true,
57
57
  };
58
58
 
@@ -267,11 +267,13 @@ export const CREATION_DATE = {
267
267
  };
268
268
 
269
269
  export const DESCRIPTION = {
270
- name: 'description',
271
- labelKey: 'tableHeaders.description',
272
- align: 'left',
273
- sort: ['description'],
274
- width: 300,
270
+ name: 'description',
271
+ labelKey: 'tableHeaders.description',
272
+ align: 'left',
273
+ value: 'description',
274
+ sort: ['description'],
275
+ formatter: 'Description',
276
+ width: 300,
275
277
  };
276
278
 
277
279
  export const NS_SNAPSHOT_QUOTA = {
@@ -382,6 +384,29 @@ export const SECRET_DATA = {
382
384
  formatter: 'SecretData'
383
385
  };
384
386
 
387
+ export const SECRET_CLONE = {
388
+ name: 'secret-clone',
389
+ labelKey: 'tableHeaders.secret.project-clone',
390
+ tooltip: 'tableHeaders.secret.project-clone-tooltip',
391
+ value: 'isProjectSecretCopy',
392
+ sort: `metadata.annotations."${ UI_PROJECT_SECRET_COPY }"`,
393
+ search: false,
394
+ formatter: 'Checked',
395
+ };
396
+
397
+ export const SECRET_PROJECT_SCOPED = {
398
+ name: 'secret-project-scoped',
399
+ labelKey: 'tableHeaders.secret.project-scoped',
400
+ tooltip: 'tableHeaders.secret.project-scoped-tooltip',
401
+ value: 'clusterAndProjectLabel',
402
+ // Cannot _sort_ upstream secrets by if they are cluster scoped
403
+ // https://github.com/rancher/rancher/issues/51001
404
+ // metadata.labels[management.cattle.io/project-scoped-secret] - covers both cluster scoped AND clones
405
+ // metadata.annotations[management.cattle.io/project-scoped-secret-copy]
406
+ // sort: [`metadata.labels[${ UI_PROJECT_SECRET }]`, `metadata.annotations[${ UI_PROJECT_SECRET_COPY }]`],
407
+ search: false,
408
+ };
409
+
385
410
  export const TARGET_KIND = {
386
411
  name: 'target-kind',
387
412
  labelKey: 'tableHeaders.targetKind',
@@ -760,6 +785,52 @@ export const FLEET_SUMMARY = {
760
785
  width: 100,
761
786
  };
762
787
 
788
+ export const FLEET_APPLICATION_TYPE = {
789
+ name: 'applicationType',
790
+ labelKey: 'fleet.tableHeaders.applicationType',
791
+ value: 'kind',
792
+ sort: 'kind',
793
+ search: false,
794
+ align: 'center',
795
+ width: 100,
796
+ };
797
+
798
+ export const FLEET_APPLICATION_SOURCE = {
799
+ name: 'applicationSource',
800
+ labelKey: 'fleet.tableHeaders.applicationSource',
801
+ value: 'source.value',
802
+ formatter: 'FleetApplicationSource',
803
+ sort: 'source.value',
804
+ search: ['source.value', 'sourceSub.value'],
805
+ };
806
+
807
+ export const FLEET_APPLICATION_TARGET = {
808
+ name: 'applicationTarget',
809
+ labelKey: 'fleet.tableHeaders.applicationTarget',
810
+ value: 'targetInfo.modeDisplay',
811
+ sort: ['targetInfo.modeDisplay'],
812
+ };
813
+
814
+ export const FLEET_APPLICATION_CLUSTERS_READY = {
815
+ name: 'applicationClustersReady',
816
+ labelKey: 'fleet.tableHeaders.applicationClustersReady',
817
+ value: 'readyClusters',
818
+ formatter: 'FleetApplicationClustersReady',
819
+ sort: 'readyClusters',
820
+ search: false,
821
+ };
822
+
823
+ export const FLEET_APPLICATION_RESOURCES_SUMMARY = {
824
+ name: 'applicationResourcesSummary',
825
+ labelKey: 'fleet.tableHeaders.applicationResourcesSummary',
826
+ value: 'status.resourceCounts',
827
+ sort: false,
828
+ search: false,
829
+ formatter: 'FleetSummaryGraph',
830
+ align: 'center',
831
+ width: 100,
832
+ };
833
+
763
834
  export const FLEET_REPO_CLUSTER_SUMMARY = {
764
835
  name: 'clusterSummary',
765
836
  labelKey: 'tableHeaders.clusterResources',
@@ -1051,36 +1122,20 @@ export const FLEET_BUNDLE_LAST_UPDATED = {
1051
1122
  sort: ['lastUpdateTime']
1052
1123
  };
1053
1124
 
1054
- export const FLEET_BUNDLE_TYPE = {
1055
- name: 'bundleType',
1056
- labelKey: 'tableHeaders.fleetBundleType',
1057
- value: 'bundleType',
1058
- sort: ['bundleType'],
1059
- width: 100,
1060
- };
1061
-
1062
- export const FLEET_REPO_CLUSTERS_READY = {
1063
- name: 'clustersReady',
1064
- labelKey: 'tableHeaders.clustersReady',
1065
- value: 'status.readyClusters',
1066
- sort: 'status.readyClusters',
1067
- search: false,
1068
- };
1069
-
1070
1125
  export const FLEET_REPO_TARGET = {
1071
1126
  name: 'target',
1072
1127
  labelKey: 'tableHeaders.target',
1073
1128
  value: 'targetInfo.modeDisplay',
1074
- sort: ['targetInfo.modeDisplay', 'targetInfo.cluster', 'targetInfo.clusterGroup'],
1075
-
1129
+ sort: ['targetInfo.modeDisplay'],
1076
1130
  };
1077
1131
 
1078
1132
  export const FLEET_REPO = {
1079
- name: 'repo',
1080
- labelKey: 'tableHeaders.repo',
1081
- value: 'repoDisplay',
1082
- sort: 'repoDisplay',
1083
- search: ['spec.repo', 'status.commit'],
1133
+ name: 'repo',
1134
+ labelKey: 'tableHeaders.repo',
1135
+ value: 'source.value',
1136
+ formatter: 'FleetApplicationSource',
1137
+ sort: 'source.value',
1138
+ search: ['source.value', 'sourceSub.value'],
1084
1139
  };
1085
1140
 
1086
1141
  export const UI_PLUGIN_CATALOG = [
@@ -1114,3 +1169,9 @@ export const UI_PLUGIN_CATALOG = [
1114
1169
  value: 'repo.metadata.name'
1115
1170
  }
1116
1171
  ];
1172
+
1173
+ // SECRETS
1174
+ export const PROJECT = {
1175
+ name: 'project',
1176
+ labelKey: 'tableHeaders.project',
1177
+ };
package/config/types.js CHANGED
@@ -14,7 +14,6 @@ export const STEVE = {
14
14
  export const NORMAN = {
15
15
  APP: 'app',
16
16
  AUTH_CONFIG: 'authconfig',
17
- ETCD_BACKUP: 'etcdbackup',
18
17
  CLUSTER: 'cluster',
19
18
  CLUSTER_TOKEN: 'clusterregistrationtoken',
20
19
  CLUSTER_ROLE_TEMPLATE_BINDING: 'clusterroletemplatebinding',
@@ -134,6 +133,14 @@ export const CATALOG = {
134
133
  REPO: 'catalog.cattle.io.repo',
135
134
  };
136
135
 
136
+ // Charts/Apps
137
+ export const CATALOG_SORT_OPTIONS = {
138
+ RECOMMENDED: 'recommended',
139
+ LAST_UPDATED_DESC: 'lastupdatedDescending',
140
+ ALPHABETICAL_ASC: 'alphaAscending',
141
+ ALPHABETICAL_DESC: 'alphaDescending'
142
+ };
143
+
137
144
  // UI Plugin type
138
145
  export const UI_PLUGIN = 'catalog.cattle.io.uiplugin';
139
146
 
@@ -211,7 +218,8 @@ export const MANAGEMENT = {
211
218
  GLOBAL_DNS_PROVIDER: 'management.cattle.io.globaldnsprovider',
212
219
  RKE_TEMPLATE: 'management.cattle.io.clustertemplate',
213
220
  RKE_TEMPLATE_REVISION: 'management.cattle.io.clustertemplaterevision',
214
- CLUSTER_PROXY_CONFIG: 'management.cattle.io.clusterproxyconfig'
221
+ CLUSTER_PROXY_CONFIG: 'management.cattle.io.clusterproxyconfig',
222
+ OIDC_CLIENT: 'management.cattle.io.oidcclient'
215
223
  };
216
224
 
217
225
  export const CAPI = {
@@ -229,12 +237,14 @@ export const CAPI = {
229
237
  // Base: /k8s/clusters/<id>/v1/
230
238
 
231
239
  export const FLEET = {
240
+ APPLICATION: 'fleet.cattle.io.application',
232
241
  BUNDLE: 'fleet.cattle.io.bundle',
233
242
  BUNDLE_DEPLOYMENT: 'fleet.cattle.io.bundledeployment',
234
243
  CLUSTER: 'fleet.cattle.io.cluster',
235
244
  CLUSTER_GROUP: 'fleet.cattle.io.clustergroup',
236
245
  DASHBOARD: 'fleet.cattle.io.dashboard',
237
246
  GIT_REPO: 'fleet.cattle.io.gitrepo',
247
+ HELM_OP: 'fleet.cattle.io.helmop',
238
248
  WORKSPACE: 'management.cattle.io.fleetworkspace',
239
249
  TOKEN: 'fleet.cattle.io.clusterregistrationtoken',
240
250
  BUNDLE_NAMESPACE_MAPPING: 'fleet.cattle.io.bundlenamespacemapping',
@@ -292,11 +302,11 @@ export const BACKUP_RESTORE = {
292
302
  RESTORE: 'resources.cattle.io.restore',
293
303
  };
294
304
 
295
- export const CIS = {
296
- CLUSTER_SCAN: 'cis.cattle.io.clusterscan',
297
- CLUSTER_SCAN_PROFILE: 'cis.cattle.io.clusterscanprofile',
298
- BENCHMARK: 'cis.cattle.io.clusterscanbenchmark',
299
- REPORT: 'cis.cattle.io.clusterscanreport'
305
+ export const COMPLIANCE = {
306
+ CLUSTER_SCAN: 'compliance.cattle.io.clusterscan',
307
+ CLUSTER_SCAN_PROFILE: 'compliance.cattle.io.clusterscanprofile',
308
+ BENCHMARK: 'compliance.cattle.io.clusterscanbenchmark',
309
+ REPORT: 'compliance.cattle.io.clusterscanreport'
300
310
  };
301
311
 
302
312
  export const UI = { NAV_LINK: 'ui.cattle.io.navlink' };
@@ -305,6 +315,7 @@ export const VIRTUAL_TYPES = {
305
315
  CLUSTER_MEMBERS: 'cluster-members',
306
316
  PROJECT_NAMESPACES: 'projects-namespaces',
307
317
  NAMESPACES: 'namespaces',
318
+ PROJECT_SECRETS: 'projectsecret',
308
319
  JWT_AUTHENTICATION: 'jwt.authentication'
309
320
  };
310
321
 
package/config/version.js CHANGED
@@ -30,4 +30,4 @@ export function setKubeVersionData(v) {
30
30
  _kubeVersionData = JSON.parse(JSON.stringify(v));
31
31
  }
32
32
 
33
- export const CURRENT_RANCHER_VERSION = '2.11';
33
+ export const CURRENT_RANCHER_VERSION = '2.12';
@@ -32,12 +32,13 @@ function checkRouteProduct($route: RouteLocation, locationConfigParam: string) {
32
32
  return false;
33
33
  }
34
34
 
35
- function checkRouteMode({ name, query }: {name: string, query: any}, locationConfigParam: LocationConfigParams) {
35
+ function checkRouteMode({ name, query, meta }: {name: string, query: any, meta: any}, locationConfigParam: LocationConfigParams) {
36
36
  if (locationConfigParam === _EDIT && query.mode && query.mode === _EDIT && !query.as) {
37
37
  return true;
38
38
  } else if (locationConfigParam === _CONFIG && query.as && query.as === _CONFIG) {
39
39
  return true;
40
- } else if (locationConfigParam === _DETAIL && !query.as && name.includes('-id') && (!query.mode || query?.mode !== _EDIT)) {
40
+ // I don't think we should be inspecting route names to infer modes. I'm thinking we may want to move it all to route metadata at some point
41
+ } else if (locationConfigParam === _DETAIL && !query.as && (name.includes('-id') || meta.mode === 'detail') && (!query.mode || query?.mode !== _EDIT)) {
41
42
  return true;
42
43
  // alias to target all list views
43
44
  } else if (locationConfigParam === _LIST && !name.includes('-id') && name.includes('-resource')) {
package/core/plugin.ts CHANGED
@@ -14,7 +14,8 @@ import {
14
14
  ExtensionPoint,
15
15
  TabLocation,
16
16
  ModelExtensionConstructor,
17
- PluginRouteRecordRaw, RegisterStore, UnregisterStore, CoreStoreSpecifics, CoreStoreConfig, OnNavToPackage, OnNavAwayFromPackage, OnLogOut,
17
+ PluginRouteRecordRaw, RegisterStore, UnregisterStore, CoreStoreSpecifics, CoreStoreConfig,
18
+ NavHooks, OnNavToPackage, OnNavAwayFromPackage, OnLogIn, OnLogOut,
18
19
  ExtensionEnvironment
19
20
  } from './types';
20
21
  import coreStore, { coreStoreModule, coreStoreState } from '@shell/plugins/dashboard-store';
@@ -43,6 +44,7 @@ export class Plugin implements IPlugin {
43
44
  public onEnter: OnNavToPackage = () => Promise.resolve();
44
45
  public onLeave: OnNavAwayFromPackage = () => Promise.resolve();
45
46
  public _onLogOut: OnLogOut = () => Promise.resolve();
47
+ public onLogIn: OnLogIn = () => Promise.resolve();
46
48
 
47
49
  public uiConfig: { [key: string]: any } = {};
48
50
 
@@ -314,13 +316,36 @@ export class Plugin implements IPlugin {
314
316
  }
315
317
 
316
318
  public addNavHooks(
317
- onEnter: OnNavToPackage = () => Promise.resolve(),
318
- onLeave: OnNavAwayFromPackage = () => Promise.resolve(),
319
- onLogOut: OnLogOut = () => Promise.resolve(),
319
+ onEnter?: OnNavToPackage | NavHooks,
320
+ onLeave?: OnNavAwayFromPackage,
321
+ onLogOut?: OnLogOut,
322
+ onLogIn?: OnLogIn,
320
323
  ): void {
321
- this.onEnter = onEnter;
322
- this.onLeave = onLeave;
323
- this._onLogOut = onLogOut;
324
+ if (typeof onEnter === 'object') {
325
+ const hooks = onEnter as NavHooks;
326
+
327
+ if (hooks.onEnter) {
328
+ this.onEnter = hooks.onEnter;
329
+ }
330
+
331
+ if (hooks.onLeave) {
332
+ this.onLeave = hooks.onLeave;
333
+ }
334
+
335
+ if (hooks.onLogout) {
336
+ this._onLogOut = hooks.onLogout;
337
+ }
338
+
339
+ if (hooks.onLogin) {
340
+ this.onLogIn = hooks.onLogin;
341
+ }
342
+ } else {
343
+ // No first arg, or first arg is not an object, so this is the legacy invocation
344
+ this.onEnter = (onEnter as OnNavToPackage) || (() => Promise.resolve());
345
+ this.onLeave = onLeave || (() => Promise.resolve());
346
+ this._onLogOut = onLogOut || (() => Promise.resolve());
347
+ this.onLogIn = onLogIn || (() => Promise.resolve());
348
+ }
324
349
  }
325
350
 
326
351
  public async onLogOut(store: any) {
package/core/types.ts CHANGED
@@ -39,8 +39,19 @@ export type OnEnterLeavePackageConfig = {
39
39
  export type OnNavToPackage = (store: any, config: OnEnterLeavePackageConfig) => Promise<void>;
40
40
  export type OnNavAwayFromPackage = (store: any, config: OnEnterLeavePackageConfig) => Promise<void>;
41
41
  export type OnLogOut = (store: any) => Promise<void>;
42
+ export type OnLogIn = (store: any) => Promise<void>;
42
43
 
43
- /** Enum regarding the extensionable areas/places of the UI */
44
+ /**
45
+ * Navigation hooks specified as an object
46
+ */
47
+ export type NavHooks = {
48
+ onEnter?: OnNavToPackage,
49
+ onLeave?: OnNavAwayFromPackage,
50
+ onLogout?: OnLogOut,
51
+ onLogin?: OnLogIn,
52
+ }
53
+
54
+ /** Enum regarding the extensible areas/places of the UI */
44
55
  export enum ExtensionPoint {
45
56
  ACTION = 'Action', // eslint-disable-line no-unused-vars
46
57
  TAB = 'Tab', // eslint-disable-line no-unused-vars
@@ -49,31 +60,32 @@ export enum ExtensionPoint {
49
60
  TABLE_COL = 'TableColumn', // eslint-disable-line no-unused-vars
50
61
  }
51
62
 
52
- /** Enum regarding action locations that are extensionable in the UI */
63
+ /** Enum regarding action locations that are extensible in the UI */
53
64
  export enum ActionLocation {
54
65
  HEADER = 'header-action', // eslint-disable-line no-unused-vars
55
66
  TABLE = 'table-action', // eslint-disable-line no-unused-vars
56
67
  }
57
68
 
58
- /** Enum regarding panel locations that are extensionable in the UI */
69
+ /** Enum regarding panel locations that are extensible in the UI */
59
70
  export enum PanelLocation {
71
+ ABOUT_TOP = 'about-top', // eslint-disable-line no-unused-vars
60
72
  DETAILS_MASTHEAD = 'details-masthead', // eslint-disable-line no-unused-vars
61
73
  DETAIL_TOP = 'detail-top', // eslint-disable-line no-unused-vars
62
74
  RESOURCE_LIST = 'resource-list', // eslint-disable-line no-unused-vars
63
75
  }
64
76
 
65
- /** Enum regarding tab locations that are extensionable in the UI */
77
+ /** Enum regarding tab locations that are extensible in the UI */
66
78
  export enum TabLocation {
67
79
  RESOURCE_DETAIL = 'tab', // eslint-disable-line no-unused-vars
68
80
  CLUSTER_CREATE_RKE2 = 'cluster-create-rke2', // eslint-disable-line no-unused-vars
69
81
  }
70
82
 
71
- /** Enum regarding card locations that are extensionable in the UI */
83
+ /** Enum regarding card locations that are extensible in the UI */
72
84
  export enum CardLocation {
73
85
  CLUSTER_DASHBOARD_CARD = 'cluster-dashboard-card', // eslint-disable-line no-unused-vars
74
86
  }
75
87
 
76
- /** Enum regarding table col locations that are extensionable in the UI */
88
+ /** Enum regarding table col locations that are extensible in the UI */
77
89
  export enum TableColumnLocation {
78
90
  RESOURCE = 'resource-list', // eslint-disable-line no-unused-vars
79
91
  }
@@ -323,6 +335,10 @@ export interface HeaderOptions {
323
335
  }
324
336
 
325
337
  export interface ConfigureTypeOptions {
338
+ /**
339
+ * Override for the create button string on a list view
340
+ */
341
+ listCreateButtonLabelKey?: boolean;
326
342
  /**
327
343
  * The resource can edit/show yaml
328
344
  */
@@ -643,8 +659,10 @@ export interface IPlugin {
643
659
  addNavHooks(
644
660
  onEnter?: OnNavToPackage,
645
661
  onLeave?: OnNavAwayFromPackage,
646
- onLogOut?: OnLogOut
662
+ onLogOut?: OnLogOut,
663
+ onLogIn?: OnLogIn,
647
664
  ): void;
665
+ addNavHooks(hooks: NavHooks): void;
648
666
 
649
667
  /**
650
668
  * Adds a model extension
@@ -11,6 +11,7 @@ import merge from 'lodash/merge';
11
11
  import { CATALOG } from '@shell/config/types';
12
12
  import { sortBy } from '@shell/utils/sort';
13
13
  import { allHash } from '@shell/utils/promise';
14
+ import { mergeWithReplace } from '@shell/utils/object';
14
15
 
15
16
  export default {
16
17
  name: 'DetailRelease',
@@ -52,7 +53,10 @@ export default {
52
53
  },
53
54
 
54
55
  valuesYaml() {
55
- const combined = merge(merge({}, this.value?.chartValues || {}), this.value?.values || {});
56
+ const combined = mergeWithReplace(
57
+ merge({}, this.value?.chartValues || {}),
58
+ this.value?.values || {},
59
+ );
56
60
 
57
61
  return jsyaml.dump(combined);
58
62
  },