@rancher/shell 3.0.6 → 3.0.8-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/assets/images/pl/dark/rancher-logo.svg +131 -44
  2. package/assets/images/pl/rancher-logo.svg +120 -44
  3. package/assets/images/vendor/githubapp.svg +13 -0
  4. package/assets/styles/base/_basic.scss +2 -2
  5. package/assets/styles/base/_color-classic.scss +51 -0
  6. package/assets/styles/base/_color.scss +3 -3
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -1
  9. package/assets/styles/base/_variables-classic.scss +47 -0
  10. package/assets/styles/global/_button.scss +49 -17
  11. package/assets/styles/global/_form.scss +1 -1
  12. package/assets/styles/themes/_dark.scss +4 -0
  13. package/assets/styles/themes/_light.scss +3 -69
  14. package/assets/styles/themes/_modern.scss +194 -50
  15. package/assets/styles/vendor/vue-select.scss +1 -2
  16. package/assets/translations/en-us.yaml +124 -32
  17. package/assets/translations/zh-hans.yaml +0 -4
  18. package/components/ClusterIconMenu.vue +1 -1
  19. package/components/ClusterProviderIcon.vue +1 -1
  20. package/components/CodeMirror.vue +1 -1
  21. package/components/IconOrSvg.vue +40 -29
  22. package/components/Inactivity.vue +222 -106
  23. package/components/InstallHelmCharts.vue +2 -2
  24. package/components/ResourceDetail/index.vue +2 -1
  25. package/components/SortableTable/index.vue +17 -2
  26. package/components/SortableTable/sorting.js +3 -1
  27. package/components/Tabbed/index.vue +5 -5
  28. package/components/fleet/FleetConfigMapSelector.vue +117 -0
  29. package/components/fleet/FleetSecretSelector.vue +127 -0
  30. package/components/fleet/__tests__/FleetConfigMapSelector.test.ts +125 -0
  31. package/components/fleet/__tests__/FleetSecretSelector.test.ts +82 -0
  32. package/components/form/FileImageSelector.vue +13 -4
  33. package/components/form/FileSelector.vue +11 -2
  34. package/components/form/ResourceLabeledSelect.vue +1 -0
  35. package/components/form/ResourceTabs/index.vue +37 -18
  36. package/components/form/SecretSelector.vue +6 -2
  37. package/components/form/__tests__/ResourceLabeledSelect.test.ts +90 -0
  38. package/components/nav/Group.vue +29 -9
  39. package/components/nav/Header.vue +7 -8
  40. package/components/nav/NamespaceFilter.vue +1 -1
  41. package/components/nav/TopLevelMenu.helper.ts +47 -20
  42. package/components/nav/TopLevelMenu.vue +44 -14
  43. package/components/nav/Type.vue +0 -5
  44. package/components/nav/__tests__/TopLevelMenu.test.ts +2 -0
  45. package/config/pagination-table-headers.js +10 -2
  46. package/config/product/auth.js +1 -0
  47. package/config/product/explorer.js +4 -3
  48. package/config/query-params.js +1 -0
  49. package/config/settings.ts +8 -1
  50. package/config/table-headers.js +9 -0
  51. package/config/types.js +2 -0
  52. package/core/plugin.ts +18 -6
  53. package/core/types.ts +8 -0
  54. package/detail/provisioning.cattle.io.cluster.vue +1 -0
  55. package/dialog/AddonConfigConfirmationDialog.vue +45 -1
  56. package/dialog/InstallExtensionDialog.vue +71 -45
  57. package/dialog/UninstallExtensionDialog.vue +2 -1
  58. package/dialog/__tests__/InstallExtensionDialog.test.ts +111 -0
  59. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +52 -11
  60. package/edit/auth/AuthProviderWarningBanners.vue +14 -1
  61. package/edit/auth/github-app-steps.vue +97 -0
  62. package/edit/auth/github-steps.vue +75 -0
  63. package/edit/auth/github.vue +94 -65
  64. package/edit/auth/oidc.vue +86 -16
  65. package/edit/fleet.cattle.io.helmop.vue +51 -2
  66. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +15 -5
  67. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +11 -9
  68. package/edit/provisioning.cattle.io.cluster/rke2.vue +56 -9
  69. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +28 -2
  70. package/list/projectsecret.vue +1 -1
  71. package/machine-config/azure.vue +1 -1
  72. package/mixins/__tests__/chart.test.ts +1 -1
  73. package/mixins/chart.js +2 -2
  74. package/models/__tests__/chart.test.ts +17 -9
  75. package/models/__tests__/compliance.cattle.io.clusterscanprofile.spec.js +30 -0
  76. package/models/catalog.cattle.io.app.js +1 -1
  77. package/models/chart.js +3 -1
  78. package/models/compliance.cattle.io.clusterscanprofile.js +1 -1
  79. package/models/event.js +7 -0
  80. package/models/management.cattle.io.authconfig.js +1 -0
  81. package/models/provisioning.cattle.io.cluster.js +9 -0
  82. package/package.json +2 -2
  83. package/pages/auth/login.vue +5 -2
  84. package/pages/auth/verify.vue +1 -1
  85. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +3 -2
  86. package/pages/c/_cluster/apps/charts/chart.vue +2 -2
  87. package/pages/c/_cluster/explorer/EventsTable.vue +92 -9
  88. package/pages/c/_cluster/explorer/tools/index.vue +3 -3
  89. package/pages/c/_cluster/settings/performance.vue +13 -26
  90. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +159 -62
  91. package/pages/c/_cluster/uiplugins/__tests__/PluginInfoPanel.test.ts +102 -0
  92. package/pages/c/_cluster/uiplugins/__tests__/{index.spec.ts → index.test.ts} +121 -55
  93. package/pages/c/_cluster/uiplugins/index.vue +110 -94
  94. package/pages/home.vue +313 -12
  95. package/plugins/__tests__/subscribe.events.test.ts +194 -0
  96. package/plugins/axios.js +2 -1
  97. package/plugins/dashboard-store/actions.js +4 -1
  98. package/plugins/dashboard-store/getters.js +1 -1
  99. package/plugins/dashboard-store/resource-class.js +20 -5
  100. package/plugins/steve/__tests__/subscribe.spec.ts +27 -24
  101. package/plugins/steve/index.js +18 -10
  102. package/plugins/steve/mutations.js +2 -2
  103. package/plugins/steve/resourceWatcher.js +2 -2
  104. package/plugins/steve/steve-pagination-utils.ts +12 -9
  105. package/plugins/steve/subscribe.js +113 -85
  106. package/plugins/subscribe-events.ts +211 -0
  107. package/rancher-components/BadgeState/BadgeState.vue +8 -6
  108. package/rancher-components/Banner/Banner.vue +2 -1
  109. package/rancher-components/Form/Checkbox/Checkbox.vue +3 -3
  110. package/rancher-components/Form/Radio/RadioButton.vue +3 -3
  111. package/scripts/extension/publish +1 -1
  112. package/store/auth.js +8 -3
  113. package/store/aws.js +8 -6
  114. package/store/features.js +1 -0
  115. package/store/index.js +21 -25
  116. package/store/prefs.js +6 -0
  117. package/types/extension-manager.ts +8 -1
  118. package/types/kube/kube-api.ts +2 -1
  119. package/types/rancher/index.d.ts +1 -0
  120. package/types/resources/settings.d.ts +52 -23
  121. package/types/shell/index.d.ts +412 -336
  122. package/types/store/subscribe-events.types.ts +70 -0
  123. package/types/store/subscribe.types.ts +6 -22
  124. package/utils/__tests__/cluster.test.ts +379 -1
  125. package/utils/cluster.js +157 -3
  126. package/utils/dynamic-content/__tests__/config.test.ts +187 -0
  127. package/utils/dynamic-content/__tests__/index.test.ts +390 -0
  128. package/utils/dynamic-content/__tests__/info.test.ts +263 -0
  129. package/utils/dynamic-content/__tests__/new-release.test.ts +216 -0
  130. package/utils/dynamic-content/__tests__/support-notice.test.ts +262 -0
  131. package/utils/dynamic-content/__tests__/util.test.ts +235 -0
  132. package/utils/dynamic-content/config.ts +55 -0
  133. package/utils/dynamic-content/index.ts +273 -0
  134. package/utils/dynamic-content/info.ts +219 -0
  135. package/utils/dynamic-content/new-release.ts +126 -0
  136. package/utils/dynamic-content/support-notice.ts +169 -0
  137. package/utils/dynamic-content/types.d.ts +101 -0
  138. package/utils/dynamic-content/util.ts +122 -0
  139. package/utils/inactivity.ts +104 -0
  140. package/utils/pagination-utils.ts +105 -31
  141. package/utils/pagination-wrapper.ts +6 -8
  142. package/utils/release-notes.ts +1 -1
  143. package/utils/sort.js +5 -0
  144. package/utils/unit-tests/pagination-utils.spec.ts +283 -0
  145. package/utils/validators/formRules/__tests__/index.test.ts +7 -0
  146. package/utils/validators/formRules/index.ts +2 -2
