@rancher/shell 3.0.5-rc.8 → 3.0.5

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 (199) hide show
  1. package/assets/styles/base/_color.scss +4 -1
  2. package/assets/styles/global/_tooltip.scss +7 -4
  3. package/assets/styles/themes/_dark.scss +11 -0
  4. package/assets/styles/themes/_light.scss +13 -1
  5. package/assets/styles/themes/_modern.scss +22 -0
  6. package/assets/translations/en-us.yaml +147 -19
  7. package/assets/translations/zh-hans.yaml +0 -1
  8. package/chart/monitoring/grafana/index.vue +8 -2
  9. package/components/ActionMenuShell.vue +3 -1
  10. package/components/Cron/CronExpressionEditor.vue +299 -0
  11. package/components/Cron/CronExpressionEditorModal.vue +247 -0
  12. package/components/Cron/CronTooltip.vue +87 -0
  13. package/components/Cron/types.ts +13 -0
  14. package/components/ForceDirectedTreeChart/composable.ts +11 -0
  15. package/components/PodSecurityAdmission.vue +2 -0
  16. package/components/PromptModal.vue +1 -1
  17. package/components/Resource/Detail/Card/__tests__/StateCard.test.ts +1 -0
  18. package/components/Resource/Detail/CopyToClipboard.vue +78 -0
  19. package/components/Resource/Detail/FetchLoader/__tests__/composables.test.ts +69 -0
  20. package/components/Resource/Detail/FetchLoader/composables.ts +27 -0
  21. package/components/Resource/Detail/Metadata/Annotations/__tests__/index.test.ts +1 -1
  22. package/components/Resource/Detail/Metadata/Annotations/index.vue +1 -1
  23. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/identifying-fields.test.ts +13 -61
  24. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/index.test.ts +33 -6
  25. package/components/Resource/Detail/Metadata/IdentifyingInformation/identifying-fields.ts +24 -38
  26. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +25 -5
  27. package/components/Resource/Detail/Metadata/KeyValue.vue +12 -23
  28. package/components/Resource/Detail/Metadata/KeyValueRow.vue +144 -0
  29. package/components/Resource/Detail/Metadata/Labels/__tests__/index.test.ts +1 -0
  30. package/components/Resource/Detail/Metadata/Labels/index.vue +1 -0
  31. package/components/Resource/Detail/Metadata/__tests__/KeyValue.test.ts +30 -32
  32. package/components/Resource/Detail/Metadata/__tests__/KeyValueRow.test.ts +108 -0
  33. package/components/Resource/Detail/Metadata/__tests__/composables.test.ts +0 -3
  34. package/components/Resource/Detail/Metadata/__tests__/index.test.ts +12 -5
  35. package/components/Resource/Detail/Metadata/composables.ts +1 -4
  36. package/components/Resource/Detail/Metadata/index.vue +1 -0
  37. package/components/Resource/Detail/Preview/Content.vue +63 -0
  38. package/components/Resource/Detail/Preview/Preview.vue +128 -0
  39. package/components/Resource/Detail/Preview/__tests__/Content.spec.ts +71 -0
  40. package/components/Resource/Detail/Preview/__tests__/Preview.spec.ts +121 -0
  41. package/components/Resource/Detail/ResourcePopover/ResourcePopoverCard.vue +141 -0
  42. package/components/Resource/Detail/ResourcePopover/__tests__/ResourcePopoverCard.test.ts +136 -0
  43. package/components/Resource/Detail/ResourcePopover/__tests__/index.test.ts +245 -0
  44. package/components/Resource/Detail/ResourcePopover/index.vue +226 -0
  45. package/components/Resource/Detail/SpacedRow.vue +1 -0
  46. package/components/Resource/Detail/TitleBar/__tests__/composables.test.ts +0 -5
  47. package/components/Resource/Detail/TitleBar/__tests__/index.test.ts +1 -1
  48. package/components/Resource/Detail/TitleBar/composables.ts +1 -3
  49. package/components/Resource/Detail/TitleBar/index.vue +2 -29
  50. package/components/Resource/Detail/ViewOptions/composable.ts +9 -0
  51. package/components/Resource/Detail/ViewOptions/index.vue +41 -0
  52. package/components/Resource/Detail/__tests__/CopyToClipboard.spec.ts +82 -0
  53. package/components/ResourceDetail/Masthead/legacy.vue +0 -19
  54. package/components/ResourceDetail/index.vue +1 -26
  55. package/components/ResourceTable.vue +24 -0
  56. package/components/SortableTable/index.vue +7 -1
  57. package/components/SortableTable/paging.js +3 -0
  58. package/components/Tabbed/Tab.vue +43 -1
  59. package/components/Tabbed/index.vue +3 -1
  60. package/components/__tests__/Cron/CronExpressionEditor.test.ts +151 -0
  61. package/components/__tests__/Cron/CronExpressionEditorModal.test.ts +81 -0
  62. package/components/auth/login/saml.vue +86 -0
  63. package/components/form/LabeledSelect.vue +8 -8
  64. package/components/form/ProjectMemberEditor.vue +2 -0
  65. package/components/form/ResourceTabs/composable.ts +54 -0
  66. package/components/form/ResourceTabs/index.vue +10 -7
  67. package/components/form/Select.vue +13 -10
  68. package/components/form/__tests__/LabeledSelect.test.ts +133 -0
  69. package/components/form/__tests__/Select.test.ts +134 -0
  70. package/components/nav/Header.vue +6 -5
  71. package/composables/useExtensionManager.ts +17 -0
  72. package/config/home-links.js +12 -0
  73. package/config/labels-annotations.js +0 -1
  74. package/config/page-actions.js +0 -1
  75. package/config/product/explorer.js +3 -1
  76. package/config/product/fleet.js +2 -7
  77. package/config/product/manager.js +0 -5
  78. package/config/query-params.js +1 -0
  79. package/config/router/navigation-guards/clusters.js +2 -1
  80. package/config/router/navigation-guards/products.js +1 -1
  81. package/config/store.js +2 -0
  82. package/core/extension-manager-impl.js +518 -0
  83. package/core/plugins.js +35 -468
  84. package/core/types.ts +8 -2
  85. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +1 -0
  86. package/detail/catalog.cattle.io.app.vue +7 -4
  87. package/detail/fleet.cattle.io.bundle.vue +1 -5
  88. package/detail/fleet.cattle.io.cluster.vue +3 -2
  89. package/detail/fleet.cattle.io.gitrepo.vue +76 -49
  90. package/detail/fleet.cattle.io.helmop.vue +78 -49
  91. package/dialog/AddonConfigConfirmationDialog.vue +1 -1
  92. package/dialog/GenericPrompt.vue +1 -1
  93. package/dialog/ImportDialog.vue +9 -2
  94. package/dialog/InstallExtensionDialog.vue +18 -10
  95. package/dialog/SloDialog.vue +1 -1
  96. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +2 -1
  97. package/edit/__tests__/resources.cattle.io.restore.test.ts +106 -0
  98. package/edit/auth/oidc.vue +106 -6
  99. package/edit/auth/saml.vue +5 -5
  100. package/edit/cloudcredential.vue +31 -17
  101. package/edit/constraints.gatekeeper.sh.constraint/index.vue +10 -2
  102. package/edit/fleet.cattle.io.cluster.vue +19 -0
  103. package/edit/fleet.cattle.io.gitrepo.vue +23 -16
  104. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +12 -11
  105. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +11 -1
  106. package/edit/provisioning.cattle.io.cluster/index.vue +14 -19
  107. package/edit/provisioning.cattle.io.cluster/rke2.vue +11 -3
  108. package/edit/provisioning.cattle.io.cluster/tabs/AddOnAdditionalManifest.vue +1 -0
  109. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +1 -0
  110. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +1 -0
  111. package/edit/provisioning.cattle.io.cluster/tabs/etcd/S3Config.vue +1 -0
  112. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +2 -0
  113. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/DrainOptions.vue +6 -0
  114. package/edit/resources.cattle.io.restore.vue +5 -8
  115. package/initialize/install-plugins.js +1 -3
  116. package/list/__tests__/workload.test.ts +1 -0
  117. package/list/workload.vue +8 -1
  118. package/machine-config/components/GCEImage.vue +6 -5
  119. package/machine-config/google.vue +11 -6
  120. package/mixins/__tests__/auth-config.test.ts +4 -6
  121. package/mixins/__tests__/chart.test.ts +139 -1
  122. package/mixins/auth-config.js +33 -10
  123. package/mixins/chart.js +58 -18
  124. package/models/__tests__/namespace.test.ts +69 -0
  125. package/models/apps.statefulset.js +8 -10
  126. package/models/chart.js +5 -1
  127. package/models/fleet-application.js +16 -46
  128. package/models/fleet.cattle.io.bundle.js +1 -38
  129. package/models/fleet.cattle.io.gitrepo.js +4 -0
  130. package/models/fleet.cattle.io.helmop.js +4 -0
  131. package/models/management.cattle.io.cluster.js +1 -1
  132. package/models/management.cattle.io.project.js +12 -0
  133. package/models/namespace.js +30 -0
  134. package/models/workload.js +4 -1
  135. package/package.json +10 -10
  136. package/pages/auth/login.vue +8 -3
  137. package/pages/auth/logout.vue +6 -5
  138. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +26 -11
  139. package/pages/c/_cluster/apps/charts/chart.vue +29 -20
  140. package/pages/c/_cluster/apps/charts/index.vue +1 -0
  141. package/pages/c/_cluster/apps/charts/install.vue +6 -5
  142. package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +102 -12
  143. package/pages/c/_cluster/explorer/tools/index.vue +145 -254
  144. package/pages/c/_cluster/manager/cloudCredential/index.vue +18 -1
  145. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +12 -2
  146. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +1 -1
  147. package/pages/c/_cluster/uiplugins/__tests__/index.spec.ts +318 -0
  148. package/pages/c/_cluster/uiplugins/index.vue +221 -363
  149. package/pages/home.vue +1 -9
  150. package/plugins/axios.js +3 -2
  151. package/plugins/dashboard-store/resource-class.js +49 -0
  152. package/plugins/ember-cookie.js +7 -3
  153. package/plugins/steve/subscribe.js +4 -2
  154. package/public/index.html +2 -1
  155. package/rancher-components/Card/Card.vue +1 -1
  156. package/rancher-components/Form/Checkbox/Checkbox.vue +1 -1
  157. package/rancher-components/Form/Radio/RadioButton.vue +1 -1
  158. package/rancher-components/Form/Radio/RadioGroup.vue +1 -1
  159. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +1 -11
  160. package/rancher-components/Pill/RcCounterBadge/RcCounterBadge.test.ts +53 -0
  161. package/rancher-components/Pill/RcCounterBadge/RcCounterBadge.vue +65 -0
  162. package/rancher-components/Pill/RcCounterBadge/index.ts +1 -0
  163. package/rancher-components/Pill/RcCounterBadge/types.ts +7 -0
  164. package/rancher-components/Pill/RcStatusBadge/RcStatusBadge.vue +1 -1
  165. package/rancher-components/Pill/RcStatusBadge/index.ts +1 -1
  166. package/rancher-components/Pill/RcStatusIndicator/RcStatusIndicator.vue +3 -3
  167. package/rancher-components/Pill/RcStatusIndicator/types.ts +1 -1
  168. package/rancher-components/Pill/RcTag/RcTag.test.ts +64 -0
  169. package/rancher-components/Pill/RcTag/RcTag.vue +94 -0
  170. package/rancher-components/Pill/RcTag/index.ts +1 -0
  171. package/rancher-components/Pill/RcTag/types.ts +9 -0
  172. package/rancher-components/Pill/types.ts +1 -0
  173. package/rancher-components/RcItemCard/RcItemCard.vue +1 -0
  174. package/rancher-components/RcItemCard/RcItemCardAction.vue +12 -0
  175. package/scripts/test-plugins-build.sh +0 -1
  176. package/store/__tests__/catalog.test.ts +63 -0
  177. package/store/__tests__/cookies.test.ts +72 -0
  178. package/store/auth.js +33 -10
  179. package/store/catalog.js +2 -2
  180. package/store/cookies.ts +30 -0
  181. package/store/prefs.js +10 -5
  182. package/store/type-map.js +3 -15
  183. package/types/extension-manager.ts +26 -0
  184. package/types/shell/index.d.ts +123 -27
  185. package/utils/__tests__/product.test.ts +129 -0
  186. package/utils/__tests__/resource.test.ts +87 -0
  187. package/utils/alertmanagerconfig.js +2 -2
  188. package/utils/auth.js +4 -77
  189. package/utils/product.ts +39 -0
  190. package/utils/resource.ts +35 -0
  191. package/utils/select.js +0 -24
  192. package/utils/validators/formRules/__tests__/index.test.ts +3 -0
  193. package/utils/validators/formRules/index.ts +2 -1
  194. package/vue.config.js +1 -1
  195. package/components/Resource/Detail/Metadata/Rectangle.vue +0 -34
  196. package/components/Resource/Detail/Metadata/__tests__/Rectangle.test.ts +0 -24
  197. package/components/ResourceDetail/Masthead/__tests__/legacy.test.ts +0 -65
  198. package/utils/cookie-universal.js +0 -10
  199. /package/components/{ForceDirectedTreeChart.vue → ForceDirectedTreeChart/index.vue} +0 -0
