@rancher/shell 3.0.12-rc.3 → 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 (258) hide show
  1. package/assets/styles/global/_layout.scss +4 -0
  2. package/assets/translations/en-us.yaml +144 -41
  3. package/assets/translations/zh-hans.yaml +1 -7
  4. package/chart/monitoring/ClusterSelector.vue +0 -21
  5. package/chart/monitoring/prometheus/index.vue +6 -3
  6. package/components/CruResource.vue +161 -14
  7. package/components/ExplorerMembers.vue +8 -4
  8. package/components/ExplorerProjectsNamespaces.vue +10 -6
  9. package/components/GrowlManager.vue +4 -0
  10. package/components/MgmtNodeList.vue +184 -0
  11. package/components/Resource/Detail/Card/StateCard/__tests__/composables.test.ts +90 -1
  12. package/components/Resource/Detail/Card/StateCard/composables.ts +57 -87
  13. package/components/Resource/Detail/Card/StatusCard/__tests__/StatusCard.test.ts +61 -0
  14. package/components/Resource/Detail/Card/StatusCard/index.vue +61 -15
  15. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +2 -0
  16. package/components/Resource/Detail/Metadata/KeyValue.vue +5 -2
  17. package/components/Resource/Detail/Metadata/KeyValueRow.vue +2 -6
  18. package/components/ResourceDetail/index.vue +1 -1
  19. package/components/ResourceList/Masthead.vue +7 -1
  20. package/components/ResourceList/index.vue +82 -1
  21. package/components/RichTranslation.vue +5 -2
  22. package/components/Setting.vue +1 -0
  23. package/components/SubtleLink.vue +31 -6
  24. package/components/Tabbed/Tab.vue +29 -3
  25. package/components/Tabbed/index.vue +25 -3
  26. package/components/TableOfContents/TableOfContents.vue +109 -0
  27. package/components/TableOfContents/composables.ts +258 -0
  28. package/components/Window/ContainerShell.vue +21 -11
  29. package/components/Window/__tests__/ContainerShell.test.ts +107 -37
  30. package/components/Wizard.vue +9 -4
  31. package/components/fleet/AppCoChartGrid.vue +401 -0
  32. package/components/fleet/AppCoEmptyState.vue +127 -0
  33. package/components/fleet/AppCoPageHeader.vue +119 -0
  34. package/components/fleet/AppCoVersionSelect.vue +70 -0
  35. package/components/fleet/FleetClusterTargets/ClusterSelectionFields.vue +217 -0
  36. package/components/fleet/FleetClusterTargets/TargetsList.vue +123 -35
  37. package/components/fleet/FleetClusterTargets/index.vue +189 -146
  38. package/components/fleet/FleetIntro.vue +7 -3
  39. package/components/fleet/FleetNoWorkspaces.vue +7 -3
  40. package/components/fleet/FleetSecretSelector.vue +5 -3
  41. package/components/fleet/FleetValuesFrom.vue +8 -2
  42. package/components/fleet/GitRepoTargetTab.vue +0 -2
  43. package/components/fleet/HelmOpAdvancedTab.vue +19 -53
  44. package/components/fleet/HelmOpAppCoConfigTab.vue +593 -0
  45. package/components/fleet/HelmOpAppCoResourcesSection.vue +162 -0
  46. package/components/fleet/HelmOpResourcesSection.vue +82 -0
  47. package/components/fleet/HelmOpTargetOptionsSection.vue +89 -0
  48. package/components/fleet/HelmOpTargetTab.vue +64 -60
  49. package/components/fleet/HelmOpValuesTab.vue +129 -105
  50. package/components/fleet/__tests__/AppCoEmptyState.test.ts +71 -0
  51. package/components/fleet/__tests__/AppCoVersionSelect.test.ts +36 -0
  52. package/components/fleet/__tests__/ClusterSelectionFields.test.ts +62 -0
  53. package/components/fleet/__tests__/FleetClusterTargets.test.ts +253 -0
  54. package/components/fleet/__tests__/FleetSecretSelector.test.ts +16 -0
  55. package/components/fleet/__tests__/FleetValuesFrom.test.ts +44 -0
  56. package/components/fleet/__tests__/HelmOpAppCoConfigTab.test.ts +59 -0
  57. package/components/fleet/__tests__/HelmOpAppCoResourcesSection.test.ts +62 -0
  58. package/components/fleet/__tests__/HelmOpResourcesSection.test.ts +43 -0
  59. package/components/fleet/__tests__/HelmOpTargetOptionsSection.test.ts +34 -0
  60. package/components/fleet/__tests__/HelmOpValuesTab.test.ts +39 -0
  61. package/components/fleet/__tests__/__snapshots__/AppCoEmptyState.test.ts.snap +97 -0
  62. package/components/fleet/__tests__/__snapshots__/AppCoVersionSelect.test.ts.snap +30 -0
  63. package/components/fleet/__tests__/__snapshots__/ClusterSelectionFields.test.ts.snap +209 -0
  64. package/components/fleet/__tests__/__snapshots__/HelmOpTargetOptionsSection.test.ts.snap +140 -0
  65. package/components/fleet/dashboard/Empty.vue +8 -4
  66. package/components/fleet/dashboard/ResourceCard.vue +28 -0
  67. package/components/fleet/dashboard/ResourceDetails.vue +28 -0
  68. package/components/fleet/dashboard/__tests__/ResourceCard.test.ts +87 -0
  69. package/components/form/ArrayList.vue +61 -4
  70. package/components/form/KeyValue.vue +23 -2
  71. package/components/form/LabeledSelect.vue +39 -1
  72. package/components/form/Labels.vue +22 -3
  73. package/components/form/NameNsDescription.vue +13 -5
  74. package/components/form/ResourceTabs/index.vue +1 -0
  75. package/components/form/__tests__/NameNsDescription.test.ts +75 -0
  76. package/components/formatter/InternalExternalIP.vue +10 -4
  77. package/components/formatter/ServiceTargets.vue +26 -7
  78. package/components/formatter/__tests__/InternalExternalIP.test.ts +132 -0
  79. package/components/formatter/__tests__/ServiceTargets.test.ts +412 -0
  80. package/components/nav/Header.vue +4 -0
  81. package/components/nav/TopLevelMenu.vue +7 -2
  82. package/components/nav/__tests__/Header.test.ts +15 -0
  83. package/components/nav/__tests__/TopLevelMenu.test.ts +120 -2
  84. package/components/templates/default.vue +9 -4
  85. package/components/templates/home.vue +9 -4
  86. package/components/templates/plain.vue +9 -4
  87. package/composables/useHelmOpResources.test.ts +56 -0
  88. package/composables/useHelmOpResources.ts +32 -0
  89. package/composables/useStateColor.test.ts +325 -0
  90. package/composables/useStateColor.ts +128 -0
  91. package/config/home-links.js +1 -1
  92. package/config/labels-annotations.js +1 -0
  93. package/config/product/explorer.js +17 -4
  94. package/config/product/manager.js +2 -0
  95. package/config/router/index.js +16 -0
  96. package/config/router/navigation-guards/__tests__/authentication.test.ts +130 -0
  97. package/config/router/navigation-guards/authentication.js +10 -4
  98. package/config/router/routes.js +20 -6
  99. package/config/settings.ts +0 -2
  100. package/config/table-headers.js +3 -4
  101. package/config/types.js +9 -0
  102. package/core/plugin-products-base.ts +3 -3
  103. package/core/plugin-types.ts +83 -30
  104. package/core/plugin.ts +3 -0
  105. package/core/types-provisioning.ts +34 -1
  106. package/core/types.ts +15 -2
  107. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +114 -0
  108. package/detail/__tests__/workload.test.ts +3 -152
  109. package/detail/catalog.cattle.io.clusterrepo.vue +1 -1
  110. package/detail/provisioning.cattle.io.cluster.vue +30 -4
  111. package/detail/workload/index.vue +12 -55
  112. package/edit/__tests__/catalog.cattle.io.clusterrepo.test.ts +248 -0
  113. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +105 -0
  114. package/edit/auditlog.cattle.io.auditpolicy/__tests__/__snapshots__/General.test.ts.snap +6 -0
  115. package/edit/auditlog.cattle.io.auditpolicy/__tests__/__snapshots__/index.test.ts.snap +1 -0
  116. package/edit/auth/__tests__/azuread.test.ts +34 -9
  117. package/edit/auth/__tests__/github.test.ts +234 -0
  118. package/edit/auth/__tests__/oidc.test.ts +26 -6
  119. package/edit/auth/__tests__/saml.test.ts +196 -0
  120. package/edit/auth/azuread.vue +128 -95
  121. package/edit/auth/github.vue +72 -13
  122. package/edit/auth/ldap/__tests__/index.test.ts +206 -0
  123. package/edit/auth/ldap/config.vue +8 -0
  124. package/edit/auth/ldap/index.vue +75 -1
  125. package/edit/auth/oidc.vue +119 -73
  126. package/edit/auth/saml.vue +76 -12
  127. package/edit/catalog.cattle.io.clusterrepo.vue +140 -32
  128. package/edit/fleet.cattle.io.helmop.vue +491 -136
  129. package/edit/management.cattle.io.user.vue +5 -2
  130. package/edit/provisioning.cattle.io.cluster/rke2.vue +84 -10
  131. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +11 -0
  132. package/list/group.principal.vue +5 -4
  133. package/list/harvesterhci.io.management.cluster.vue +8 -9
  134. package/list/management.cattle.io.user.vue +12 -9
  135. package/list/provisioning.cattle.io.cluster.vue +16 -10
  136. package/mixins/__tests__/auth-config.test.ts +90 -0
  137. package/mixins/__tests__/chart.test.ts +94 -0
  138. package/mixins/__tests__/resource-fetch-api-pagination.test.ts +48 -0
  139. package/mixins/auth-config.js +7 -0
  140. package/mixins/chart.js +11 -2
  141. package/mixins/child-hook.js +12 -6
  142. package/mixins/create-edit-view/impl.js +5 -3
  143. package/mixins/resource-fetch-api-pagination.js +21 -1
  144. package/models/__tests__/catalog.cattle.io.clusterrepo.test.ts +57 -0
  145. package/models/__tests__/compliance.cattle.io.clusterscan.test.ts +144 -0
  146. package/models/__tests__/fleet-application.test.ts +175 -0
  147. package/models/__tests__/fleet.cattle.io.bundle.test.ts +169 -0
  148. package/models/__tests__/fleet.cattle.io.helmop.test.ts +84 -0
  149. package/models/__tests__/management.cattle.io.node.ts +22 -0
  150. package/models/__tests__/namespace.test.ts +36 -0
  151. package/models/__tests__/provisioning.cattle.io.cluster.test.ts +49 -0
  152. package/models/__tests__/workload.test.ts +401 -26
  153. package/models/catalog.cattle.io.clusterrepo.js +28 -4
  154. package/models/compliance.cattle.io.clusterscan.js +39 -4
  155. package/models/fleet-application.js +4 -0
  156. package/models/fleet.cattle.io.helmop.js +20 -1
  157. package/models/management.cattle.io.cluster.js +18 -2
  158. package/models/management.cattle.io.node.js +44 -3
  159. package/models/namespace.js +1 -1
  160. package/models/pod.js +33 -1
  161. package/models/provisioning.cattle.io.cluster.js +5 -5
  162. package/models/workload.js +108 -13
  163. package/models/workload.service.js +5 -0
  164. package/package.json +14 -13
  165. package/pages/about.vue +5 -6
  166. package/pages/auth/login.vue +0 -35
  167. package/pages/auth/setup.vue +11 -0
  168. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +2 -2
  169. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +10 -1
  170. package/pages/c/_cluster/apps/charts/__tests__/index.test.ts +93 -0
  171. package/pages/c/_cluster/apps/charts/chart.vue +2 -1
  172. package/pages/c/_cluster/apps/charts/index.vue +48 -10
  173. package/pages/c/_cluster/apps/charts/install.vue +122 -116
  174. package/pages/c/_cluster/auth/roles/index.vue +5 -4
  175. package/pages/c/_cluster/explorer/workload-dashboard/ByNamespaceSection.vue +31 -0
  176. package/pages/c/_cluster/explorer/workload-dashboard/ByStateSection.vue +138 -0
  177. package/pages/c/_cluster/explorer/workload-dashboard/ByTypeSection.vue +30 -0
  178. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadCard.vue +155 -0
  179. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadNamespaceCard.vue +142 -0
  180. package/pages/c/_cluster/explorer/workload-dashboard/WorkloadTypeCard.vue +159 -0
  181. package/pages/c/_cluster/explorer/workload-dashboard/__tests__/composable.test.ts +561 -0
  182. package/pages/c/_cluster/explorer/workload-dashboard/composable.ts +440 -0
  183. package/pages/c/_cluster/explorer/workload-dashboard/index.vue +187 -0
  184. package/pages/c/_cluster/explorer/workload-dashboard/types.ts +80 -0
  185. package/pages/c/_cluster/fleet/application/create.vue +187 -136
  186. package/pages/c/_cluster/fleet/application/index.vue +5 -3
  187. package/pages/c/_cluster/fleet/application/suse-app-collection/ChartDetailBody.vue +338 -0
  188. package/pages/c/_cluster/fleet/application/suse-app-collection/ChartDetailHeader.vue +121 -0
  189. package/pages/c/_cluster/fleet/application/suse-app-collection/chart.vue +369 -0
  190. package/pages/c/_cluster/fleet/application/suse-app-collection/charts.vue +248 -0
  191. package/pages/c/_cluster/fleet/application/suse-app-collection/credentials.vue +310 -0
  192. package/pages/c/_cluster/fleet/index.vue +2 -2
  193. package/pages/c/_cluster/uiplugins/__tests__/index.test.ts +96 -0
  194. package/pages/c/_cluster/uiplugins/index.vue +15 -0
  195. package/pages/fail-whale.vue +16 -11
  196. package/pages/home.vue +16 -46
  197. package/plugins/clean-html.d.ts +9 -0
  198. package/plugins/dashboard-store/__tests__/resource-class.test.ts +93 -0
  199. package/plugins/dashboard-store/resource-class.js +62 -7
  200. package/plugins/steve/__tests__/actions.test.ts +212 -0
  201. package/plugins/steve/actions.js +96 -0
  202. package/plugins/steve/steve-pagination-utils.ts +1 -1
  203. package/rancher-components/Accordion/Accordion.vue +53 -9
  204. package/rancher-components/Form/Checkbox/Checkbox.vue +14 -0
  205. package/rancher-components/Form/Radio/RadioButton.vue +17 -1
  206. package/rancher-components/Form/Radio/RadioGroup.vue +10 -0
  207. package/rancher-components/Pill/RcTag/RcTag.vue +3 -2
  208. package/rancher-components/RcButton/RcButton.test.ts +103 -0
  209. package/rancher-components/RcButton/RcButton.vue +94 -15
  210. package/rancher-components/RcButton/types.ts +3 -0
  211. package/rancher-components/RcItemCard/RcItemCard.test.ts +18 -0
  212. package/rancher-components/RcItemCard/RcItemCard.vue +2 -2
  213. package/rancher-components/RcSection/RcSection.vue +28 -3
  214. package/scripts/extension/helm/package/Dockerfile +1 -1
  215. package/scripts/test-plugins-build.sh +2 -1
  216. package/store/__tests__/notifications.test.ts +434 -0
  217. package/store/catalog.js +57 -0
  218. package/store/plugins.js +7 -4
  219. package/types/components/buttonGroup.ts +5 -0
  220. package/types/shell/index.d.ts +104 -70
  221. package/utils/__tests__/auth.test.ts +273 -0
  222. package/utils/__tests__/computed.test.ts +193 -0
  223. package/utils/__tests__/cspAdaptor.test.ts +163 -0
  224. package/utils/__tests__/dom.test.ts +81 -0
  225. package/utils/__tests__/duration.test.ts +37 -1
  226. package/utils/__tests__/dynamic-importer.test.ts +102 -0
  227. package/utils/__tests__/fleet-appco.test.ts +312 -0
  228. package/utils/__tests__/monitoring.test.ts +130 -0
  229. package/utils/__tests__/object.test.ts +22 -0
  230. package/utils/__tests__/platform.test.ts +91 -0
  231. package/utils/__tests__/position.test.ts +237 -0
  232. package/utils/__tests__/provider.test.ts +51 -1
  233. package/utils/__tests__/queue.test.ts +232 -0
  234. package/utils/__tests__/release-notes.test.ts +221 -0
  235. package/utils/__tests__/router.test.js +254 -1
  236. package/utils/__tests__/select.test.ts +208 -0
  237. package/utils/__tests__/time.test.ts +265 -1
  238. package/utils/__tests__/title.test.ts +47 -0
  239. package/utils/__tests__/width.test.ts +53 -0
  240. package/utils/__tests__/window.test.ts +158 -0
  241. package/utils/__tests__/xccdf.test.ts +126 -6
  242. package/utils/crypto/__tests__/browserHashUtils.test.ts +98 -0
  243. package/utils/crypto/__tests__/index.test.ts +144 -0
  244. package/utils/duration.ts +104 -0
  245. package/utils/dynamic-content/__tests__/notification-handler.test.ts +196 -0
  246. package/utils/dynamic-content/info.ts +2 -1
  247. package/utils/error.js +13 -0
  248. package/utils/fleet-appco.ts +323 -0
  249. package/utils/object.js +22 -2
  250. package/utils/provider.ts +12 -0
  251. package/utils/validators/__tests__/container-images.test.ts +104 -0
  252. package/utils/validators/__tests__/flow-output.test.ts +91 -0
  253. package/utils/validators/__tests__/logging-outputs.test.ts +58 -0
  254. package/utils/validators/__tests__/monitoring-route.test.ts +119 -0
  255. package/utils/xccdf.ts +39 -42
  256. package/vue.config.js +1 -1
  257. package/pages/support/index.vue +0 -264
  258. package/utils/duration.js +0 -43