@@ -472,7 +472,7 @@ addClusterMemberDialog:
472
472
 
473
473
  addonConfigConfirmation:
474
474
  title: Add-On Reset
475
- body: Changing the Kubernetes Version can reset Add-On values. You should check that the values are as expected before continuing.
475
+ body: Add-On Configuration has changed between Kubernetes versions <b>{previousKubeVersion}</b> and <b>{newKubeVersion}</b> and conflict with your previous values for Add-On {addons}. As a result please re-apply them before continuing.
476
476
 
477
477
  addProjectMemberDialog:
478
478
  title: Add Project Member
@@ -492,6 +492,51 @@ authConfig:
492
492
  allowedPrincipalIds:
493
493
  title: Authorized Users & Groups
494
494
  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.'
495
+ githubapp:
496
+ clientId:
497
+ label: Client ID
498
+ clientSecret:
499
+ label: Client Secret
500
+ githubAppId:
501
+ label: Github App ID
502
+ installationId:
503
+ label: Installation ID
504
+ privateKey:
505
+ label: Private Key
506
+ warning: The GitHub App authentication provider only works with <a href="https://docs.github.com/en/get-started/learning-about-github/types-of-github-accounts" target="_blank" rel="noopener noreferrer nofollow">GitHub Organization accounts</a>. It does not support User accounts.
507
+ form:
508
+ prefix:
509
+ 1: <li>Open your <a href="{baseUrl}/settings/organizations" target="_blank" rel="noopener noreferrer nofollow">GitHub organization settings</a> in a new window</li>
510
+ 2: <li>To the right of the organization, click "Settings"</li>
511
+ 3: <li>In the left sidebar, click "Developer settings" -> "GitHub Apps"</li>
512
+ 4: <li>Click "New Github App"</li>
513
+ instruction: 'Fill in the form with these values:'
514
+ app:
515
+ label: GitHub App name
516
+ value: 'Anything you like, e.g. My {vendor}'
517
+ callback:
518
+ label: Callback URL
519
+ value: '{serverUrl}/verify-auth'
520
+ description:
521
+ label: Application description
522
+ value: 'Optional, can be left blank'
523
+ homepage:
524
+ label: Homepage URL
525
+ create: Click "Create Github App"
526
+ suffix:
527
+ 1: <li>Under Client Secrets, click "Generate a new client secret"</li>
528
+ 2: <li>Under Private Keys, click "Generate a private key"</li>
529
+ 3: <li>Copy and paste the "App ID", "Client ID", "Client Secret", and "Private Key" of your newly created OAuth app into the fields below</li>
530
+ host:
531
+ label: GitHub Enterprise Host
532
+ placeholder: e.g. github.mycompany.example
533
+ target:
534
+ label: Which version of GitHub do you want to use?
535
+ private: A private installation of GitHub Enterprise
536
+ public: Public GitHub.com
537
+ table:
538
+ server: Server
539
+ clientId: Client ID
495
540
  github:
496
541
  clientId:
497
542
  label: Client ID
@@ -723,6 +768,17 @@ authConfig:
723
768
  tokenEndpoint: Token Endpoint
724
769
  userInfoEndpoint: User Info Endpoint
725
770
  acrValue: Authorization Context Reference
771
+ customClaims:
772
+ label: Custom Claims
773
+ enable:
774
+ label: Add custom claims
775
+ tooltip: Manually map OIDC claims when your provider doesn’t use standard claim names in tokens.
776
+ nameClaim:
777
+ label: Custom Name Claim
778
+ groupsClaim:
779
+ label: Custom Groups Claim
780
+ emailClaim:
781
+ label: Custom Email Claim
726
782
  cognitoIssuer: Issuer URL
727
783
  cognitoHelp: "You will need to create an application client in Cognito of type <b>Traditional web application</b> with the Return URL set to the URL shown below."
728
784
  scope:
@@ -941,10 +997,6 @@ asyncButton:
941
997
  success: Updated
942
998
  waiting: Updating&hellip;
943
999
  upgrade:
944
- action: Upgrade
945
- success: Upgrading
946
- waiting: Starting&hellip;
947
- upgradeVersion:
948
1000
  action: Upgrade
949
1001
  success: Upgraded
950
1002
  waiting: Upgrading&hellip;