@@ -12,6 +12,7 @@
12
12
 
13
13
  $blue001: #1F67DB;
14
14
  $blue002: #DFE6F2;
15
+ $blue003: #297DB4;
15
16
 
16
17
  $green001: #007032;
17
18
  $green002: #DCE7E1;
@@ -24,4 +25,6 @@ $red001: #B13333;
24
25
  $gray001: #EDEFF3;
25
26
  $gray002: #DCDEE4;
26
27
  $gray003: #FFF;
27
- $gray004: #6C6C76;
28
+ $gray004: #6C6C76;
29
+ $gray005: #4A4B52;
30
+ $gray006: #1b1c21;
@@ -12,6 +12,12 @@
12
12
  color: var(--tooltip-text);
13
13
  border-radius: var(--border-radius);
14
14
  padding: 8px;
15
+
16
+ // Ensure code blocks inside tooltips don't look awful
17
+ pre {
18
+ padding: 2px;
19
+ vertical-align: middle;
20
+ }
15
21
  }
16
22
 
17
23
  .v-popper__arrow-container {
@@ -113,10 +119,6 @@
113
119
  padding: 10px;
114
120
  border-radius: var(--border-radius-lg);
115
121
  border: none;
116
-
117
- a {
118
- color: var(--popover-text);
119
- }
120
122
  }