@@ -3,6 +3,10 @@
3
3
  grid-area: main;
4
4
  overflow: auto;
5
5
 
6
+ @media (prefers-reduced-motion: no-preference) {
7
+ scroll-behavior: smooth;
8
+ }
9
+
6
10
  .outlet {
7
11
  display: flex;
8
12
  flex-direction: column;
@@ -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
@@ -736,7 +738,7 @@ authConfig:
736
738
  label: Auth Endpoint
737
739
  endSessionEndpoint:
738
740
  title: End Session Endpoint
739
- tooltip: Azure AD URL used for logging a user out of their session (e.g. https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/logout)
741
+ tooltip: "{name} URL used for logging a user out of their session (e.g. https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/logout)"
740
742
  groupMembershipFilter:
741
743
  label: Group Membership Filter
742
744
  enable: Limit users by group membership
@@ -797,6 +799,7 @@ authConfig:
797
799
  label: Scopes
798
800
  placeholder: openid
799
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}"
800
803
  pkce:
801
804
  label: Enable PKCE (S256)
802
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.
@@ -1225,6 +1228,7 @@ catalog:
1225
1228
  lastUpdatedDesc: Last updated
1226
1229
  alphaAscending: Chart name, A → Z
1227
1230
  alphaDescending: Chart name, Z → A