@@ -1262,7 +1314,6 @@ catalog:
1262
1314
  upgrade { upgrade }
1263
1315
  downgrade { upgrade }
1264
1316
  editVersion { update }
1265
- upgradeVersion { upgrade }
1266
1317
  } the {existing, select,
1267
1318
  true { app}
1268
1319
  false { chart}
@@ -1790,7 +1841,7 @@ cluster:
1790
1841
  } / {memory, number} GiB Memory / {storageSize, plural,
1791
1842
  =0 {EBS-Only}
1792
1843
  other {{storageSize, number} {storageUnit} {storageType}}
1793
- }
1844
+ } - {architecture}
1794
1845
  azure:
1795
1846
  acceleratedNetworking:
1796
1847
  label: Accelerated Networking
@@ -2110,7 +2161,7 @@ cluster:
2110
2161
  diskSizeWithMax: Disk size has to be between {diskSizeMin} and {diskSizeMax} based on this image and disk type.
2111
2162
  projects: Image projects should be a comma separated list of alphanumeric string which may contain '-' and '.'
2112
2163
  addOns:
2113
- dependencyBanner: Add-On Configuration can vary between Kubernetes versions. Changing the Kubernetes version may reset the values below.
2164
+ dependencyBanner: Add-On Configuration has changed between Kubernetes versions <b>{previousKubeVersion}</b> and <b>{newKubeVersion}</b> and conflict with your previous values. Please re-apply them.
2114
2165
  additionalManifest:
2115
2166
  title: Additional Manifest
2116
2167
  tooltip: 'Additional Kubernetes Manifest YAML to be applied to the cluster on startup.'
@@ -2712,6 +2763,28 @@ drainNode:
2712
2763
  placeholder: e.g. 60
2713
2764
  custom: "Give up after:"
2714
2765
 
2766
+ dynamicContent:
2767
+ newRelease:
2768
+ title: A new Rancher release is available!
2769
+ message: Rancher {version} has been released!
2770
+ moreInfo: Release Notes
2771
+ multipleNewReleases:
2772
+ title: New Rancher releases are available!
2773
+ message: A new {version1} patch version has been released and a newer {version2} version is also avaialble.
2774
+ moreInfo: "{version} Release Notes"
2775
+ upcomingEom:
2776
+ title: End of Maintainence in {days, plural, =1 {1 day} other {{days} days}}
2777
+ message: This version of Rancher ({version}) will reach End of Maintainence in {days} day(s). Consider upgrading to a supported version soon.
2778
+ eom:
2779
+ title: End of Maintainence reached
2780
+ message: This version of Rancher ({version}) has reached End of Maintainence. Consider upgrading to a supported version.
2781
+ upcomingEol:
2782
+ title: End of Life in {days, plural, =1 {1 day} other {{days} days}}
2783
+ message: This version of Rancher ({version}) will reach End of Life in {days} day(s). Consider upgrading to a supported version soon.
2784
+ eol:
2785
+ title: End of Life reached
2786
+ message: This version of Rancher ({version}) has reached End of Life. Consider upgrading to a supported version.
2787
+
2715
2788
  etcdInfoBanner:
2716
2789
  hasLeader: "Etcd has a leader:"
2717
2790
  leaderChanges: "Number of leader changes:"
@@ -3195,7 +3268,7 @@ fleet:
3195
3268
  none: None
3196
3269
  local: Local
3197
3270
  resources:
3198
- label: 'Resource Handling'
3271
+ label: 'Resources'
3199
3272
  keepResources: Always keep resources
3200
3273
  keepResourcesTooltip: When enabled, resources will be kept when deleting a HelmOp or Bundle - only Helm release secrets will be deleted.
