@rancher/shell 3.0.12-rc.2 → 3.0.12-rc.4

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 (473) hide show
  1. package/apis/impl/apis.ts +6 -0
  2. package/apis/index.ts +26 -0
  3. package/apis/intf/resources-api/cluster-api.ts +18 -0
  4. package/apis/intf/resources-api/mgmt-api.ts +15 -0
  5. package/apis/intf/resources-api/resource-base.ts +107 -0
  6. package/apis/intf/resources-api/resource-constants.ts +147 -0
  7. package/apis/intf/resources-api/resources-api.ts +143 -0
  8. package/apis/intf/resources.ts +49 -0
  9. package/apis/intf/{modal.ts → shell-api/modal.ts} +21 -26
  10. package/apis/intf/shell-api/proxy.ts +216 -0
  11. package/apis/intf/{slide-in.ts → shell-api/slide-in.ts} +4 -3
  12. package/apis/intf/{system.ts → shell-api/system.ts} +4 -1
  13. package/apis/intf/shell.ts +12 -6
  14. package/apis/resources/__tests__/resources-api-class.test.ts +550 -0
  15. package/apis/resources/index.ts +22 -0
  16. package/apis/resources/resources-api-class.ts +187 -0
  17. package/apis/shell/__tests__/proxy.test.ts +369 -0
  18. package/apis/shell/index.ts +8 -1
  19. package/apis/shell/modal.ts +4 -1
  20. package/apis/shell/notifications.ts +9 -6
  21. package/apis/shell/proxy.ts +256 -0
  22. package/apis/shell/slide-in.ts +4 -1
  23. package/apis/vue-shim.d.ts +2 -1
  24. package/assets/data/aws-regions.json +4 -0
  25. package/assets/fonts/lato/LatoLatin-Black.woff +0 -0
  26. package/assets/fonts/lato/LatoLatin-Black.woff2 +0 -0
  27. package/assets/fonts/lato/LatoLatin-BlackItalic.woff +0 -0
  28. package/assets/fonts/lato/LatoLatin-BlackItalic.woff2 +0 -0
  29. package/assets/fonts/lato/LatoLatin-Bold.woff +0 -0
  30. package/assets/fonts/lato/LatoLatin-Bold.woff2 +0 -0
  31. package/assets/fonts/lato/LatoLatin-BoldItalic.woff +0 -0
  32. package/assets/fonts/lato/LatoLatin-BoldItalic.woff2 +0 -0
  33. package/assets/fonts/lato/LatoLatin-Heavy.woff +0 -0
  34. package/assets/fonts/lato/LatoLatin-Heavy.woff2 +0 -0
  35. package/assets/fonts/lato/LatoLatin-HeavyItalic.woff +0 -0
  36. package/assets/fonts/lato/LatoLatin-HeavyItalic.woff2 +0 -0
  37. package/assets/fonts/lato/LatoLatin-Italic.woff +0 -0
  38. package/assets/fonts/lato/LatoLatin-Italic.woff2 +0 -0
  39. package/assets/fonts/lato/LatoLatin-Light.woff +0 -0
  40. package/assets/fonts/lato/LatoLatin-Light.woff2 +0 -0
  41. package/assets/fonts/lato/LatoLatin-LightItalic.woff +0 -0
  42. package/assets/fonts/lato/LatoLatin-LightItalic.woff2 +0 -0
  43. package/assets/fonts/lato/LatoLatin-Medium.woff +0 -0
  44. package/assets/fonts/lato/LatoLatin-Medium.woff2 +0 -0
  45. package/assets/fonts/lato/LatoLatin-MediumItalic.woff +0 -0
  46. package/assets/fonts/lato/LatoLatin-MediumItalic.woff2 +0 -0
  47. package/assets/fonts/lato/LatoLatin-Regular.woff +0 -0
  48. package/assets/fonts/lato/LatoLatin-Regular.woff2 +0 -0
  49. package/assets/fonts/lato/LatoLatin-Semibold.woff +0 -0
  50. package/assets/fonts/lato/LatoLatin-Semibold.woff2 +0 -0
  51. package/assets/fonts/lato/LatoLatin-SemiboldItalic.woff +0 -0
  52. package/assets/fonts/lato/LatoLatin-SemiboldItalic.woff2 +0 -0
  53. package/assets/styles/base/_variables.scss +2 -0
  54. package/assets/styles/fonts/_fontstack.scss +132 -8
  55. package/assets/styles/global/_layout.scss +4 -0
  56. package/assets/translations/en-us.yaml +165 -45
  57. package/assets/translations/zh-hans.yaml +1 -7
  58. package/chart/monitoring/ClusterSelector.vue +0 -21
  59. package/chart/monitoring/index.vue +10 -1
  60. package/chart/monitoring/prometheus/index.vue +6 -3
  61. package/components/ActionDropdownShell.vue +2 -1
  62. package/components/CruResource.vue +161 -14
  63. package/components/CruResourceFooter.vue +9 -5
  64. package/components/ExplorerMembers.vue +8 -4
  65. package/components/ExplorerProjectsNamespaces.vue +11 -7
  66. package/components/GrowlManager.vue +4 -0
  67. package/components/InstallHelmCharts.vue +2 -2
  68. package/components/LandingPagePreference.vue +14 -5
  69. package/components/MgmtNodeList.vue +184 -0
  70. package/components/Resource/Detail/Card/StateCard/__tests__/composables.test.ts +90 -1
  71. package/components/Resource/Detail/Card/StateCard/composables.ts +57 -87
  72. package/components/Resource/Detail/Card/StatusCard/__tests__/StatusCard.test.ts +61 -0
  73. package/components/Resource/Detail/Card/StatusCard/index.vue +61 -15
  74. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +17 -1
  75. package/components/Resource/Detail/Metadata/KeyValue.vue +5 -2
  76. package/components/Resource/Detail/Metadata/KeyValueRow.vue +2 -6
  77. package/components/Resource/Detail/Metadata/index.vue +6 -0
  78. package/components/Resource/Detail/ResourcePopover/index.vue +12 -1
  79. package/components/Resource/Detail/SpacedRow.vue +3 -1
  80. package/components/Resource/Detail/TitleBar/index.vue +10 -11
  81. package/components/ResourceDetail/index.vue +1 -1
  82. package/components/ResourceList/Masthead.vue +19 -9
  83. package/components/ResourceList/index.vue +82 -1
  84. package/components/RichTranslation.vue +5 -2
  85. package/components/SelectIconGrid.vue +0 -10
  86. package/components/Setting.vue +1 -0
  87. package/components/SingleClusterInfo.vue +1 -0
  88. package/components/SortableTable/__tests__/sorting.test.ts +126 -0
  89. package/components/SortableTable/index.vue +6 -9
  90. package/components/SortableTable/selection.js +23 -5
  91. package/components/SortableTable/sorting.js +6 -3
  92. package/components/SubtleLink.vue +31 -6
  93. package/components/Tabbed/Tab.vue +29 -3
  94. package/components/Tabbed/index.vue +25 -3
  95. package/components/TableOfContents/TableOfContents.vue +109 -0
  96. package/components/TableOfContents/composables.ts +258 -0
  97. package/components/Window/ContainerShell.vue +21 -11
  98. package/components/Window/__tests__/ContainerShell.test.ts +107 -37
  99. package/components/Wizard.vue +23 -17
  100. package/components/fleet/AppCoChartGrid.vue +401 -0
  101. package/components/fleet/AppCoEmptyState.vue +127 -0
  102. package/components/fleet/AppCoPageHeader.vue +119 -0
  103. package/components/fleet/AppCoVersionSelect.vue +70 -0
  104. package/components/fleet/FleetBundles.vue +100 -12
  105. package/components/fleet/FleetClusterTargets/ClusterSelectionFields.vue +217 -0
  106. package/components/fleet/FleetClusterTargets/TargetsList.vue +123 -35
  107. package/components/fleet/FleetClusterTargets/index.vue +226 -161
  108. package/components/fleet/FleetIntro.vue +7 -3
  109. package/components/fleet/FleetNoWorkspaces.vue +7 -3
  110. package/components/fleet/FleetSecretSelector.vue +5 -3
  111. package/components/fleet/FleetValuesFrom.vue +8 -2
  112. package/components/fleet/GitRepoTargetTab.vue +0 -2
  113. package/components/fleet/HelmOpAdvancedTab.vue +19 -53
  114. package/components/fleet/HelmOpAppCoConfigTab.vue +593 -0
  115. package/components/fleet/HelmOpAppCoResourcesSection.vue +162 -0
  116. package/components/fleet/HelmOpResourcesSection.vue +82 -0
  117. package/components/fleet/HelmOpTargetOptionsSection.vue +89 -0
  118. package/components/fleet/HelmOpTargetTab.vue +64 -60
  119. package/components/fleet/HelmOpValuesTab.vue +129 -105
  120. package/components/fleet/__tests__/AppCoEmptyState.test.ts +71 -0
  121. package/components/fleet/__tests__/AppCoVersionSelect.test.ts +36 -0
  122. package/components/fleet/__tests__/ClusterSelectionFields.test.ts +62 -0
  123. package/components/fleet/__tests__/FleetClusterTargets.test.ts +402 -115
  124. package/components/fleet/__tests__/FleetClusters.test.ts +12 -12
  125. package/components/fleet/__tests__/FleetSecretSelector.test.ts +16 -0
  126. package/components/fleet/__tests__/FleetValuesFrom.test.ts +44 -0
  127. package/components/fleet/__tests__/HelmOpAppCoConfigTab.test.ts +59 -0
  128. package/components/fleet/__tests__/HelmOpAppCoResourcesSection.test.ts +62 -0
  129. package/components/fleet/__tests__/HelmOpResourcesSection.test.ts +43 -0
  130. package/components/fleet/__tests__/HelmOpTargetOptionsSection.test.ts +34 -0
  131. package/components/fleet/__tests__/HelmOpValuesTab.test.ts +39 -0
  132. package/components/fleet/__tests__/__snapshots__/AppCoEmptyState.test.ts.snap +97 -0
  133. package/components/fleet/__tests__/__snapshots__/AppCoVersionSelect.test.ts.snap +30 -0
  134. package/components/fleet/__tests__/__snapshots__/ClusterSelectionFields.test.ts.snap +209 -0
  135. package/components/fleet/__tests__/__snapshots__/HelmOpTargetOptionsSection.test.ts.snap +140 -0
  136. package/components/fleet/dashboard/Empty.vue +8 -4
  137. package/components/fleet/dashboard/ResourceCard.vue +28 -0
  138. package/components/fleet/dashboard/ResourceDetails.vue +28 -0
  139. package/components/fleet/dashboard/__tests__/ResourceCard.test.ts +87 -0
  140. package/components/form/ArrayList.vue +61 -4
  141. package/components/form/KeyValue.vue +23 -2
  142. package/components/form/LabeledSelect.vue +59 -4
  143. package/components/form/Labels.vue +22 -3
  144. package/components/form/NameNsDescription.vue +24 -5
  145. package/components/form/ResourceTabs/index.vue +1 -0
  146. package/components/form/Security.vue +6 -2
  147. package/components/form/WorkloadPorts.vue +2 -7
  148. package/components/form/__tests__/NameNsDescription.test.ts +75 -0
  149. package/components/form/__tests__/Security.test.ts +76 -0
  150. package/components/formatter/Autoscaler.vue +4 -4
  151. package/components/formatter/ClusterKubeVersion.vue +27 -0
  152. package/components/formatter/ClusterLink.vue +1 -7
  153. package/components/formatter/ClusterProvider.vue +6 -10
  154. package/components/formatter/FleetSummaryGraph.vue +0 -3
  155. package/components/formatter/InternalExternalIP.vue +10 -4
  156. package/components/formatter/MachineSummaryGraph.vue +1 -1
  157. package/components/formatter/PodsUsage.vue +2 -2
  158. package/components/formatter/ServiceTargets.vue +26 -7
  159. package/components/formatter/__tests__/Autoscaler.test.ts +19 -22
  160. package/components/formatter/__tests__/FleetSummaryGraph.test.ts +216 -0
  161. package/components/formatter/__tests__/InternalExternalIP.test.ts +132 -0
  162. package/components/formatter/__tests__/PodsUsage.test.ts +6 -10
  163. package/components/formatter/__tests__/ServiceTargets.test.ts +412 -0
  164. package/components/nav/Header.vue +4 -0
  165. package/components/nav/NamespaceFilter.vue +2 -2
  166. package/components/nav/TopLevelMenu.helper.ts +15 -3
  167. package/components/nav/TopLevelMenu.vue +22 -6
  168. package/components/nav/__tests__/Header.test.ts +15 -0
  169. package/components/nav/__tests__/TopLevelMenu.test.ts +263 -21
  170. package/components/templates/default.vue +9 -4
  171. package/components/templates/home.vue +23 -0
  172. package/components/templates/plain.vue +23 -0
  173. package/components/templates/standalone.vue +17 -0
  174. package/composables/useFormValidation.ts +93 -0
  175. package/composables/useHelmOpResources.test.ts +56 -0
  176. package/composables/useHelmOpResources.ts +32 -0
  177. package/composables/useStateColor.test.ts +325 -0
  178. package/composables/useStateColor.ts +128 -0
  179. package/composables/useVeeValidateField.test.ts +159 -0
  180. package/composables/useVeeValidateField.ts +67 -0
  181. package/config/home-links.js +1 -1
  182. package/config/labels-annotations.js +1 -0
  183. package/config/pagination-table-headers.js +18 -1
  184. package/config/product/explorer.js +17 -4
  185. package/config/product/manager.js +84 -21
  186. package/config/router/index.js +16 -0
  187. package/config/router/navigation-guards/__tests__/authentication.test.ts +130 -0
  188. package/config/router/navigation-guards/authentication.js +10 -4
  189. package/config/router/routes.js +26 -6
  190. package/config/settings.ts +0 -2
  191. package/config/table-headers.js +23 -5
  192. package/config/types.js +11 -1
  193. package/core/__tests__/plugin-products.test.ts +904 -20
  194. package/core/plugin-products-base.ts +110 -10
  195. package/core/plugin-products.ts +4 -0
  196. package/core/plugin-types.ts +194 -31
  197. package/core/plugin.ts +18 -7
  198. package/core/productDebugger.js +9 -4
  199. package/core/types-provisioning.ts +77 -31
  200. package/core/types.ts +72 -22
  201. package/detail/__tests__/pod.test.ts +41 -0
  202. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +114 -0
  203. package/detail/__tests__/workload.test.ts +3 -152
  204. package/detail/catalog.cattle.io.clusterrepo.vue +1 -1
  205. package/detail/harvesterhci.io.management.cluster.vue +6 -2
  206. package/detail/pod.vue +1 -1
  207. package/detail/provisioning.cattle.io.cluster.vue +34 -14
  208. package/detail/workload/index.vue +12 -55
  209. package/edit/__tests__/catalog.cattle.io.clusterrepo.test.ts +248 -0
  210. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +105 -0
  211. package/edit/auditlog.cattle.io.auditpolicy/__tests__/__snapshots__/General.test.ts.snap +6 -0
  212. package/edit/auditlog.cattle.io.auditpolicy/__tests__/__snapshots__/index.test.ts.snap +1 -0
  213. package/edit/auth/__tests__/azuread.test.ts +247 -39
  214. package/edit/auth/__tests__/github.test.ts +234 -0
  215. package/edit/auth/__tests__/oidc.test.ts +26 -6
  216. package/edit/auth/__tests__/saml.test.ts +196 -0
  217. package/edit/auth/azuread.vue +197 -56
  218. package/edit/auth/github.vue +72 -13
  219. package/edit/auth/ldap/__tests__/index.test.ts +206 -0
  220. package/edit/auth/ldap/config.vue +8 -0
  221. package/edit/auth/ldap/index.vue +75 -1
  222. package/edit/auth/oidc.vue +119 -73
  223. package/edit/auth/saml.vue +76 -12
  224. package/edit/catalog.cattle.io.clusterrepo.vue +140 -32
  225. package/edit/fleet.cattle.io.helmop.vue +491 -136
  226. package/edit/management.cattle.io.user.vue +5 -2
  227. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +13 -4
  228. package/edit/networking.k8s.io.ingress/RulePath.vue +8 -4
  229. package/edit/networking.k8s.io.ingress/index.vue +75 -20
  230. package/edit/provisioning.cattle.io.cluster/__tests__/MachinePool.test.ts +104 -0
  231. package/edit/provisioning.cattle.io.cluster/index.vue +11 -7
  232. package/edit/provisioning.cattle.io.cluster/rke2.vue +92 -14
  233. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +22 -0
  234. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +37 -4
  235. package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +132 -7
  236. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +2 -1
  237. package/edit/secret/__tests__/ssh.test.ts +5 -6
  238. package/edit/secret/basic.vue +31 -0
  239. package/edit/secret/index.vue +68 -17
  240. package/edit/secret/registry.vue +38 -0
  241. package/edit/secret/ssh.vue +29 -0
  242. package/edit/secret/tls.vue +30 -0
  243. package/edit/service.vue +4 -4
  244. package/edit/workload/Upgrading.vue +3 -3
  245. package/edit/workload/__tests__/Upgrading.test.ts +6 -9
  246. package/edit/workload/mixins/workload.js +2 -1
  247. package/list/fleet.cattle.io.bundle.vue +7 -104
  248. package/list/fleet.cattle.io.clusterregistrationtoken.vue +20 -0
  249. package/list/group.principal.vue +5 -4
  250. package/list/harvesterhci.io.management.cluster.vue +8 -9
  251. package/list/management.cattle.io.user.vue +12 -9
  252. package/list/provisioning.cattle.io.cluster.vue +268 -180
  253. package/list/utils/management.cattle.io.cluster.utils.ts +128 -0
  254. package/mixins/__tests__/auth-config.test.ts +90 -0
  255. package/mixins/__tests__/chart.test.ts +206 -0
  256. package/mixins/__tests__/resource-fetch-api-pagination.test.ts +48 -0
  257. package/mixins/auth-config.js +7 -0
  258. package/mixins/brand.js +2 -1
  259. package/mixins/chart.js +22 -9
  260. package/mixins/child-hook.js +12 -6
  261. package/mixins/create-edit-view/impl.js +5 -3
  262. package/mixins/resource-fetch-api-pagination.js +62 -6
  263. package/models/__tests__/catalog.cattle.io.clusterrepo.test.ts +57 -0
  264. package/models/__tests__/compliance.cattle.io.clusterscan.test.ts +144 -0
  265. package/models/__tests__/ext.cattle.io.kubeconfig.test.ts +67 -67
  266. package/models/__tests__/fleet-application.test.ts +175 -0
  267. package/models/__tests__/fleet.cattle.io.bundle.test.ts +169 -0
  268. package/models/__tests__/fleet.cattle.io.helmop.test.ts +84 -0
  269. package/models/__tests__/management.cattle.io.cluster.test.ts +1 -1
  270. package/models/__tests__/management.cattle.io.node.ts +28 -5
  271. package/models/__tests__/management.cattle.io.nodepool.ts +5 -4
  272. package/models/__tests__/namespace.test.ts +36 -0
  273. package/models/__tests__/provisioning.cattle.io.cluster.test.ts +81 -11
  274. package/models/__tests__/workload.test.ts +401 -26
  275. package/models/base-cluster.x-k8s.io.js +26 -0
  276. package/models/catalog.cattle.io.clusterrepo.js +28 -4
  277. package/models/cluster.js +1 -1
  278. package/models/cluster.x-k8s.io.machine.js +4 -22
  279. package/models/cluster.x-k8s.io.machinedeployment.js +2 -20
  280. package/models/cluster.x-k8s.io.machineset.js +2 -20
  281. package/models/compliance.cattle.io.clusterscan.js +165 -2
  282. package/models/ext.cattle.io.kubeconfig.ts +4 -7
  283. package/models/fleet-application.js +7 -1
  284. package/models/fleet.cattle.io.helmop.js +20 -1
  285. package/models/management.cattle.io.cluster.js +434 -41
  286. package/models/management.cattle.io.node.js +50 -7
  287. package/models/management.cattle.io.nodepool.js +1 -1
  288. package/models/namespace.js +1 -1
  289. package/models/networking.k8s.io.ingress.js +12 -4
  290. package/models/pod.js +33 -1
  291. package/models/provisioning.cattle.io.cluster.js +51 -334
  292. package/models/rke.cattle.io.etcdsnapshot.js +1 -2
  293. package/models/workload.js +108 -13
  294. package/models/workload.service.js +5 -0
  295. package/package.json +22 -39
  296. package/pages/__tests__/readme.test.ts +49 -0
  297. package/pages/about.vue +5 -6
  298. package/pages/auth/login.vue +0 -35
  299. package/pages/auth/setup.vue +13 -3
  300. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +2 -2
  301. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +10 -1
  302. package/pages/c/_cluster/apps/charts/__tests__/chart.test.ts +76 -0
  303. package/pages/c/_cluster/apps/charts/__tests__/index.test.ts +93 -0
  304. package/pages/c/_cluster/apps/charts/chart.vue +62 -9
  305. package/pages/c/_cluster/apps/charts/index.vue +48 -10
  306. package/pages/c/_cluster/apps/charts/install.vue +122 -113
  307. package/pages/c/_cluster/auth/roles/index.vue +5 -4
  308. package/pages/c/_cluster/explorer/__tests__/index.test.ts +23 -25
  309. package/pages/c/_cluster/explorer/index.vue +5 -49
  310. package/pages/c/_cluster/explorer/workload-dashboard/ByNamespaceSection.vue +31 -0
  311. package/pages/c/_cluster/explorer/workload-dashboard/ByStateSection.vue +138 -0
  312. package/pages/c/_cluster/explorer/workload-dashboard/ByTypeSection.vue +30 -0
  313. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadCard.vue +155 -0
  314. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadNamespaceCard.vue +142 -0
  315. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadTypeCard.vue +159 -0
  316. package/pages/c/_cluster/explorer/workload-dashboard/__tests__/composable.test.ts +561 -0
  317. package/pages/c/_cluster/explorer/workload-dashboard/composable.ts +440 -0
  318. package/pages/c/_cluster/explorer/workload-dashboard/index.vue +187 -0
  319. package/pages/c/_cluster/explorer/workload-dashboard/types.ts +80 -0
  320. package/pages/c/_cluster/fleet/application/create.vue +187 -136
  321. package/pages/c/_cluster/fleet/application/index.vue +5 -3
  322. package/pages/c/_cluster/fleet/application/suse-app-collection/ChartDetailBody.vue +338 -0
  323. package/pages/c/_cluster/fleet/application/suse-app-collection/ChartDetailHeader.vue +121 -0
  324. package/pages/c/_cluster/fleet/application/suse-app-collection/chart.vue +369 -0
  325. package/pages/c/_cluster/fleet/application/suse-app-collection/charts.vue +248 -0
  326. package/pages/c/_cluster/fleet/application/suse-app-collection/credentials.vue +310 -0
  327. package/pages/c/_cluster/fleet/index.vue +2 -2
  328. package/pages/c/_cluster/istio/__tests__/istio.index.test.ts +194 -0
  329. package/pages/c/_cluster/istio/index.vue +21 -6
  330. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +1 -0
  331. package/pages/c/_cluster/uiplugins/__tests__/index.test.ts +815 -2
  332. package/pages/c/_cluster/uiplugins/index.vue +218 -197
  333. package/pages/diagnostic.vue +13 -17
  334. package/pages/fail-whale.vue +30 -7
  335. package/pages/home.vue +93 -306
  336. package/pages/readme.vue +88 -0
  337. package/plugins/clean-html.d.ts +9 -0
  338. package/plugins/dashboard-store/__tests__/resource-class.test.ts +181 -0
  339. package/plugins/dashboard-store/actions.js +40 -18
  340. package/plugins/dashboard-store/resource-class.js +67 -9
  341. package/plugins/steve/__tests__/actions.test.ts +212 -0
  342. package/plugins/steve/__tests__/subscribe.spec.ts +6 -3
  343. package/plugins/steve/actions.js +96 -0
  344. package/plugins/steve/steve-pagination-utils.ts +12 -4
  345. package/plugins/steve/subscribe.js +35 -5
  346. package/rancher-components/Accordion/Accordion.vue +53 -9
  347. package/rancher-components/Form/Checkbox/Checkbox.vue +14 -0
  348. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +10 -4
  349. package/rancher-components/Form/LabeledInput/LabeledInput.vue +7 -52
  350. package/rancher-components/Form/Radio/RadioButton.vue +17 -1
  351. package/rancher-components/Form/Radio/RadioGroup.vue +10 -0
  352. package/rancher-components/Pill/RcTag/RcTag.vue +3 -2
  353. package/rancher-components/RcButton/RcButton.test.ts +140 -1
  354. package/rancher-components/RcButton/RcButton.vue +126 -17
  355. package/rancher-components/RcButton/types.ts +3 -0
  356. package/rancher-components/RcDropdown/RcDropdownTrigger.vue +10 -8
  357. package/rancher-components/RcItemCard/RcItemCard.test.ts +18 -0
  358. package/rancher-components/RcItemCard/RcItemCard.vue +2 -2
  359. package/rancher-components/RcSection/RcSection.vue +28 -3
  360. package/scripts/extension/helm/package/Dockerfile +1 -1
  361. package/scripts/test-plugins-build.sh +2 -1
  362. package/store/__tests__/catalog.test.ts +115 -1
  363. package/store/__tests__/notifications.test.ts +434 -0
  364. package/store/__tests__/type-map.test.ts +556 -1
  365. package/store/action-menu.js +8 -3
  366. package/store/auth.js +1 -1
  367. package/store/aws.js +27 -16
  368. package/store/catalog.js +84 -3
  369. package/store/digitalocean.js +20 -38
  370. package/store/index.js +2 -0
  371. package/store/linode.js +25 -40
  372. package/store/plugins.js +7 -4
  373. package/store/pnap.js +1 -0
  374. package/store/type-map.js +111 -29
  375. package/tsconfig.paths.json +8 -8
  376. package/types/components/buttonGroup.ts +5 -0
  377. package/types/kube/kube-api.ts +14 -1
  378. package/types/rancher/steve.api.ts +12 -12
  379. package/types/resources/settings.d.ts +2 -1
  380. package/types/shell/index.d.ts +206 -72
  381. package/types/store/dashboard-store.types.ts +108 -11
  382. package/types/store/pagination.types.ts +6 -3
  383. package/utils/__tests__/alertmanagerconfig.test.ts +117 -0
  384. package/utils/__tests__/async.test.ts +87 -0
  385. package/utils/__tests__/auth.test.ts +273 -0
  386. package/utils/__tests__/aws.test.ts +140 -0
  387. package/utils/__tests__/banners.test.ts +176 -0
  388. package/utils/__tests__/chart.test.ts +64 -1
  389. package/utils/__tests__/color.test.ts +226 -0
  390. package/utils/__tests__/computed.test.ts +193 -0
  391. package/utils/__tests__/cspAdaptor.test.ts +163 -0
  392. package/utils/__tests__/dom.test.ts +81 -0
  393. package/utils/__tests__/duration.test.ts +176 -0
  394. package/utils/__tests__/dynamic-importer.test.ts +102 -0
  395. package/utils/__tests__/fleet-appco.test.ts +312 -0
  396. package/utils/__tests__/fleet.test.ts +340 -0
  397. package/utils/__tests__/ingress.test.ts +553 -0
  398. package/utils/__tests__/kube.test.ts +68 -0
  399. package/utils/__tests__/monitoring.test.ts +130 -0
  400. package/utils/__tests__/namespace-filter.test.ts +109 -0
  401. package/utils/__tests__/object.test.ts +22 -0
  402. package/utils/__tests__/pagination-utils.test.ts +361 -0
  403. package/utils/__tests__/parse-externalid.test.ts +137 -0
  404. package/utils/__tests__/perf-setting.utils.test.ts +98 -0
  405. package/utils/__tests__/platform.test.ts +91 -0
  406. package/utils/__tests__/poller-sequential.test.ts +177 -0
  407. package/utils/__tests__/poller.test.ts +170 -0
  408. package/utils/__tests__/position.test.ts +237 -0
  409. package/utils/__tests__/promise.test.ts +346 -0
  410. package/utils/__tests__/provider.test.ts +51 -1
  411. package/utils/__tests__/queue.test.ts +232 -0
  412. package/utils/__tests__/release-notes.test.ts +221 -0
  413. package/utils/__tests__/router.test.js +254 -1
  414. package/utils/__tests__/select.test.ts +208 -0
  415. package/utils/__tests__/settings.test.ts +140 -0
  416. package/utils/__tests__/sort-utils.test.ts +301 -0
  417. package/utils/__tests__/string-utils.test.ts +798 -0
  418. package/utils/__tests__/string.test.ts +23 -1
  419. package/utils/__tests__/style.test.ts +154 -0
  420. package/utils/__tests__/svg-filter.test.ts +184 -0
  421. package/utils/__tests__/time.test.ts +265 -1
  422. package/utils/__tests__/title.test.ts +47 -0
  423. package/utils/__tests__/units.test.ts +417 -0
  424. package/utils/__tests__/versions.test.ts +128 -0
  425. package/utils/__tests__/width.test.ts +53 -0
  426. package/utils/__tests__/window.test.ts +158 -0
  427. package/utils/__tests__/xccdf.test.ts +511 -0
  428. package/utils/chart.js +36 -0
  429. package/utils/crypto/__tests__/browserHashUtils.test.ts +98 -0
  430. package/utils/crypto/__tests__/index.test.ts +144 -0
  431. package/utils/duration.ts +104 -0
  432. package/utils/dynamic-content/__tests__/notification-handler.test.ts +196 -0
  433. package/utils/dynamic-content/info.ts +2 -1
  434. package/utils/error.js +13 -0
  435. package/utils/fleet-appco.ts +323 -0
  436. package/utils/fleet.ts +13 -3
  437. package/utils/gatekeeper/__tests__/util.test.ts +174 -0
  438. package/utils/gc/__tests__/gc-interval.test.ts +119 -0
  439. package/utils/gc/__tests__/gc-root-store.test.ts +225 -0
  440. package/utils/gc/__tests__/gc-route-changed.test.ts +96 -0
  441. package/utils/gc/__tests__/gc.test.ts +487 -0
  442. package/utils/ingress.ts +9 -1
  443. package/utils/object.js +22 -2
  444. package/utils/pagination-utils.ts +2 -1
  445. package/utils/provider.ts +12 -0
  446. package/utils/string.js +25 -2
  447. package/utils/uiplugins.ts +5 -5
  448. package/utils/validators/__tests__/cluster-name.test.ts +110 -0
  449. package/utils/validators/__tests__/container-images.test.ts +104 -0
  450. package/utils/validators/__tests__/cron-schedule.test.ts +79 -0
  451. package/utils/validators/__tests__/flow-output.test.ts +91 -0
  452. package/utils/validators/__tests__/index.test.ts +481 -0
  453. package/utils/validators/__tests__/kubernetes-name.test.ts +163 -0
  454. package/utils/validators/__tests__/logging-outputs.test.ts +58 -0
  455. package/utils/validators/__tests__/misc-validators.test.ts +246 -0
  456. package/utils/validators/__tests__/monitoring-route.test.ts +119 -0
  457. package/utils/validators/__tests__/pod-affinity.test.ts +382 -0
  458. package/utils/validators/__tests__/prometheusrule.test.ts +211 -0
  459. package/utils/validators/__tests__/role-template.test.ts +149 -0
  460. package/utils/validators/__tests__/service.test.ts +283 -0
  461. package/utils/validators/__tests__/setting.test.js +32 -0
  462. package/utils/validators/formRules/__tests__/index.test.ts +50 -0
  463. package/utils/validators/formRules/index.ts +5 -5
  464. package/utils/validators/machine-pool.ts +1 -1
  465. package/utils/validators/setting.js +18 -3
  466. package/utils/xccdf.ts +415 -0
  467. package/vue.config.js +1 -1
  468. package/assets/fonts/lato/lato-v17-latin-700.woff +0 -0
  469. package/assets/fonts/lato/lato-v17-latin-700.woff2 +0 -0
  470. package/assets/fonts/lato/lato-v17-latin-regular.woff +0 -0
  471. package/assets/fonts/lato/lato-v17-latin-regular.woff2 +0 -0
  472. package/pages/support/index.vue +0 -264
  473. package/utils/duration.js +0 -43