1231
+ loadingMore: Loading more…
1228
1232
  refreshButton:
1229
1233
  label: Refresh all repositories
1230
1234
  findSimilar:
@@ -1377,6 +1381,8 @@ catalog:
1377
1381
  version: Version
1378
1382
  versions:
1379
1383
  current: '{ver} (Current)'
1384
+ current_linux: '{ver} (Current, Linux-only)'
1385
+ current_windows: '{ver} (Current, Windows-only)'
1380
1386
  linux: '{ver} (Linux-only)'
1381
1387
  windows: '{ver} (Windows-only)'
1382
1388
  delete:
@@ -1426,7 +1432,7 @@ catalog:
1426
1432
  oci:
1427
1433
  urlLabel: OCI Repository Host URL
1428
1434
  placeholder: 'e.g. oci://<registry-host>/<namespace>/<chart-name>:<tag>'
1429
- warning: OCI URLs must ONLY target helm chart/s.
1435
+ warning: OCI URLs must ONLY target helm charts.
1430
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>.
1431
1437
  skipTlsVerifications: Skip TLS Verifications
1432
1438
  insecurePlainHttp: Insecure Plain Http
@@ -1443,7 +1449,11 @@ catalog:
1443
1449
  placeholder: 'default: 5'
1444
1450
  refreshInterval:
1445
1451
  label: Refresh Interval
1446
- placeholder: 'default: {hours}'
1452
+ placeholder: 'default: {value}{unit}'
1453
+ unitLabel: Unit
1454
+ enableLabel: Enable Refresh Interval
1455
+ downloaded:
1456
+ label: Downloaded
1447
1457
  error:
1448
1458
  refresh: Error refreshing repository
1449
1459
  tools:
@@ -2495,6 +2505,7 @@ cluster:
2495
2505
  create-rke2: Provision new nodes and create a cluster using RKE2/K3s
2496
2506
  create-template: Use a Catalog Template to create a cluster
2497
2507
  register-custom: Import any Kubernetes cluster
2508
+ create-capi: Create a cluster using Cluster API
2498
2509
  rke2:
2499
2510
  banner:
2500
2511
  psaChange: PSACT is now set to Rancher default automatically
@@ -2732,6 +2743,7 @@ cluster:
2732
2743
  registry: Registries
2733
2744
  upgrade: Upgrade Strategy
2734
2745
  registration: Registration
2746
+ nodePools: Node Pools
2735
2747
  rotateCertificates:
2736
2748
  label: Rotate Certificates
2737
2749
  modalTitle: Rotate Cluster Certificates
@@ -2846,6 +2858,8 @@ cruResource:
2846
2858
  reviewYaml: "Keep editing YAML"