3201
3274
  correctDrift: Enable self-healing
@@ -3249,6 +3322,10 @@ fleet:
3249
3322
  =0 { Adding namespaces here will create a GitRepoRestriction. }
3250
3323
  other { Only the Git Repo Restriction's <code>allowedTargetNamespaces</code> is managed here. You can make additional changes to the Git Repo Restriction}
3251
3324
  }"
3325
+ configMaps:
3326
+ label: Config Maps
3327
+ secrets:
3328
+ label: Secrets
3252
3329
  footer:
3253
3330
  docs: Docs
3254
3331
  download: Download CLI
@@ -3323,6 +3400,9 @@ glance:
3323
3400
  clusterInfo: Cluster Information
3324
3401
  eventsTable: Full events list
3325
3402
  secretsTable: Full secrets list
3403
+ changeEventsListRowCount: Update events table row count
3404
+ showXEvents: Show {count} events
3405
+ useUserPreference: "Use table preference ({count})"
3326
3406
 
3327
3407
  clusterBadge:
3328
3408
  badgeAppearance: Cluster Badge Appearance
@@ -3770,6 +3850,11 @@ landing:
3770
3850
  homepage: Homepage
3771
3851
  clusters:
3772
3852
  title: Clusters
3853
+ tooMany:
3854
+ showAll: Show all clusters (may increase load time)
3855
+ showSome: Show some clusters (may improve load time)
3856
+ showingAll: Showing {total} clusters.
3857
+ showingSome: Showing {rows} of {total} recently created clusters.
3773
3858
  provider: Provider
3774
3859
  distro: Distro
3775
3860
  kubernetesVersion: Kubernetes Version
@@ -4096,6 +4181,7 @@ login:
4096
4181
  welcome: Welcome to {vendor}
4097
4182
  landscapeAlt: Landscape image
4098
4183
  loggedOut: You have been logged out.
4184
+ loggedOutSessionIdle: You've been logged out of Rancher because your session has expired. Log in again to continue.
4099
4185
  loggedOutFromSso: You've been logged out of Rancher, however you may still be logged in to your single sign-on identity provider.
4100
4186
  loggedOutFromSlo: You've been logged out of Rancher and from your single sign-on identity provider.
4101
4187
  loginAgain: Log in again to continue.
@@ -5108,13 +5194,9 @@ podDisruptionBudget:
5108
5194
 
5109
5195
  inactivity:
5110
5196
  title: Session expiring
5111
- titleExpired: Session expired
5112
5197
  banner: Your session is about to expire due to inactivity. Any unsaved changes will be lost.
5113
- bannerExpired: Your session has expired in this tab due to inactivity.
5114
- content: Click “Resume Session” to keep the session in this tab active or refresh the browser after the session has expired.
5115
- contentExpired: To return to this page click “Refresh” below or refresh the browser.
5198
+ content: Click “Resume Session” to keep the session in this browser active.
5116
5199
  cta: Resume Session
5117
- ctaExpired: Refresh
5118
5200
 
5119
5201
  # Rancher Extensions
5120
5202
  plugins:
@@ -5128,16 +5210,17 @@ plugins:
5128
5210
  closePluginPanel: Close plugin description panel
5129
5211
  viewVersionDetails: View extension {name} version {version} details/Readme
5130
5212
  labels:
5131
- builtin: Built-in
5213
+ builtin: Built-In
5132
5214
  experimental: Experimental
5133
5215
  third-party: Third-Party
5134
5216
  image: Image
5135
5217
  installing: Installing ...
5136
5218
  uninstalling: Uninstalling ...
5137
- updating: Updating ...
5138
- rollingBack: Rolling back ...
5219
+ upgrading: Upgrading ...
5220
+ downgrading: Downgrading ...
5139
5221
  menu: Extensions menu
5140
5222
  reloadRancher: Reload Rancher
5223
+ current: current
5141
5224
  descriptions:
5142
5225
  experimental: This Extension is marked as experimental
5143
5226
  third-party: This Extension is provided by a Third-Party
@@ -5166,6 +5249,8 @@ plugins:
5166
5249
  name: Extension module name
5167
5250
  persist: Persist extension by creating custom resource
5168
5251
  info:
5252
+ actions: Actions
5253
+ noActions: No actions available
5169
5254
  detail: Detail
5170
5255
  versions: Versions
5171
5256
  versionError: Could not load version information
@@ -5229,7 +5314,7 @@ plugins:
5229
5314
  tabs:
5230
5315
  all: All
5231
5316
  available: Available
5232
- builtin: Built-in
5317
+ builtin: Built-In
5233
5318
  images: Images
5234
5319
  installed: Installed
5235
5320
  updates: Updates
@@ -5237,22 +5322,22 @@ plugins:
5237
5322
  version: "Version: {version}"
5238
5323
  install:
5239
5324
  label: Install
5240
- title: Install Extension {name}
5241
- prompt: "Are you sure that you want to install this Extension?"
5325
+ title: Install extension {name}
5326
+ prompt: "Are you sure that you want to install this extension?"
5242
5327
  version: Version
5243
5328
  warnNotCertified: Please ensure that you are aware of the risks of installing Extensions from untrusted authors
5244
- update:
5245
- label: Update
5246
- title: Update Extension {name}
5247
- prompt: "Are you sure that you want to update this Extension?"
5248
- rollback:
5249
- label: Rollback
5250
- title: Rollback Extension {name}
5251
- prompt: "Are you sure that you want to rollback this Extension?"
5329
+ upgrade:
5330
+ label: Upgrade
5331
+ title: Upgrade extension {name}
5332
+ prompt: "Are you sure that you want to upgrade this extension?"
5333
+ downgrade:
5334
+ label: Downgrade
5335
+ title: Downgrade extension {name}
5336
+ prompt: "Are you sure that you want to downgrade this extension?"
5252
5337
  uninstall:
5253
5338
  label: Uninstall
5254
- title: "Uninstall Extension: {name}"
5255
- prompt: "Are you sure that you want to uninstall this Extension?"
5339
+ title: Uninstall extension {name}
5340
+ prompt: "Are you sure that you want to uninstall this extension?"
5256
5341
  catalog: "Are you sure that you want to uninstall this Extension Catalog Image? This will also remove any Extensions provided by this image."
5257
5342
  upgradeAvailable: A newer version of this Extension is available
5258
5343
  reload: Extensions changed - reload required
@@ -5852,6 +5937,8 @@ resourceTabs:
5852
5937
  tab: Conditions
5853
5938
  events:
5854
5939
  tab: Recent Events
5940
+ namespaceTab: "Events in Namespace"
5941
+ namespaceCaption: "Shows all events from resources in <span class='namespace-name'><b>{namespace}</b></span> namespace"
5855
5942
  related:
5856
5943
  tab: Related Resources
5857
5944
  from: Referred To By
@@ -6558,6 +6645,7 @@ tableHeaders:
6558
6645
  endpoints: Endpoints
6559
6646
  expires: Expires
6560
6647
  firstSeen: First Seen
6648
+ firstSeenTooltip: The time at which the event was first recorded
6561
6649
  flow: Flow
6562
6650
  fingerprint: Fingerprint
6563
6651
  gitRepos: Git Repos
@@ -7583,6 +7671,7 @@ model:
7583
7671
  activedirectory: ActiveDirectory
7584
7672
  azuread: AzureAD
7585
7673
  github: GitHub
7674
+ githubapp: GitHub App
7586
7675
  keycloak: Keycloak
7587
7676
  ldap: LDAP
7588
7677
  openldap: OpenLDAP
@@ -8418,8 +8507,9 @@ advancedSettings:
8418
8507
  'auth-user-info-max-age-seconds': 'The maximum age of a users auth tokens before an auth provider group membership sync will be performed.'
8419
8508
  'auth-user-info-resync-cron': 'Default cron schedule for resyncing auth provider group memberships.'
8420
8509
  'cluster-template-enforcement': 'Non-admins will be restricted to launching clusters via preapproved RKE Templates only.'