@@ -40,6 +40,7 @@ generic:
40
40
  descending: descending
41
41
  disabled: Disabled
42
42
  done: Done
43
+ download: Download
43
44
  enabled: Enabled
44
45
  error: Error
45
46
  here: here
@@ -54,6 +55,7 @@ generic:
54
55
  labels: Labels
55
56
  labelsAndAnnotations: Labels & Annotations
56
57
  podSecurityAdmission: Pod Security Admission
58
+ learnMoreAbout: 'Learn more about '
57
59
  links: Links
58
60
  loading: Loading…
59
61
  members: Members
@@ -500,7 +502,7 @@ authConfig:
500
502
  unrestricted: Allow any valid user
501
503
  allowedPrincipalIds:
502
504
  title: Authorized Users & Groups
503
- associatedWarning: 'The {provider} account that is used to enable the external provider will be granted admin permissions. If you use a test account or non-admin account, that account will still be granted admin-level permissions. See <a href="{docsBase}/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config#external-authentication-configuration-and-principal-users" target="_blank" rel="noopener noreferrer nofollow">External Authentication Configuration and Principal Users</a> to understand why.'
505
+ associatedWarning: 'The {provider} account that is used to enable the external provider will be granted permissions equal to the currently logged in Rancher user. See <a href="{docsBase}/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config#external-authentication-configuration-and-principal-users" target="_blank" rel="noopener noreferrer nofollow">External Authentication Configuration and Principal Users</a> to understand why.'
504
506
  githubapp:
505
507
  clientId:
506
508
  label: Client ID
@@ -734,6 +736,9 @@ authConfig:
734
736
  label: Token Endpoint
735
737
  authEndpoint:
736
738
  label: Auth Endpoint
739
+ endSessionEndpoint:
740
+ title: End Session Endpoint
741
+ tooltip: "{name} URL used for logging a user out of their session (e.g. https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/logout)"
737
742
  groupMembershipFilter:
738
743
  label: Group Membership Filter
739
744
  enable: Limit users by group membership
@@ -794,6 +799,7 @@ authConfig:
794
799
  label: Scopes
795
800
  placeholder: openid
796
801
  protip: The <code>openid</code>, <code>profile</code>, and <code>email</code> scopes are required and cannot be removed.
802
+ missingRequired: "The required {count, plural, =1 {scope is} other {scopes are}} missing: {scopes}"
797
803
  pkce:
798
804
  label: Enable PKCE (S256)
799
805
  tooltip: Enable Proof Key for Code Exchange (PKCE) using the S256 code challenge method. When enabled, this client must use PKCE with S256 for authorization requests.
@@ -1156,6 +1162,9 @@ catalog:
1156
1162
  deprecatedWarning: '{chartName} has been marked as deprecated. Use caution when installing this helm chart as it might be removed in the future.'