2847
2859
  previewYaml: Edit as YAML
2848
2860
  showYaml: View as YAML
2861
+ tableOfContents:
2862
+ jumpTo: Jump to...
2849
2863
 
2850
2864
  providers:
2851
2865
  hosted:
@@ -3141,19 +3155,27 @@ fleet:
3141
3155
  waitApplied: Wait Applied
3142
3156
  clusterTargets:
3143
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
3144
3164
  clusters:
3145
- title: Clusters
3165
+ title: Cluster selection
3146
3166
  byName:
3167
+ title: Select by cluster name
3147
3168
  placeholder: Select Multiple Clusters
3148
- label: Select by cluster name
3169
+ label: Cluster names
3149
3170
  byLabel:
3150
3171
  title: Select by labels
3151
3172
  addSelector: Add cluster selector
3173
+ removeSelector: Remove cluster selector
3152
3174
  labelKey: Label
3153
3175
  clusterGroups:
3154
- title: Cluster Groups
3176
+ title: Select by cluster groups
3155
3177
  byName:
3156
- label: Select by cluster group name
3178
+ label: Cluster groups
3157
3179
  placeholder: Select Multiple Cluster Groups
3158
3180
  rules:
3159
3181
  matching:
@@ -3163,6 +3185,7 @@ fleet:
3163
3185
  =1 {1 cluster selected}