8421
- 'auth-user-session-ttl-minutes': 'Custom TTL (in minutes) on a user auth session.'
8422
- 'auth-token-max-ttl-minutes': 'Max TTL (in minutes) for all authentication tokens. When set to 0, the token never expires.'
8510
+ 'auth-user-session-idle-ttl-minutes': 'Custom idle TTL (in minutes) on a user auth session. This is the maximum duration a session can stay alive when there is no user activity in a browser. This should be smaller than "auth-user-session-ttl-minutes". If "auth-user-session-idle-ttl-minutes" is greater than or equal to "auth-user-session-ttl-minutes" then the session idle feature is considered disabled.'
8511
+ 'auth-user-session-ttl-minutes': 'Custom TTL (in minutes) on a user auth session. This is the maximum duration a session can stay alive regardless of user activity in a browser. This should be larger than "auth-user-session-idle-ttl-minutes".'
8512
+ 'auth-token-max-ttl-minutes': 'Max TTL (in minutes) for all tokens except those controlled by "auth-user-session-ttl-minutes" (user session tokens). When set to 0, the token never expires.'
8423
8513
  'kubeconfig-generate-token': 'Automatically generate tokens for users when a kubeconfig is requested.'
8424
8514
  'kubeconfig-default-token-ttl-minutes': 'TTL (in minutes) applied on all kubeconfig tokens. When set to 0, the token never expires.'
8425
8515
  'rke-metadata-config': 'Configure RKE metadata refresh parameters.'
@@ -8477,6 +8567,7 @@ featureFlags:
8477
8567
  performance:
8478
8568
  label: UI Performance Settings
8479
8569
  settingName: Performance
8570
+ deprecatedInactivitySetting: The <i class="mr-5">"Inactivity"</i> setting is now deprecated in favor of the <i class="mr-5">auth-user-session-idle-ttl-minutes</i>&nbsp;<a href="{settingsPageUrl}">Setting</a>.
8480
8571
  deprecatedForSSP: The <i class="mr-5">"{setting}"</i> setting is now deprecated and will be removed in a future release.
8481
8572
  incrementalLoad:
8482
8573
  label: Incremental Loading
@@ -9056,3 +9147,4 @@ component:
9056
9147
  weekdaysAt0830: "At 30 minutes past the hour, every 1 hours, starting at 08:00 AM, Monday through Friday"
9057
9148
  marchToMayHourly: "Every hour, only in March, April, and May"
9058
9149
  every4Hours9to17: "At 0 minutes past the hour, every 4 hours, between 09:00 AM and 05:00 PM"
9150
+
@@ -4000,13 +4000,9 @@ podDisruptionBudget:
4000
4000
 
4001
4001
  inactivity:
4002
4002
  title: 会话即将过期
4003
- titleExpired: 会话已过期
4004
4003
  banner: 由于不活动,你的会话即将过期。任何未保存的更改都将丢失。
4005
- bannerExpired: 由于不活动,此选项卡中的会话已过期。
4006
4004
  content: 单击“恢复会话”来让选项卡中的会话保持活动状态,或在会话过期后刷新浏览器。
4007
- contentExpired: 要返回此页面,请单击下面的“刷新”或刷新浏览器。
4008
4005
  cta: 恢复会话
4009
- ctaExpired: 刷新
4010
4006
 
4011
4007
  # Rancher Extensions
4012
4008
  plugins:
@@ -119,7 +119,7 @@ export default {
119
119
 
120
120
  <style lang="scss" scoped>
121
121
  .rancher-icon-fill {
122
- fill: var(--primary);
122
+ fill: var(--link, var(--primary));
123
123
  }
124
124
 
125
125
  .cluster-icon-menu {
@@ -79,7 +79,7 @@ export default {
79
79
 
80
80
  <style lang="scss" scoped>
81
81
  .rancher-icon-fill {
82
- fill: var(--primary);
82
+ fill: var(--link, var(--primary));
83
83
  }
84
84
  .cluster-icon {
85
85
  align-items: center;
@@ -327,7 +327,7 @@ export default {
327
327
 
328
328
  &:focus, &.focus {
329
329
  outline: none;
330
- border-color: var(--outline);
330
+ border-color: var(--primary-border);
331
331
  }
332
332
 
333
333
  .CodeMirror-wrap pre {
@@ -24,12 +24,20 @@ const cssCache = {};
24
24
 
25
25
  const colors = {
26
26
  header: {
27
- color: '--header-btn-text',
28
- hover: '--header-btn-text-hover'
27
+ color: '--on-tertiary-header',
28
+ hover: '--on-tertiary-header-hover',
29
+ colorFallback: '--header-btn-text',
30
+ hoverFallback: '--header-btn-text-hover',
31
+ active: '--on-tertiary-header-hover',
32
+ activeFallback: '--header-btn-text-hover',
29
33
  },
30
34
  primary: {
31
- color: '--link',
32
- hover: '--primary-hover-text'
35
+ color: '--link',
36
+ hover: '--link',
37
+ colorFallback: '--link',
38
+ hoverFallback: '--primary-hover-text',
39
+ active: '--on-active',
40
+ activeFallback: '--primary-hover-text',
33
41
  }
34
42
  };
35
43
 
@@ -65,45 +73,48 @@ export default {
65
73
  },
66
74
 
67
75
  methods: {
68
- getComputedStyleFor(cssVar) {
69
- return normalizeHex(mapStandardColors((window.getComputedStyle(document.body).getPropertyValue(cssVar)).trim()));
76
+ getComputedStyleFor(cssVar, fallback) {
77
+ const value = window.getComputedStyle(document.body).getPropertyValue(cssVar).trim();
78
+
79
+ return normalizeHex(mapStandardColors(value ?? fallback));
80
+ },
81
+
82
+ resolveColorFilter(cacheKey, rgb) {
83
+ if (filterCache[cacheKey]) {
84
+ return filterCache[cacheKey];
85
+ }
86
+
87
+ const solver = new Solver(rgb);
88
+ const res = solver.solve();
89
+ const filter = res?.filter;
90
+
91
+ filterCache[cacheKey] = filter;
92
+
93
+ return filter;
70
94
  },
71
95
 
72
96
  setColor() {
73
- const uiColor = this.getComputedStyleFor(colors[this.color].color);
74
- const hoverColor = this.getComputedStyleFor(colors[this.color].hover);
97
+ const colorConfig = colors[this.color];
98
+ const uiColor = this.getComputedStyleFor(colorConfig.color, colorConfig.colorFallback);
99
+ const hoverColor = this.getComputedStyleFor(colorConfig.hover, colorConfig.hoverFallback);
100
+ const activeColor = this.getComputedStyleFor(colorConfig.active, colorConfig.activeFallback);
75
101
 
76
- if (!uiColor || !hoverColor) {
102
+ if (!uiColor || !hoverColor || !activeColor) {
77
103
  return;
78
104
  }
79
105
 
80
106
  const uiColorRGB = colorToRgb(uiColor);
81
107
  const hoverColorRGB = colorToRgb(hoverColor);
108
+ const activeColorRGB = colorToRgb(activeColor);
82
109
  const uiColorStr = `${ uiColorRGB.r }-${ uiColorRGB.g }-${ uiColorRGB.b }`;
83
110
  const hoverColorStr = `${ hoverColorRGB.r }-${ hoverColorRGB.g }-${ hoverColorRGB.b }`;
84
111
 
85
112
  const className = `svg-icon-${ uiColorStr }-${ hoverColorStr }`;
86
113
 
87
114
  if (!cssCache[className]) {
88
- let hoverFilter = filterCache[hoverColor];
89
-
90
- if (!hoverFilter) {
91
- const solver = new Solver(hoverColorRGB);
92
- const res = solver.solve();
93
-
94
- hoverFilter = res?.filter;
95
- filterCache[hoverColor] = hoverFilter;
96
- }
97
-
98
- let mainFilter = filterCache[uiColor];
99
-
100
- if (!mainFilter) {
101
- const solver = new Solver(uiColorRGB);
102
- const res = solver.solve();
103
-
104
- mainFilter = res?.filter;
105
- filterCache[uiColor] = mainFilter;
106
- }
115
+ const hoverFilter = this.resolveColorFilter(hoverColor, hoverColorRGB);
116
+ const mainFilter = this.resolveColorFilter(uiColor, uiColorRGB);
117
+ const activeFilter = this.resolveColorFilter(activeColor, activeColorRGB);
107
118
 
108
119
  // Add stylesheet (added as global styles)
109
120
  const styles = `
@@ -123,7 +134,7 @@ export default {
123
134
  ${ hoverFilter };
124
135
  }
125
136
  a.option.active-menu-link > img.${ className } {
126
- ${ hoverFilter };
137
+ ${ activeFilter };
127
138
  }
128
139
  `;
129
140