1157
1163
  experimentalWarning: '{chartName} has been marked as experimental. Use caution when installing this helm chart as it might not function as expected.'
1158
1164
  deprecatedAndExperimentalWarning: '{chartName} has been marked as deprecated and experimental. Use caution when installing this helm chart as it might be removed in the future and might not function as expected.'
1165
+ viewReadmeSeparately:
1166
+ label: View separately
1167
+ tooltip: Open the readme in a new tab
1159
1168
  installedAppsSelector:
1160
1169
  ariaLabel: Select installed app instance
1161
1170
  chartButton:
@@ -1219,6 +1228,7 @@ catalog:
1219
1228
  lastUpdatedDesc: Last updated
1220
1229
  alphaAscending: Chart name, A → Z
1221
1230
  alphaDescending: Chart name, Z → A
1231
+ loadingMore: Loading more…
1222
1232
  refreshButton:
1223
1233
  label: Refresh all repositories
1224
1234
  findSimilar:
@@ -1371,6 +1381,8 @@ catalog:
1371
1381
  version: Version
1372
1382
  versions:
1373
1383
  current: '{ver} (Current)'
1384
+ current_linux: '{ver} (Current, Linux-only)'
1385
+ current_windows: '{ver} (Current, Windows-only)'
1374
1386
  linux: '{ver} (Linux-only)'