3164
3186
  other {{n, number} clusters selected}
3165
3187
  }
3188
+ selectedClusters: Selected clusters
3166
3189
  placeholder: Select clusters by name, labels or groups
3167
3190
  empty: No clusters in the workspace
3168
3191
  plusMore: |-
@@ -3184,6 +3207,9 @@ fleet:
3184
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.
3185
3208
  fleet.cattle.io.helmop:
3186
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.
3187
3213
  warningTooltip:
3188
3214
  clusterGroup: There are no clusters in this Cluster Group
3189
3215
  cluster: There are no clusters available
@@ -3331,6 +3357,24 @@ fleet:
3331
3357
  label: Workspace
3332
3358
  addWorkspace: Create a workspace
3333
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.
3334
3378
  helmOp:
3335
3379
  intro:
3336
3380
  add: Create Helm Op
@@ -3383,6 +3427,35 @@ fleet:
3383
3427
  subtext: 'Define advanced settings'
3384
3428
  description: Fleet will use the authentication settings and polling to synchronise the resources contained in it.
3385
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
3386
3459
  source:
3387
3460
  title: Source
3388
3461
  selectLabel: Type
@@ -3411,10 +3484,13 @@ fleet:
3411
3484
  title: Release
3412
3485
  label: Name
3413
3486
  placeholder: The Helm release name