121
123
 
122
124
  .v-popper__arrow-container {
@@ -163,3 +165,4 @@
163
165
  .icon-info.v-popper--has-tooltip {
164
166
  font-size: 14px;
165
167
  }
168
+
@@ -260,5 +260,16 @@
260
260
  .secondary-text-link {
261
261
  color: var(--link-text-secondary);
262
262
  }
263
+
264
+ --rc-active-background: #{$gray006};
265
+ --rc-active-disabled-background: #{$gray006};
266
+ --rc-active-border: #{$gray005};
267
+
268
+ --rc-inactive-border: #{$gray005};
269
+ --rc-inactive-background: #{$gray005};
270
+ --rc-inactive-disabled-border: #{$gray004};
271
+
272
+ --rc-disabled-background: #{$gray005};
273
+ --rc-disabled-text-color: #{$gray004};
263
274
  }
264
275
  }
@@ -648,5 +648,17 @@ $drag-over: #DCDEE7;
648
648
 
649
649
  --rc-none: #{$gray002};
650
650
  --rc-none-secondary: #{$gray004};
651
+
652
+ --rc-primary-hover: #{$blue003};
653
+
654
+ --rc-active-background: #{$gray003};
655
+ --rc-active-disabled-background: #{$gray001};
656
+ --rc-active-border: #{$gray002};
657
+ --rc-inactive-border: #{$gray001};
658
+ --rc-inactive-background: #{$gray001};
659
+ --rc-inactive-disabled-border: #{$gray001};
660
+ --rc-disabled-background: #{$gray001};
661
+ --rc-disabled-text-color: #{$gray004};
662
+
651
663
  }