1375
1387
  windows: '{ver} (Windows-only)'
1376
1388
  delete:
@@ -1420,7 +1432,7 @@ catalog:
1420
1432
  oci:
1421
1433
  urlLabel: OCI Repository Host URL
1422
1434
  placeholder: 'e.g. oci://<registry-host>/<namespace>/<chart-name>:<tag>'
1423
- warning: OCI URLs must ONLY target helm chart/s.
1435
+ warning: OCI URLs must ONLY target helm charts.
1424
1436
  info: For large repositories containing many charts consider targeting a specific namespace or chart to improve performance, for example with oci://<registry-host>/<namespace> or oci://<registry-host>/<namespace>/<chart-name>.
1425
1437
  skipTlsVerifications: Skip TLS Verifications
1426
1438
  insecurePlainHttp: Insecure Plain Http
@@ -1437,7 +1449,11 @@ catalog:
1437
1449
  placeholder: 'default: 5'
1438
1450
  refreshInterval:
1439
1451
  label: Refresh Interval
1440
- placeholder: 'default: {hours}'
1452
+ placeholder: 'default: {value}{unit}'
1453
+ unitLabel: Unit
1454
+ enableLabel: Enable Refresh Interval
1455
+ downloaded:
1456
+ label: Downloaded
1441
1457
  error:
1442
1458
  refresh: Error refreshing repository
1443
1459
  tools:
@@ -1511,9 +1527,12 @@ compliance:
1511
1527
  =1 { Any scheduled scans using this profile will no longer work. }
1512
1528
  other { Any scheduled scans using either of these profiles will no longer work. }
1513
1529
  }
1514
- downloadAllReports: Download All Saved Reports
1515
- downloadLatestReport: Download Latest Report
1516
- downloadReport: Download Report
1530
+ downloadAllReports: Download All Saved Reports (CSV)
1531
+ downloadAllReportsXCCDF: Download All Saved Reports (XCCDF)
1532
+ downloadLatestReport: Download Latest Report (CSV)
1533
+ downloadLatestReportXCCDF: Download Latest Report (XCCDF)
1534
+ downloadReport: Download Report (CSV)
1535
+ downloadReportXCCDF: Download Report (XCCDF)
1517
1536
  maxKubernetesVersion: Maximum allowed Kubernetes version
1518
1537
  minKubernetesVersion: Minimum required Kubernetes version
1519
1538
  noProfiles: There are no valid ClusterScanProfiles for this cluster type to select.
@@ -1522,6 +1541,8 @@ compliance:
1522
1541
  reports: Reports
1523
1542
  retention: Retention Count
1524
1543
  scan:
1544
+ errorNoParsedNodes: No nodes were parsed from the scan results, so no report can be generated.
1545
+ errorDownload: Error downloading file
1525
1546
  description: Description
1526
1547
  fail: Fail
1527
1548
  lastScanTime: Last Scan Time
@@ -2338,7 +2359,9 @@ cluster:
2338
2359
  etcdControlPlaneWarning: We don't recommend using Autoscaler with machine pools that have the etcd or Control Plane roles. You can modify the yaml if you want to override the current value.
2339
2360
  name:
2340
2361
  label: Pool Name
2362
+ notNamed: (Not Named)
2341
2363
  placeholder: A random one will be generated by default
2364
+ unique: Pool names should be unique
2342
2365
  nodeTotals:
2343
2366
  label:
2344
2367
  controlPlane: '{count} Control Plane'
@@ -2391,7 +2414,7 @@ cluster:
2391
2414
  label: Auto Replace
2392
2415
  toolTip: If greater than 0, nodes that are unreachable for this duration will be automatically deleted and replaced.
2393
2416
  unit: "Seconds"
2394
- managementTimeout: The cluster to become available. It's possible the cluster was created. We suggest checking the clusters page before trying to create another.
2417
+ managementTimeout: The {type} {name} to become available. It's possible the cluster was created. We suggest checking the clusters page before trying to create another.
2395
2418
  memberRoles:
2396
2419
  removeMessage: 'Note: Removing a user will not remove their project permissions'
2397
2420
  addClusterMember:
@@ -2482,6 +2505,7 @@ cluster:
2482
2505
  create-rke2: Provision new nodes and create a cluster using RKE2/K3s
2483
2506
  create-template: Use a Catalog Template to create a cluster
2484
2507
  register-custom: Import any Kubernetes cluster
2508
+ create-capi: Create a cluster using Cluster API
2485
2509
  rke2:
2486
2510
  banner:
2487
2511
  psaChange: PSACT is now set to Rancher default automatically
@@ -2719,6 +2743,7 @@ cluster:
2719
2743
  registry: Registries
2720
2744
  upgrade: Upgrade Strategy
2721
2745
  registration: Registration
2746
+ nodePools: Node Pools
2722
2747
  rotateCertificates:
2723
2748
  label: Rotate Certificates
2724
2749
  modalTitle: Rotate Cluster Certificates
@@ -2833,6 +2858,8 @@ cruResource:
2833
2858
  reviewYaml: "Keep editing YAML"
2834
2859
  previewYaml: Edit as YAML
2835
2860
  showYaml: View as YAML
2861
+ tableOfContents:
2862
+ jumpTo: Jump to...
2836
2863
 
2837
2864
  providers:
2838
2865
  hosted:
@@ -3128,19 +3155,27 @@ fleet:
3128
3155
  waitApplied: Wait Applied
3129
3156
  clusterTargets:
3130
3157
  advancedConfigs: Advanced target configurations are defined, check the YAML file for further details.
3158
+ targetMode:
3159
+ local: local cluster
3160
+ all: All Clusters in the workspace
3161
+ allCompact: 'All Clusters in the <b>{namespace}</b> workspace ({count})'
3162
+ none: No clusters
3163
+ clusters: Manually selected clusters
3131
3164
  clusters:
3132
- title: Clusters
3165
+ title: Cluster selection
3133
3166
  byName:
3167
+ title: Select by cluster name
3134
3168
  placeholder: Select Multiple Clusters
3135
- label: Select by cluster name
3169
+ label: Cluster names
3136
3170
  byLabel:
3137
3171
  title: Select by labels
3138
3172
  addSelector: Add cluster selector
3173
+ removeSelector: Remove cluster selector
3139
3174
  labelKey: Label
3140
3175
  clusterGroups:
3141
- title: Cluster Groups
3176
+ title: Select by cluster groups
3142
3177
  byName:
3143
- label: Select by cluster group name
3178
+ label: Cluster groups
3144
3179
  placeholder: Select Multiple Cluster Groups
3145
3180
  rules:
3146
3181
  matching:
@@ -3150,6 +3185,7 @@ fleet:
3150
3185
  =1 {1 cluster selected}
3151
3186
  other {{n, number} clusters selected}
3152
3187
  }
3188
+ selectedClusters: Selected clusters
3153
3189
  placeholder: Select clusters by name, labels or groups
3154
3190
  empty: No clusters in the workspace
3155
3191
  plusMore: |-
@@ -3171,6 +3207,9 @@ fleet:
3171
3207
  description: GitRepo describes a git repository that is watched by Fleet. The resource contains the necessary information to deploy the repo, or parts of it, to target clusters.