3487
+ fullLabel: Release Name
3414
3488
  values:
3415
3489
  title: Values
3416
3490
  selectLabel: Values
3417
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.
3418
3494
  types:
3419
3495
  values: Values
3420
3496
  valuesFiles: Values Files
@@ -3441,17 +3517,25 @@ fleet:
3441
3517
  serviceAccount:
3442
3518
  label: Service Account Name
3443
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."
3444
3522
  targetNamespace:
3445
3523
  label: Target Namespace
3446
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."
3447
3527
  target:
3448
3528
  selectLabel: Target
3449
3529
  advanced: Advanced
3450
3530
  cluster: Cluster
3451
3531
  clusterGroup: Cluster Group
3452
3532
  label: Deploy To
3533
+ title: Deploy chart to
3453
3534
  labelLocal: Deploy With
3454
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
3455
3539
  targetDisplay:
3456
3540
  advanced: Advanced
3457
3541
  clusters: Clusters
@@ -3460,10 +3544,17 @@ fleet:
3460
3544
  local: Local
3461
3545
  resources:
3462
3546
  label: 'Resources'
3547
+ lockedSecretBanner: The previously selected Image Pull Secret is required to connect with SUSE Application Collection.
3463
3548
  keepResources: Always keep resources
3464
3549
  keepResourcesTooltip: When enabled, resources will be kept when deleting a HelmOp or Bundle - only Helm release secrets will be deleted.
3465
3550
  correctDrift: Enable self-healing
3466
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
3467
3558
  polling:
3468
3559
  label: Polling
3469
3560
  enable: Enable Polling
@@ -3478,6 +3569,7 @@ fleet:
3478
3569
  title: Authentication
3479
3570
  label: Authentication
3480
3571
  helm: Helm Authentication
3572
+ appco: SUSE App Collection Authentication
3481
3573
  caBundle:
3482
3574
  label: Certificates
3483
3575
  placeholder: "Paste in one or more certificates, starting with -----BEGIN CERTIFICATE----"
@@ -4138,8 +4230,8 @@ landing:
4138
4230
  docs: Docs
4139
4231
  forums: Forums
4140
4232
  commercial:
4141
- title: Commercial Support
4142
- body: Learn about commercial support
4233
+ title: Rancher Prime
4234
+ body: Learn about Rancher Prime
4143
4235
  landingPrefs:
4144
4236
  body: "You can change where you land when you login"
4145
4237
  ariaLabelTakeMeToCluster: Select which cluster to take me to after login
@@ -5622,7 +5714,7 @@ plugins:
5622
5714
  banner: There are new extensions repositories available. To enable these repositories, click the button on the right.
5623
5715
  bannerBtn: Add repositories
5624
5716
  title: Add Extensions repositories
5625
- prompt: You can install multiple Rancher extension repositories to increase your extensions catalog
5717
+ prompt: Enable additional repositories to access more extensions
5626
5718
  setup:
5627
5719
  installed: Already installed
5628
5720
  uninstalled: Already uninstalled
@@ -5638,7 +5730,7 @@ plugins:
5638
5730
  prompt: This will lead you to the page where you can enable the Feature Flag needed to enable Extension support.
5639
5731
  featuresButton: Go to Feature Flags
5640
5732
  airgap: Air-gapped installations should NOT enable this feature
5641
- addRancherRepo: Add Official Rancher Extensions Repository
5733
+ addRancherRepo: Add Rancher Prime Extensions Repository
5642
5734
  addPartnersRancherRepo: Add Partners Extensions Repository
5643
5735
  remove:
5644
5736
  label: Disable Extension Support
@@ -6182,6 +6274,8 @@ resourceList:
6182
6274
  nsFiltering: "Please select one or more namespaces or projects using the filter above."
6183
6275
  nsFilteringGeneric: "Please select a valid namespace or project option using the filter above."
6184
6276
  nsFilterToolTip: "Filtering is restricted to projects and namespaces"
6277
+ stateFilterApplied: "State filter applied:"
6278
+ clearStateFilter: "Clear filter"
6185
6279
  resourceLoadingIndicator:
6186
6280
  loading: Loading
6187
6281
 