652
- }
664
+ }
@@ -647,6 +647,17 @@ BODY, .theme-light {
647
647
 
648
648
  --rc-none: #{$gray002};
649
649
  --rc-none-secondary: #{$gray004};
650
+
651
+ --rc-primary-hover: #{$blue003};
652
+
653
+ --rc-active-background: #{$gray003};
654
+ --rc-active-disabled-background: #{$gray001};
655
+ --rc-active-border: #{$gray002};
656
+ --rc-inactive-border: #{$gray001};
657
+ --rc-inactive-background: #{$gray001};
658
+ --rc-inactive-disabled-border: #{$gray001};
659
+ --rc-disabled-background: #{$gray001};
660
+ --rc-disabled-text-color: #{$gray004};
650
661
  }
651
662
 
652
663
  BODY, .theme-dark {
@@ -910,5 +921,16 @@ BODY, .theme-dark {
910
921
  .secondary-text-link {
911
922
  color: var(--link-text-secondary);
912
923
  }
924
+
925
+ --rc-active-background: #{$gray006};
926
+ --rc-active-disabled-background: #{$gray006};
927
+ --rc-active-border: #{$gray005};
928
+
929
+ --rc-inactive-border: #{$gray005};
930
+ --rc-inactive-background: #{$gray005};
931
+ --rc-inactive-disabled-border: #{$gray004};
932
+
933
+ --rc-disabled-background: #{$gray005};
934
+ --rc-disabled-text-color: #{$gray004};
913
935
  }
914
936
 
@@ -40,6 +40,7 @@ generic:
40
40
  disabled: Disabled
41
41
  done: Done
42
42
  enabled: Enabled
43
+ error: Error
43
44
  here: here
44
45
  id: ID
45
46
  ignored: Ignored
@@ -158,7 +159,7 @@ generic:
158
159
  showLess: Show less
159
160
  showMore: Show more
160
161
  opensInNewTab: Opens in a new tab
161
-
162
+
162
163
  tabs:
163
164
  addItem: Add a new tab item
164
165
  removeItem: Remove selected tab item
@@ -281,7 +282,6 @@ nav:
281
282
  filteringDescription: Using this input will immediately filter the results in the list below
282
283
  header:
283
284
  setLoginPage: Set as login page
284
- restoreCards: Restore hidden cards
285
285
  showHideBanner: Show/Hide Banner
286
286
  userMenu:
287
287
  preferences: Preferences
@@ -478,6 +478,12 @@ addProjectMemberDialog:
478
478
  title: Add Project Member
479
479
 
480
480
  authConfig:
481
+ slo:
482
+ sloTitle: Log Out behavior
483
+ sloOptions:
484
+ onlyRancher: Log out of Rancher and not {name}
485
+ logoutAll: Log out of Rancher and {name} (includes all other applications registered with {name})
486
+ choose: Allow the user to choose one of the above in an additional log out step
481
487
  accessMode:
482
488
  label: 'Configure who should be able to login and use {vendor}'
483
489
  required: Restrict access to only the authorized users & groups
@@ -607,7 +613,7 @@ authConfig:
607
613
  starttls:
608
614
  label: Start TLS
609
615
  tip: Upgrades non-encrypted connections by wrapping with TLS during the connection process. Can not be used in conjunction with TLS.
610
- searchUsingServiceAccount:
616
+ searchUsingServiceAccount:
611
617
  label: Enable Service Account Search
612
618
  tip: When enabled, Rancher will use the service account instead of the user account to search for users and groups.
613
619
  tls: TLS
@@ -627,11 +633,6 @@ authConfig:
627
633
  UID: UID Field
628
634
  adfs: Configure an AD FS account
629
635
  api: '{vendor} API Host'
630
- sloTitle: Log Out behavior
631
- sloOptions:
632
- onlyRancher: Log out of Rancher and not {name}
633
- logoutAll: Log out of Rancher and {name} (includes all other applications registered with {name})
634
- choose: Allow the user to choose one of the above in an additional log out step
635
636
  cert:
636
637
  label: Certificate
637
638
  placeholder: Paste in the certificate, starting with -----BEGIN CERTIFICATE-----
@@ -698,6 +699,9 @@ authConfig:
698
699
  title: Are you sure? This update is irreversible.
699
700
  body: '<p><b>You may need to make some additional changes</b>. Please ensure the Azure AD app has the Directory.Read.All <b>Application</b> permission added to Microsoft Graph.<br> If any endpoints were customized while configuring Azure AD authentication in Rancher, they will not be automatically updated. </p>'
700
701
  oidc:
702
+ endSessionEndpoint:
703
+ title: End Session Endpoint
704
+ tooltip: Provider specific URL used for logging a user out of their session
701
705
  genericoidc: Configure an OIDC account
702
706
  keycloakoidc: Configure a Keycloak OIDC account
703
707
  cognito: Configure an Amazon Cognito account
@@ -825,6 +829,10 @@ asyncButton:
825
829
  action: Download
826
830
  success: Saving
827
831
  waiting: Downloading&hellip;
832
+ downgrade:
833
+ action: Downgrade
834
+ success: Downgraded
835
+ waiting: Downgrading&hellip;
828
836
  drain:
829
837
  action: Drain
830
838
  success: Drained
@@ -833,6 +841,10 @@ asyncButton:
833
841
  action: Save
834
842
  success: Saved
835
843
  waiting: Saving&hellip;
844
+ editVersion:
845
+ action: Save changes
846
+ success: Saved
847
+ waiting: Saving changes&hellip;
836
848
  editAndContinue:
837
849
  action: Save and Continue
838
850
  success: Saved
@@ -853,6 +865,10 @@ asyncButton:
853
865
  action: Install
854
866
  success: Installed
855
867
  waiting: Installing&hellip;
868
+ installVersion:
869
+ action: Install this version
870
+ success: Installed
871
+ waiting: Installing&hellip;
856
872
  load:
857
873
  action: Load
858
874
  success: Loaded
@@ -897,9 +913,9 @@ asyncButton:
897
913
  success: Redeployed
898
914
  waiting: Redeploying Workload
899
915
  rollback:
900
- action: Roll Back
916
+ action: Rollback
901
917
  success: Rolled Back
902
- waiting: Rolling Back Workload
918
+ waiting: Rolling Back&hellip;
903
919
  rotate:
904
920
  action: Rotate
905
921
  waiting: Rotating&hellip;
@@ -928,6 +944,10 @@ asyncButton:
928
944
  action: Upgrade
929
945
  success: Upgrading
930
946
  waiting: Starting&hellip;
947
+ upgradeVersion:
948
+ action: Upgrade
949
+ success: Upgraded
950
+ waiting: Upgrading&hellip;
931
951
  generate:
932
952
  action: Generate
933
953
  success: Generated
@@ -1062,6 +1082,12 @@ catalog:
1062
1082
  deprecatedWarning: '{chartName} has been marked as deprecated. Use caution when installing this helm chart as it might be removed in the future.'
1063
1083
  experimentalWarning: '{chartName} has been marked as experimental. Use caution when installing this helm chart as it might not function as expected.'
1064
1084
  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.'
1085
+ chartButton:
1086
+ action:
1087
+ install: Install this version
1088
+ edit: Edit the current version
1089
+ upgrade: Upgrade to this version
1090
+ downgrade: Downgrade to this version
1065
1091
  charts:
1066
1092
  browseAriaLabel: Show only charts grid
1067
1093
  iconAlt: Icon for {app} card/grid item
@@ -1139,7 +1165,7 @@ catalog:
1139
1165
  customizeInstall: Customize Install Options
1140
1166
  viewLogs: View Installation Logs
1141
1167
  waitForLogs: Installation initialized; waiting for logs...
1142
- canNotCreateRepos: It looks like you don't have permission to add repositories and install helm charts.
1168
+ canNotCreateRepos: It looks like you don't have permission to add repositories and install helm charts.
1143
1169
  canNotInstallApps: The {repo} repository has been added, but you don't have permission to install charts from it.
1144
1170
  stages:
1145
1171
  addRepo:
@@ -1234,7 +1260,9 @@ catalog:
1234
1260
  description: This process will help {action, select,
1235
1261
  install { create }
1236
1262
  upgrade { upgrade }
1237
- update { update }
1263
+ downgrade { upgrade }
1264
+ editVersion { update }
1265
+ upgradeVersion { upgrade }
1238
1266
  } the {existing, select,
1239
1267
  true { app}
1240
1268
  false { chart}
@@ -1326,8 +1354,9 @@ catalog:
1326
1354
  noTools: "No Cluster Tools found"
1327
1355
  action:
1328
1356
  install: Install
1329
- upgrade: Upgrade/Edit
1330
- edit: Edit
1357
+ upgrade: Upgrade
1358
+ edit: Edit current version
1359
+ downgrade: Downgrade
1331
1360
  remove: Remove
1332
1361
  manage: Manage
1333
1362
  os:
@@ -1604,7 +1633,7 @@ cluster:
1604
1633
  placeholder: Service Account private key JSON file
1605
1634
  gke: GKE
1606
1635
  gce: GCE
1607
- help:
1636
+ help:
1608
1637
  shared: <p>Create a <a href="https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts" target="_blank" rel="noopener noreferrer nofollow">Service Account</a> with a JSON private key and provide the JSON here.</p>
1609
1638
  gke: |-
1610
1639
  <p>These IAM roles are required for GKE:</p>
@@ -2604,6 +2633,8 @@ cruResource:
2604
2633
  drivers:
2605
2634
  kontainer:
2606
2635
  title: Cluster Drivers
2636
+ emberDeprecationMessage: 'Support for UI Plugins (based on Ember) for cluster and node drivers was deprecated in Rancher 2.11.0 and will be removed in a future release. These need to be migrated to the new <a href="https://extensions.rancher.io" target="_blank" rel="noopener noreferrer nofollow">UI Extensions framework</a>.'
2637
+
2607
2638
  node:
2608
2639
  title: Node Drivers
2609
2640
  add:
@@ -3226,6 +3257,7 @@ footer:
3226
3257
  slack: Slack
3227
3258
 
3228
3259
  gatekeeperConstraint:
3260
+ templateRequired: You must have at least one Template before attempting to create a Constraint.
3229
3261
  downloadViolations: Download Violations
3230
3262
  match:
3231
3263
  title: Match
@@ -4089,6 +4121,11 @@ login:
4089
4121
  useNonLocal: Use a non-local user
4090
4122
  remember:
4091
4123
  label: Remember Username
4124
+ cli:
4125
+ welcome: Login to complete CLI authentication
4126
+ invalidParams: Invalid login parameters - can not login
4127
+ warning: 'If you did not initiate this request or the "Client Request Id" shown in your terminal does not match the code shown below, do not continue'
4128
+ warningLegacy: 'If you did not initiate this request or the code shown below does not match the "requestId" parameter shown as part of the login url in your terminal, do not continue'
4092
4129
 
4093
4130
  logout:
4094
4131
  message: Logging Out...
@@ -5097,6 +5134,8 @@ plugins:
5097
5134
  image: Image
5098
5135
  installing: Installing ...
5099
5136
  uninstalling: Uninstalling ...
5137
+ updating: Updating ...
5138
+ rollingBack: Rolling back ...
5100
5139
  menu: Extensions menu
5101
5140
  reloadRancher: Reload Rancher
5102
5141
  descriptions:
@@ -5752,7 +5791,6 @@ resourceDetail:
5752
5791
  favoriteAction: Add {resource} to your starred/favorites list
5753
5792
  unfavoriteAction: Remove {resource} from your starred/favorites list
5754
5793
  age: Age
5755
- createdBy: Created by
5756
5794
  restartCount: Pod Restarts
5757
5795
  defaultBannerMessage:
5758
5796
  error: This resource is currently in an error state, but there isn't a detailed message available.
@@ -6473,7 +6511,6 @@ tableHeaders:
6473
6511
  apikey: API Key
6474
6512
  available: Available
6475
6513
  attachedVM: Attached VM
6476
-
6477
6514
  authRoles:
6478
6515
  globalDefault: New User Default
6479
6516
  clusterDefault: Cluster Creator Default
@@ -6950,6 +6987,9 @@ wizard:
6950
6987
  edit: Edit
6951
6988
  create: Create
6952
6989
  view: View
6990
+ install: Install
6991
+ upgrade: Upgrade
6992
+ downgrade: Downgrade
6953
6993
  wm:
6954
6994
  connection:
6955
6995
  connected: Connected
@@ -7530,6 +7570,8 @@ model:
7530
7570
  saml: SAML
7531
7571
  oauth: OAuth
7532
7572
  oidc: OIDC
7573
+ keycloakoidc: Keycloak
7574
+ genericoidc: OIDC provider
7533
7575
  cognito: Amazon Cognito
7534
7576
  name:
7535
7577
  keycloak: Keycloak (SAML)
@@ -8724,6 +8766,11 @@ volumeClaimTemplate:
8724
8766
  manager:
8725
8767
  cloudCredentials:
8726
8768
  label: Cloud Credentials
8769
+ list:
8770
+ groupBy:
8771
+ provider: Group by Provider
8772
+ headers:
8773
+ provider: Provider
8727
8774
  drivers:
8728
8775
  label: Drivers
8729
8776
  rkeTemplates:
@@ -8873,6 +8920,9 @@ component:
8873
8920
  title: Config
8874
8921
  resource:
8875
8922
  detail:
8923
+ copyToClipboard:
8924
+ ariaLabel:
8925
+ copy: Copy to clipboard
8876
8926
  card:
8877
8927
  resourceUsage:
8878
8928
  used: Used
@@ -8907,7 +8957,6 @@ component:
8907
8957
  metadata:
8908
8958
  labelsAndAnnotations: Labels and Annotations
8909
8959
  identifyingInformation:
8910
- createdBy: Created by
8911
8960
  namespace: Namespace
8912
8961
  project: Project
8913
8962
  age: Age
@@ -8927,4 +8976,83 @@ component:
8927
8976
  title: Labels
8928
8977
  keyValue:
8929
8978
  noRows: There are no {propertyName} configured on this resource.
8930
- showConfiguration: Show Configuration
8979
+ showConfiguration: Show Configuration
8980
+ ariaLabel:
8981
+ showPreview: Show Preview
8982
+ glance:
8983
+ state: State
8984
+ age: Age
8985
+ namespace: Namespace
8986
+ project: Project
8987
+ type: Type
8988
+ ariaLabel:
8989
+ showDetails: Show Resource Information about { resource } named { name }
8990
+ actionMenu: Resource Actions - { resource }
8991
+ cron:
8992
+ expressionEditor:
8993
+ label:
8994
+ minute: "Minute"
8995
+ hour: "Hour"
8996
+ dayOfMonth: "Day of Month"
8997
+ month: "Month"
8998
+ dayOfWeek: "Day of Week"
8999
+ invalidValue: "Invalid value"
9000
+ invalidCronExpression: "Invalid Cron Expression"
9001
+ minute:
9002
+ any: "any value (every minute)"
9003
+ at1and5: "at 1 and 5 min past the hour"
9004
+ range: "every minute from 1 to 5"
9005
+ every5: "every 5 minutes"
9006
+ start8: "every 5 minutes, starting at 8 minutes past the hour"
9007
+ allowed: "Allowed literal values: 0-59"
9008
+ hour:
9009
+ any: "any value (every hour)"
9010
+ at1and5: "at 1 AM and 5 AM"
9011
+ range: "every hour from 1 to 5 AM"
9012
+ every5: "every 5 hours"
9013
+ start8: "every 5 hours starting at 8 AM"
9014
+ allowed: "Allowed literal values: 0-23"
9015
+ dayOfMonth:
9016
+ any: "any value (every day of the month)"
9017
+ omit: "omit"
9018
+ 1and5: "on the 1st and 5th days of the month"
9019
+ range: "every day from 1st to 5th"
9020
+ every5: "every 5 days"
9021
+ start8: "every 5 days starting at the 8th"
9022
+ allowed: "Allowed literal values: 1-31"
9023
+ month:
9024
+ any: "any value (every month)"
9025
+ 1and5: "on months 1 and 5 (January and May)"
9026
+ range: "every month from January to May"
9027
+ every2: "every 2 months"
9028
+ start3: "every 2 months, starting on month 3 (March)"
9029
+ allowed: "Allowed literal values: 1-12"
9030
+ alias: "Allowed alias values: jan-dec"
9031
+ dayOfWeek:
9032
+ any: "any value (every day of the week)"
9033
+ omit: "omit"
9034
+ 1and5: "on days 1 and 5 (Monday and Friday)"
9035
+ range: "every day from Monday to Friday"
9036
+ allowed: "Allowed literal values: 0-7"
9037
+ alias: "Allowed alias values: mon-sun"
9038
+ a11y:
9039
+ examples: "Edit {label}. Examples:"
9040
+ expressionEditorModal:
9041
+ title: "Define Cron expression"
9042
+ description: "Click on any field to get hints about valid values and wildcard symbols."
9043
+ wildcards:
9044
+ title: "Generic Wildcards"
9045
+ anyValue: "any value"
9046
+ xAndY: "X and Y"
9047
+ fromXtoY: "from X to Y"
9048
+ everyX: "every X"
9049
+ everyXStartingY: "every X starting at Y"
9050
+ everyXFromYtoZ: "every X, from Y to Z"
9051
+ examples:
9052
+ title: "Examples"
9053
+ dailyMidnight: "At 12:00 AM"
9054
+ every5Hours: "At 0 minutes past the hour, every 5 hours"
9055
+ day1At1745: "At 05:45 PM, on day 1 of the month"
9056
+ weekdaysAt0830: "At 30 minutes past the hour, every 1 hours, starting at 08:00 AM, Monday through Friday"
9057
+ marchToMayHourly: "Every hour, only in March, April, and May"
9058
+ every4Hours9to17: "At 0 minutes past the hour, every 4 hours, between 09:00 AM and 05:00 PM"
@@ -194,7 +194,6 @@ nav:
194
194
  placeholder: 输入关键词,搜索资源
195
195
  header:
196
196
  setLoginPage: 设置为登录页面
197
- restoreCards: 恢复隐藏的卡片
198
197
  userMenu:
199
198
  preferences: 偏好设置
200
199
  accountAndKeys: 账号 & API 密钥
@@ -265,7 +265,10 @@ export default {
265
265
  />
266
266
  </div>
267
267
  <div class="col span-6">
268
- <div v-if="showStorageClasses">
268
+ <div
269
+ v-if="showStorageClasses"
270
+ data-testid="select-chart-grafana-storage-class"
271
+ >
269
272
  <StorageClassSelector
270
273
  :value="value.grafana.persistence.storageClassName"
271
274
  :mode="mode"
@@ -332,7 +335,10 @@ export default {
332
335
  />
333
336
  </div>
334
337
  <div class="col span-6">
335
- <div v-if="showStorageClasses">
338
+ <div
339
+ v-if="showStorageClasses"
340
+ data-testid="select-chart-grafana-storage-class"
341
+ >
336
342
  <StorageClassSelector
337
343
  :value="value.grafana.persistence.storageClassName"
338
344
  :mode="mode"
@@ -28,7 +28,7 @@ const openChanged = (event: boolean) => {
28
28
  }
29
29
  };
30
30
 
31
- const emit = defineEmits<{(event: string, payload: any): void}>();
31
+ const emit = defineEmits<{(event: string, payload: any): void;(event: 'action-invoked'): void;}>();
32
32
  const route = useRoute();
33
33
 
34
34
  const execute = (action: any, event: MouseEvent, args?: any) => {
@@ -36,6 +36,8 @@ const execute = (action: any, event: MouseEvent, args?: any) => {
36
36
  return;
37
37
  }
38
38
 
39
+ emit('action-invoked');
40
+
39
41
  // this will come from extensions...
40
42
  if (action.invoke) {
41
43
  const fn = action.invoke;