3172
3208
  fleet.cattle.io.helmop:
3173
3209
  description: HelmOp is a simplified way of creating bundles by directly pointing to a Helm repository or to an OCI registry, without needing to set up a git repository.
3210
+ suse-application-collection:
3211
+ label: SUSE Application Collection
3212
+ description: Explore our maintained and secure Application Collection, select a Helm chart and deploy it to your clusters.
3174
3213
  warningTooltip:
3175
3214
  clusterGroup: There are no clusters in this Cluster Group
3176
3215
  cluster: There are no clusters available
@@ -3318,6 +3357,24 @@ fleet:
3318
3357
  label: Workspace
3319
3358
  addWorkspace: Create a workspace
3320
3359
  helmRepoURLRegex: Helm Repos (URL Regex)
3360
+ appCo:
3361
+ credentials:
3362
+ title: Create an App Bundle from SUSE Application Collection
3363
+ subtitle: Set up your credentials
3364
+ infoText: An Application Collection access token is required to connect to the Helm Charts catalog.
3365
+ accessTokensLink: SUSE Application Collection access tokens
3366
+ accessTokenLabel: Access token
3367
+ editCredentials: Edit credentials
3368
+ addNewToken: Add a new access token...
3369
+ noTokensYet: "You haven't added an access token yet."
3370
+ chooseExisting: 'Choose an existing token:'
3371
+ username: Username
3372
+ usernamePlaceholder: user@domain.org
3373
+ accessTokenField: Access Token
3374
+ accessTokenPlaceholder: Your SUSE Application Collection access token
3375
+ chart:
3376
+ title: Charts
3377
+ loadError: Chart not found or has no available versions.
3321
3378
  helmOp:
3322
3379
  intro:
3323
3380
  add: Create Helm Op
@@ -3370,6 +3427,35 @@ fleet:
3370
3427
  subtext: 'Define advanced settings'
3371
3428
  description: Fleet will use the authentication settings and polling to synchronise the resources contained in it.
3372
3429
  info: These settings are for advanced usage and optional. You can skip them and finish the creation process.
3430
+ selection:
3431
+ searchPlaceholder: Search the catalog...
3432
+ authBanner: 'Two different resources will be created: a Continuous Delivery secret, and an imagePullSecret that will be copied into every downstream cluster selected in the next step.'
3433
+ emptyState:
3434
+ connectionError:
3435
+ title: Connection error
3436
+ descriptionPre: 'There was an error fetching SUSE Application Collection catalog.'
3437
+ please: 'Please, '
3438
+ tryAgain: try again
3439
+ descriptionPost: ' or contact your system administrator.'
3440
+ noMatch:
3441
+ title: No charts to show
3442
+ descriptionPre: 'Tips: use a different search criteria or '
3443
+ clearSearch: clear the search bar
3444
+ descriptionPost: ' and explore the catalog.'
3445
+ repoLoading:
3446
+ title: Creating SUSE Application Collection repository...
3447
+ description: Please, wait while the repository is created
3448
+ repoError:
3449
+ description: 'Please, check your credentials or the repository in the upstream cluster:'
3450
+ link: SUSE App Collection
3451
+ appCoConfig:
3452
+ chartVersion: Chart version
3453
+ name: App Bundle name
3454
+ advanced: Advanced
3455
+ appCoView:
3456
+ chartConfig: Chart config
3457
+ targetDetails: Target details
3458
+ advanced: Advanced
3373
3459
  source:
3374
3460
  title: Source
3375
3461
  selectLabel: Type
@@ -3398,10 +3484,13 @@ fleet:
3398
3484
  title: Release
3399
3485
  label: Name
3400
3486
  placeholder: The Helm release name
3487
+ fullLabel: Release Name
3401
3488
  values:
3402
3489
  title: Values
3403
3490
  selectLabel: Values
3404
3491
  description: Configure Values used by Helm that help define the App.
3492
+ descriptionCompact: Values defined in this section will be applied to the chart in every selected cluster.
3493
+ appCoDescription: The predefined global imagePullSecret should not be modified, otherwise the connection with SUSE Application Collection will fail.
3405
3494
  types:
3406
3495
  values: Values
3407
3496
  valuesFiles: Values Files
@@ -3428,17 +3517,25 @@ fleet:
3428
3517
  serviceAccount:
3429
3518
  label: Service Account Name
3430
3519
  placeholder: "Optional: Use a service account in the target clusters"
3520
+ compactPlaceholder: "Use a service account in the selected clusters"
3521
+ compactDescription: "When provided, this ServiceAccount will be used to perform the deployment."
3431
3522
  targetNamespace:
3432
3523
  label: Target Namespace
3433
3524
  placeholder: "Optional: Require all resources to be in this namespace"
3525
+ compactPlaceholder: "Require all resources to be in this namespace"
3526
+ compactDescription: "This will assign all resources to the specified namespace. If any cluster scoped resource exists, the deployment will fail."
3434
3527
  target:
3435
3528
  selectLabel: Target
3436
3529
  advanced: Advanced
3437
3530
  cluster: Cluster
3438
3531
  clusterGroup: Cluster Group
3439
3532
  label: Deploy To
3533
+ title: Deploy chart to
3440
3534
  labelLocal: Deploy With
3441
3535
  additionalOptions: Additional Options
3536
+ clusterDeploymentSettings: Cluster deployment settings
3537
+ clusterDeploymentDescription: "Here you can set a ServiceAccount or force a target Namespace for the deployments."
3538
+ clusterDeploymentLink: Bundle Deployment Options
3442
3539
  targetDisplay:
3443
3540
  advanced: Advanced
3444
3541
  clusters: Clusters
@@ -3447,10 +3544,17 @@ fleet:
3447
3544
  local: Local
3448
3545
  resources:
3449
3546
  label: 'Resources'
3547
+ lockedSecretBanner: The previously selected Image Pull Secret is required to connect with SUSE Application Collection.
3450
3548
  keepResources: Always keep resources
3451
3549
  keepResourcesTooltip: When enabled, resources will be kept when deleting a HelmOp or Bundle - only Helm release secrets will be deleted.
3452
3550
  correctDrift: Enable self-healing
3453
3551
  correctDriftTooltip: When enabled, Fleet will ensure that the cluster resources are kept in sync with the HelmOp. All resource changes made on the cluster will be lost.
3552
+ appCoResources:
3553
+ helmChartSettings: Helm chart resources settings
3554
+ additionalResources: Additional resources to sync
3555
+ additionalResourcesDescription: You can add Secrets and ConfigMaps to copy those resources to each targeted downstream cluster before deploying the Helm chart.
3556
+ additionalResourcesLinkDescription: Learn more about
3557
+ additionalResourcesLink: Automated propagation of resources to downstream clusters
3454
3558
  polling:
3455
3559
  label: Polling
3456
3560
  enable: Enable Polling
@@ -3465,6 +3569,7 @@ fleet:
3465
3569
  title: Authentication
3466
3570
  label: Authentication
3467
3571
  helm: Helm Authentication
3572
+ appco: SUSE App Collection Authentication
3468
3573
  caBundle:
3469
3574
  label: Certificates
3470
3575
  placeholder: "Paste in one or more certificates, starting with -----BEGIN CERTIFICATE----"
@@ -4125,8 +4230,8 @@ landing:
4125
4230
  docs: Docs
4126
4231
  forums: Forums
4127
4232
  commercial:
4128
- title: Commercial Support
4129
- body: Learn about commercial support
4233
+ title: Rancher Prime
4234
+ body: Learn about Rancher Prime
4130
4235
  landingPrefs:
4131
4236
  body: "You can change where you land when you login"
4132
4237
  ariaLabelTakeMeToCluster: Select which cluster to take me to after login
@@ -5609,7 +5714,7 @@ plugins:
5609
5714
  banner: There are new extensions repositories available. To enable these repositories, click the button on the right.
5610
5715
  bannerBtn: Add repositories
5611
5716
  title: Add Extensions repositories
5612
- prompt: You can install multiple Rancher extension repositories to increase your extensions catalog
5717
+ prompt: Enable additional repositories to access more extensions
5613
5718
  setup:
5614
5719
  installed: Already installed
5615
5720
  uninstalled: Already uninstalled
@@ -5625,7 +5730,7 @@ plugins:
5625
5730
  prompt: This will lead you to the page where you can enable the Feature Flag needed to enable Extension support.
5626
5731
  featuresButton: Go to Feature Flags
5627
5732
  airgap: Air-gapped installations should NOT enable this feature
5628
- addRancherRepo: Add Official Rancher Extensions Repository
5733
+ addRancherRepo: Add Rancher Prime Extensions Repository
5629
5734
  addPartnersRancherRepo: Add Partners Extensions Repository
5630
5735
  remove:
5631
5736
  label: Disable Extension Support
@@ -6169,6 +6274,8 @@ resourceList:
6169
6274
  nsFiltering: "Please select one or more namespaces or projects using the filter above."