@@ -6511,11 +6605,7 @@ setup:
6511
6605
  currentPassword: Bootstrap Password
6512
6606
  confirmPassword: Confirm New Password
6513
6607
  defaultPassword:
6514
- 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/>
6515
- dockerPrefix: 'For a "docker run" installation:'
6516
- dockerPs: 'Find your container ID with <code>docker ps</code>, then run:'
6517
- dockerSuffix: ""
6518
- 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/>
6519
6609
  helmSuffix: ""
6520
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>
6521
6611
  newPassword: New Password
@@ -7433,6 +7523,36 @@ wm:
7433
7523
  kubectlShell:
7434
7524
  title: "Kubectl: {name}"
7435
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
+
7436
7556
  workload:
7437
7557
  scaleWorkloads: Scale workloads
7438
7558
  healthWorkloads: Jobs/Pods health status
@@ -7988,6 +8108,7 @@ model:
7988
8108
  genericoidc: OIDC provider
7989
8109
  cognito: Amazon Cognito
7990
8110
  name:
8111
+ azuread: Microsoft Entra ID
7991
8112
  keycloak: Keycloak (SAML)
7992
8113
  keycloakoidc: Keycloak (OIDC)
7993
8114
  provider:
@@ -8051,7 +8172,6 @@ typeDescription:
8051
8172
  # target="_blank" rel="noopener noreferrer nofollow"
8052
8173
  jwt.authentication: Enable this feature on a cluster to add support for JWT authenticating downstream service accounts.
8053
8174
  branding: "Branding allows administrators to globally re-brand the UI by customizing the Rancher product name, logos and color scheme."
8054
- chart: "All charts have at least one version that is installable on clusters with Linux and Windows nodes unless otherwise indicated."
8055
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.
8056
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.
8057
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.
@@ -8660,6 +8780,11 @@ typeLabel:
8660
8780
  one { Cluster Registration Token }
8661
8781
  other { Cluster Registration Tokens }
8662
8782
  }
8783
+ turtles-capi.cattle.io.capiprovider: |-
8784
+ {count, plural,
8785
+ one { Cluster API Provider }
8786
+ other { Cluster API Providers }
8787
+ }
8663
8788
 
8664
8789
  oidcclient:
8665
8790
  a11y:
@@ -8841,9 +8966,8 @@ advancedSettings:
8841
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.'
8842
8967
  'server-url': 'Default {appName} install url. Must be HTTPS. All nodes in your cluster must be able to reach this.'
8843
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`.'
8844
- 'ui-index': 'HTML index location for the Cluster Manager UI.'
8845
8969
  'ui-dashboard-index': 'HTML index location for the {appName} UI.'
8846
- '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}.'
8847
8971
  'ui-pl': 'Private-Label company name.'
8848
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.'
8849
8973
  'auth-user-info-resync-cron': 'Default cron schedule for resyncing auth provider group memberships.'
@@ -9150,31 +9274,10 @@ customLinks:
9150
9274
  slack: Slack
9151
9275
  issues: File an Issue
9152
9276
  getStarted: Get Started
9153
- commercialSupport: Commercial Support
9277
+ commercialSupport: Rancher Prime
9154
9278
  appCo: SUSE Application Collection
9155
9279
 
9156
- ##############################
9157
- ### Support Page
9158
- ##############################
9159
-
9160
- support:
9161
- bannerImage: Support page banner image
9162
- community:
9163
- title: SUSE Rancher provides world-class support
9164
- linksTitle: Community Support
9165
- learnMore: Find out more about SUSE Rancher Support
9166
- pricing: Contact us for pricing
9167
- subscription:
9168
- haveSupport: Already have support?
9169
- addSubscription: Add a Subscription ID
9170
- removeSubscription: Remove your Subscription ID
9171
- addTitle: Add your SUSE Subscription ID
9172
- addLabel: "Please enter a valid Subscription ID:"
9173
- removeTitle: Remove your ID?
9174
- removeBody: "Note: This will not affect your subscription."
9175
-
9176
9280
  suse:
9177
- title: "Great News - You're covered"
9178
9281
  editBrand: Customize UI Theme
9179
9282
  access:
9180
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
  },
@@ -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>