6170
6275
  nsFilteringGeneric: "Please select a valid namespace or project option using the filter above."
6171
6276
  nsFilterToolTip: "Filtering is restricted to projects and namespaces"
6277
+ stateFilterApplied: "State filter applied:"
6278
+ clearStateFilter: "Clear filter"
6172
6279
  resourceLoadingIndicator:
6173
6280
  loading: Loading
6174
6281
 
@@ -6182,6 +6289,7 @@ resourceTable:
6182
6289
  cluster: Group by Cluster
6183
6290
  device: Group by Device
6184
6291
  pool: Group by Pool
6292
+ workspace: Group by Workspace
6185
6293
  groupLabel:
6186
6294
  cluster: "<span>Cluster:</span> {name}"
6187
6295
  notInACluster: Not in a Cluster
@@ -6497,11 +6605,7 @@ setup:
6497
6605
  currentPassword: Bootstrap Password
6498
6606
  confirmPassword: Confirm New Password
6499
6607
  defaultPassword:
6500
- intro: It looks like this is your first time visiting {vendor}; if you pre-set your own bootstrap password, enter it here. Otherwise a random one has been generated for you. To find it:<br/><br/>
6501
- dockerPrefix: 'For a "docker run" installation:'
6502
- dockerPs: 'Find your container ID with <code>docker ps</code>, then run:'
6503
- dockerSuffix: ""
6504
- helmPrefix: 'For a Helm installation, run:'
6608
+ intro: It looks like this is your first time visiting {vendor}; if you pre-set your own bootstrap password, enter it here. Otherwise a random one has been generated for you. To find it, run:<br/><br/>
6505
6609
  helmSuffix: ""
6506
6610
  eula: By checking the box, you accept the <a href="https://www.suse.com/licensing/eula/download/suse_end_user_license_agreement_june_2024.pdf" target="_blank" rel="noopener noreferrer nofollow">End User License Agreement & Terms & Conditions</a>
6507
6611
  newPassword: New Password
@@ -7419,6 +7523,36 @@ wm:
7419
7523
  kubectlShell:
7420
7524
  title: "Kubectl: {name}"
7421
7525
 
7526
+ workloadDashboard:
7527
+ title: Workloads Overview
7528
+ subtitle:
7529
+ allNamespaces: "For all namespaces"
7530
+ userNamespaces: "Only for user namespaces"
7531
+ systemNamespaces: "Only for system namespaces"
7532
+ namespacedOnly: "Only for namespaced resources"
7533
+ clusterOnly: "Only for cluster resources"
7534
+ project: "For the namespaces of Project {name}"
7535
+ namespace: "For the namespace {name}"
7536
+ multipleSelected: "For {selected} items selected"
7537
+ workloadCount: |-
7538
+ ({count, plural,
7539
+ =0 {No workload}
7540
+ =1 {{count} workload}
7541
+ other {{count} workloads}
7542
+ })
7543
+ sections:
7544
+ byState: By State
7545
+ byType: By Type
7546
+ byNamespace: By Namespace
7547
+ errors:
7548
+ noAccess: "No access to {type}"
7549
+ fetchType: "Failed to fetch {type}"
7550
+ fetchAll: Failed to fetch workload summaries
7551
+ empty:
7552
+ title: No workloads to show
7553
+ message: "Tips: Update the namespace filter above or <resetLink>reset the namespaces filter</resetLink>."
7554
+ docsMessage: "Want to learn more about Workloads? Read our <docsLink>documentation</docsLink>."
7555
+
7422
7556
  workload:
7423
7557
  scaleWorkloads: Scale workloads
7424
7558
  healthWorkloads: Jobs/Pods health status
@@ -7974,6 +8108,7 @@ model:
7974
8108
  genericoidc: OIDC provider
7975
8109
  cognito: Amazon Cognito
7976
8110
  name:
8111
+ azuread: Microsoft Entra ID
7977
8112
  keycloak: Keycloak (SAML)
7978
8113
  keycloakoidc: Keycloak (OIDC)
7979
8114
  provider:
@@ -8037,7 +8172,6 @@ typeDescription:
8037
8172
  # target="_blank" rel="noopener noreferrer nofollow"
8038
8173
  jwt.authentication: Enable this feature on a cluster to add support for JWT authenticating downstream service accounts.
8039
8174
  branding: "Branding allows administrators to globally re-brand the UI by customizing the Rancher product name, logos and color scheme."
8040
- chart: "All charts have at least one version that is installable on clusters with Linux and Windows nodes unless otherwise indicated."
8041
8175
  compliance.cattle.io.clusterscanbenchmark: A benchmark version is the name of benchmark to run using kube-bench as well as the valid configuration parameters for that benchmark.
8042
8176
  compliance.cattle.io.clusterscanprofile: A profile is the configuration for the compliance scan, which is the benchmark versions to use and any specific tests to skip in that benchmark.
8043
8177
  compliance.cattle.io.clusterscan: A scan is created to trigger a compliance scan on the cluster based on the defined profile. A report is created after the scan is completed.
@@ -8646,6 +8780,11 @@ typeLabel:
8646
8780
  one { Cluster Registration Token }
8647
8781
  other { Cluster Registration Tokens }
8648
8782
  }
8783
+ turtles-capi.cattle.io.capiprovider: |-
8784
+ {count, plural,
8785
+ one { Cluster API Provider }
8786
+ other { Cluster API Providers }
8787
+ }
8649
8788
 
8650
8789
  oidcclient:
8651
8790
  a11y:
@@ -8786,6 +8925,9 @@ registryConfig:
8786
8925
  toolTip: 'When an image needs to be pulled from the given registry hostname, this information will be used to verify the identity of the registry and authenticate to it.'
8787
8926
  addLabel: Add Registry
8788
8927
  description: "Define the TLS and credential configuration for each registry hostname and mirror."
8928
+ caBundle:
8929
+ tooltip: Accepts a CA PEM certificate or a base64 encoded CA PEM.
8930
+ validationError: Invalid CA cert bundle. Must be a CA PEM certificate or a base64 encoded CA PEM.
8789
8931
 
8790
8932
  ##############################
8791
8933
  ### Advanced Settings
@@ -8824,9 +8966,8 @@ advancedSettings:
8824
8966
  'ingress-ip-domain': 'Wildcard DNS domain to use for automatically generated Ingress hostnames. <ingress-name>.<namespace-name>.<ip address of ingress controller> will be added to the domain.'
8825
8967
  'server-url': 'Default {appName} install url. Must be HTTPS. All nodes in your cluster must be able to reach this.'
8826
8968
  'system-default-registry': 'Private registry to be used for all Rancher System Container Images. If no value is specified, the default registry for the container runtime is used. For Docker and containerd, the default is `docker.io`.'
8827
- 'ui-index': 'HTML index location for the Cluster Manager UI.'
8828
8969
  'ui-dashboard-index': 'HTML index location for the {appName} UI.'
8829
- 'ui-offline-preferred': 'Controls whether UI assets are served locally by the server container or from the remote URL defined in the ui-index and ui-dashboard-index settings. The `Dynamic` option will use local assets in production builds of {appName}.'
8970
+ 'ui-offline-preferred': 'Controls whether UI assets are served locally by the server container or from the remote URL defined in the ui-dashboard-index setting. The `Dynamic` option will use local assets in production builds of {appName}.'
8830
8971
  'ui-pl': 'Private-Label company name.'
8831
8972
  'auth-user-info-max-age-seconds': 'The maximum age of a users auth tokens before an auth provider group membership sync will be performed.'
8832
8973
  'auth-user-info-resync-cron': 'Default cron schedule for resyncing auth provider group memberships.'
@@ -9133,31 +9274,10 @@ customLinks:
9133
9274
  slack: Slack
9134
9275
  issues: File an Issue
9135
9276
  getStarted: Get Started
9136
- commercialSupport: Commercial Support
9277
+ commercialSupport: Rancher Prime
9137
9278
  appCo: SUSE Application Collection
9138
9279
 
9139
- ##############################
9140
- ### Support Page
9141
- ##############################
9142
-
9143
- support:
9144
- bannerImage: Support page banner image
9145
- community:
9146
- title: SUSE Rancher provides world-class support
9147
- linksTitle: Community Support
9148
- learnMore: Find out more about SUSE Rancher Support
9149
- pricing: Contact us for pricing
9150
- subscription:
9151
- haveSupport: Already have support?
9152
- addSubscription: Add a Subscription ID
9153
- removeSubscription: Remove your Subscription ID
9154
- addTitle: Add your SUSE Subscription ID
9155
- addLabel: "Please enter a valid Subscription ID:"
9156
- removeTitle: Remove your ID?
9157
- removeBody: "Note: This will not affect your subscription."
9158
-
9159
9280
  suse:
9160
- title: "Great News - You're covered"
9161
9281
  editBrand: Customize UI Theme
9162
9282
  access:
9163
9283
  title: Get Support
@@ -4947,10 +4947,6 @@ setup:
4947
4947
  confirmPassword: 确认新密码
4948
4948
  defaultPassword:
4949
4949
  intro: 这是你第一次访问 {vendor}。如果你预先设置了 Bootstrap 密码,请在此处输入。否则我们会为你生成一个随机密码。找到它:<br/><br/>
4950
- dockerPrefix: '"docker run" 安装:'
4951
- dockerPs: '运行<code>docker ps</code>找到你的容器 ID,然后运行:'
4952
- dockerSuffix: ""
4953
- helmPrefix: 'Helm 安装,运行:'
4954
4950
  helmSuffix: ""
4955
4951
  eula: 选中此框,即表示你接受<a href="https://www.suse.com/licensing/eula/download/suse_end_user_license_agreement_june_2024.pdf" target="_blank" rel="noopener noreferrer nofollow">最终用户许可协议及条款和条件</a>
4956
4952
  newPassword: 新密码
@@ -6321,7 +6317,6 @@ typeDescription:
6321
6317
  # If you link to anything external, it MUST have
6322
6318
  # target="_blank" rel="noopener noreferrer nofollow"
6323
6319
  branding: "管理员可以修改 Rancher 产品名称、Logo 和配色方案来全局自定义 UI 界面。"
6324
- chart: "除非另有说明,否则所有 Chart 都至少有一个可以安装在具有 Linux 和 Windows 节点的集群上的版本。"
6325
6320
  cis.cattle.io.clusterscanbenchmark: Benchmark 版本是指使用 kube-bench 运行的 Benchmark 名称,以及该 Benchmark 的有效配置参数。
6326
6321
  cis.cattle.io.clusterscanprofile: 配置文件指定 CIS 扫描的配置,也就是要使用的 Benchmark 版本和该 Benchmark 中要跳过的特定测试。
6327
6322
  cis.cattle.io.clusterscan: 扫描是用来根据定义的配置文件,在集群上触发 CIS 扫描的。扫描完成后会创建一份报告。
@@ -6998,9 +6993,8 @@ advancedSettings:
6998
6993
  'ingress-ip-domain': '用于自动生成 Ingress 主机名的通配符 DNS 域。<ingress-name>.<namespace-name>.<ip address of ingress controller> 会被添加到该域。'
6999
6994
  'server-url': '默认 {appName} 安装地址。必须使用 HTTPS。你集群中的所有节点都必须能够访问此地址。'
7000
6995
  'system-default-registry': '用于所有 Rancher System 容器镜像的私有镜像仓库。如果未指定任何值,则使用容器运行时的默认镜像仓库。对于 Docker 和 containerd,默认为 `docker.io`。'
7001
- 'ui-index': 'Cluster Manager UI 的 HTML 索引位置。'
7002
6996
  'ui-dashboard-index': '{appName} UI 的 HTML 索引位置。'
7003
- 'ui-offline-preferred': '控制 UI 资产是由服务器容器在本地提供,还是从 ui-index 和 ui-dashboard-index 设置中定义的远程 URL 提供。`动态` 选项将在 {appName} 的生产版本中使用本地资产。'
6997
+ 'ui-offline-preferred': '控制 UI 资产是由服务器容器在本地提供,还是从 ui-dashboard-index 设置中定义的远程 URL 提供。`动态` 选项将在 {appName} 的生产版本中使用本地资产。'
7004
6998
  'ui-pl': '自有品牌公司名称。'
7005
6999
  'auth-user-info-max-age-seconds': '在同步验证提供程序组成员之前,用户验证 Token 的最长存活时间。'
7006
7000
  'auth-user-info-resync-cron': '重新同步验证提供程序组成员的默认 cron 调度。'
@@ -61,12 +61,6 @@ const CLUSTER_TYPES = [
61
61
  label: 'cluster.provider.other',
62
62
  configKeys: OTHER_CONFIG_KEYS,
63
63
  },
64
- {
65
- group: 'rke',
66
- id: 'rke',
67
- label: 'cluster.provider.rke',
68
- configKeys: ['rkeControllerManager', 'rkeScheduler', 'rkeProxy', 'rkeEtcd'],
69
- },
70
64
  {
71
65
  group: 'rke',
72
66
  id: 'rke2', // rke federal
@@ -78,12 +72,6 @@ const CLUSTER_TYPES = [
78
72
  'rke2Etcd',
79
73
  ],
80
74
  },
81
- {
82
- group: 'rke',
83
- id: 'rke.windows',
84
- label: 'cluster.provider.rkeWindows',
85
- configKeys: ['rkeControllerManager', 'rkeScheduler', 'rkeProxy', 'rkeEtcd'],
86
- },
87
75
  ];
88
76
 
89
77
  export default {
@@ -165,15 +153,6 @@ export default {
165
153
  this.value.prometheus.prometheusSpec.resources.requests['memory'] = '1750Mi';
166
154
  }
167
155
 
168
- if (clusterType.id === 'rke.windows') {
169
- if (!this.value.global.cattle.windows) {
170
- this.value.global.cattle['windows'] = { enabled: true };
171
- } else {
172
- this.value.global.cattle.windows.enabled = true;
173
- }
174
- } else if (oldClusterType && oldClusterType.id === 'rke.windows') {
175
- delete this.value.global.cattle.windows;
176
- }
177
156
  this.$emit('onClusterTypeChanged', clusterType);
178
157
  },
179
158
  },
@@ -17,6 +17,7 @@ import Tabbed from '@shell/components/Tabbed';
17
17
  import { allHash } from '@shell/utils/promise';
18
18
  import { STORAGE_CLASS, PVC, SECRET, WORKLOAD_TYPES } from '@shell/config/types';
19
19
  import { CATTLE_MONITORING_NAMESPACE } from '@shell/utils/monitoring';
20
+ import { CATALOG as CATALOG_ANNOTATIONS } from '@shell/config/labels-annotations';
20
21
 
21
22
  export default {
22
23
  emits: ['register-before-hook', 'input'],
@@ -50,6 +51,12 @@ export default {
50
51
  return {};
51
52
  },
52
53
  },
54
+
55
+ // The selected chart version object, passed from install.vue
56
+ version: {
57
+ type: Object,
58
+ default: null,
59
+ },
53
60
  },
54
61
 
55
62
  async fetch() {
@@ -92,7 +99,9 @@ export default {
92
99
 
93
100
  const hash = await allHash(hashPromises);
94
101
 
95
- this.targetNamespace = hash.namespaces[this.chart.targetNamespace] || false;
102
+ const ns = this.version?.annotations?.[CATALOG_ANNOTATIONS.NAMESPACE] || this.chart.targetNamespace;
103
+
104
+ this.targetNamespace = hash.namespaces[ns] || false;
96
105
 
97
106
  if (!isEmpty(hash.storageClasses)) {
98
107
  this.storageClasses = hash.storageClasses;
@@ -12,6 +12,7 @@ import { RadioGroup } from '@components/Form/Radio';
12
12
  import { set } from '@shell/utils/object';
13
13
  import { simplify, convert } from '@shell/utils/selector';
14
14
  import { POD } from '@shell/config/types';
15
+ import { RcButton } from '@components/RcButton';
15
16
 
16
17
  export default {
17
18
  components: {
@@ -22,6 +23,7 @@ export default {
22
23
  MatchExpressions,
23
24
  RadioGroup,
24
25
  StorageClassSelector,
26
+ RcButton,
25
27
  },
26
28
 
27
29
  props: {
@@ -190,12 +192,13 @@ export default {
190
192
  :key="i"
191
193
  class="mt-10"
192
194
  >
193
- <router-link
195
+ <rc-button
196
+ size="large"
197
+ variant="tertiary"
194
198
  :to="wl.link"
195
- class="btn role-tertiary"
196
199
  >
197
200
  {{ wl.label }}
198
- </router-link>
201
+ </rc-button>
199
202
  </div>
200
203
  </template>
201
204
  </Banner>
@@ -35,6 +35,7 @@ const setBulkActionOfInterest = (act: HiddenAction | null, event: 'mouseover' |
35
35
  >
36
36
  <rc-dropdown-trigger
37
37
  class="bulk-actions-dropdown"
38
+ size="large"
38
39
  :disabled="disabled"
39
40
  >
40
41
  <template #before>
@@ -42,7 +43,7 @@ const setBulkActionOfInterest = (act: HiddenAction | null, event: 'mouseover' |
42
43
  </template>
43
44
  <span>{{ t('sortableTable.bulkActions.collapsed.label') }}</span>
44
45
  <template #after>
45
- <i class="ml-10 icon icon-chevron-down" />
46
+ <i class="icon icon-chevron-down" />
46
47
  </template>
47
48
  </rc-dropdown-trigger>
48
49
  <template #dropdownCollection>