@rancher/shell 0.3.23 → 0.3.25

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 (149) hide show
  1. package/assets/styles/base/_variables.scss +1 -0
  2. package/assets/styles/themes/_dark.scss +1 -0
  3. package/assets/styles/themes/_light.scss +6 -5
  4. package/assets/translations/en-us.yaml +44 -17
  5. package/assets/translations/zh-hans.yaml +2 -2
  6. package/components/ClusterIconMenu.vue +143 -0
  7. package/components/CruResource.vue +7 -1
  8. package/components/ExplorerProjectsNamespaces.vue +11 -1
  9. package/components/FixedBanner.vue +17 -1
  10. package/components/Loading.vue +1 -1
  11. package/components/Markdown.vue +1 -1
  12. package/components/Questions/__tests__/Yaml.test.ts +3 -2
  13. package/components/SideNav.vue +1 -1
  14. package/components/SortableTable/index.vue +3 -2
  15. package/components/auth/RoleDetailEdit.vue +15 -2
  16. package/components/auth/login/saml.vue +12 -1
  17. package/components/form/LabeledSelect.vue +12 -5
  18. package/components/form/Members/ClusterPermissionsEditor.vue +1 -1
  19. package/components/form/Members/MembershipEditor.vue +6 -1
  20. package/components/form/SelectOrCreateAuthSecret.vue +7 -0
  21. package/components/form/__tests__/KeyValue.test.ts +6 -3
  22. package/components/form/__tests__/LabeledSelect.test.ts +18 -0
  23. package/components/formatter/PodsUsage.vue +11 -36
  24. package/components/formatter/PrincipalGroupBindings.vue +8 -5
  25. package/components/formatter/__tests__/PodsUsage.test.ts +36 -19
  26. package/components/nav/Group.vue +62 -34
  27. package/components/nav/Header.vue +13 -6
  28. package/components/nav/Pinned.vue +47 -0
  29. package/components/nav/TopLevelMenu.vue +673 -325
  30. package/components/nav/Type.vue +88 -8
  31. package/config/home-links.js +1 -1
  32. package/config/product/istio.js +15 -5
  33. package/config/router.js +3 -9
  34. package/config/table-headers.js +5 -6
  35. package/config/uiplugins.js +1 -0
  36. package/core/plugin-helpers.js +3 -0
  37. package/core/types.ts +6 -1
  38. package/creators/app/files/.vscode/settings.json +0 -1
  39. package/creators/pkg/init +2 -2
  40. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +118 -0
  41. package/detail/autoscaling.horizontalpodautoscaler/index.vue +4 -4
  42. package/detail/provisioning.cattle.io.cluster.vue +7 -5
  43. package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +58 -0
  44. package/edit/__tests__/namespace.test.ts +5 -3
  45. package/edit/fleet.cattle.io.gitrepo.vue +43 -15
  46. package/edit/logging.banzaicloud.io.output/index.vue +7 -0
  47. package/edit/management.cattle.io.clusterroletemplatebinding.vue +3 -11
  48. package/edit/namespace.vue +8 -4
  49. package/edit/provisioning.cattle.io.cluster/Basics.vue +662 -0
  50. package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +9 -8
  51. package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +13 -8
  52. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +11 -2
  53. package/edit/provisioning.cattle.io.cluster/MemberRoles.vue +40 -0
  54. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts +237 -0
  55. package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.tests.ts +71 -23
  56. package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +52 -0
  57. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +65 -142
  58. package/edit/provisioning.cattle.io.cluster/rke2.vue +253 -582
  59. package/edit/workload/storage/ContainerMountPaths.vue +7 -5
  60. package/edit/workload/storage/__tests__/Storage.test.ts +2 -2
  61. package/edit/workload/storage/persistentVolumeClaim/__tests__/persistentvolumeclaim.test.ts +36 -0
  62. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +15 -7
  63. package/initialize/App.js +2 -0
  64. package/initialize/client.js +63 -51
  65. package/initialize/index.js +7 -5
  66. package/layouts/default.vue +10 -2
  67. package/layouts/home.vue +6 -2
  68. package/layouts/plain.vue +9 -2
  69. package/list/fleet.cattle.io.cluster.vue +2 -2
  70. package/list/management.cattle.io.feature.vue +1 -1
  71. package/machine-config/amazonec2.vue +1 -0
  72. package/machine-config/vmwarevsphere.vue +48 -7
  73. package/mixins/brand.js +0 -8
  74. package/mixins/child-hook.js +2 -2
  75. package/mixins/create-edit-view/impl.js +3 -3
  76. package/mixins/fetch.client.js +3 -3
  77. package/models/__tests__/management.cattle.io.node.ts +96 -0
  78. package/models/__tests__/node.ts +74 -0
  79. package/models/cluster/node.js +6 -5
  80. package/models/cluster.x-k8s.io.machinedeployment.js +2 -2
  81. package/models/management.cattle.io.cluster.js +22 -1
  82. package/models/management.cattle.io.clusterroletemplatebinding.js +3 -3
  83. package/models/management.cattle.io.globalrole.js +17 -2
  84. package/models/management.cattle.io.node.js +6 -4
  85. package/models/management.cattle.io.projectroletemplatebinding.js +3 -3
  86. package/models/management.cattle.io.roletemplate.js +17 -2
  87. package/package.json +2 -6
  88. package/pages/__tests__/prefs.test.ts +1 -1
  89. package/pages/about.vue +2 -0
  90. package/pages/auth/setup.vue +5 -4
  91. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -0
  92. package/pages/c/_cluster/monitoring/index.vue +8 -3
  93. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +9 -66
  94. package/pages/c/_cluster/uiplugins/CatalogList/CatalogUninstallDialog.vue +182 -0
  95. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +15 -32
  96. package/pages/c/_cluster/uiplugins/UninstallDialog.vue +8 -46
  97. package/pages/c/_cluster/uiplugins/index.vue +64 -64
  98. package/pages/diagnostic.vue +0 -39
  99. package/pages/home.vue +1 -1
  100. package/pages/prefs.vue +3 -13
  101. package/plugins/dashboard-store/normalize.js +4 -4
  102. package/plugins/dashboard-store/resource-class.js +1 -1
  103. package/plugins/int-number.js +5 -2
  104. package/plugins/positive-int-number.js +19 -0
  105. package/plugins/steve/__tests__/getters.spec.ts +15 -0
  106. package/plugins/steve/getters.js +22 -10
  107. package/public/index.html +4 -2
  108. package/rancher-components/BadgeState/BadgeState.vue +5 -1
  109. package/rancher-components/Banner/Banner.test.ts +51 -1
  110. package/rancher-components/Banner/Banner.vue +134 -53
  111. package/rancher-components/Card/Card.test.ts +37 -0
  112. package/rancher-components/Card/Card.vue +24 -7
  113. package/rancher-components/Form/Checkbox/Checkbox.test.ts +20 -29
  114. package/rancher-components/Form/Checkbox/Checkbox.vue +45 -20
  115. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +2 -8
  116. package/rancher-components/Form/LabeledInput/LabeledInput.vue +22 -10
  117. package/rancher-components/Form/Radio/RadioButton.test.ts +31 -0
  118. package/rancher-components/Form/Radio/RadioButton.vue +30 -13
  119. package/rancher-components/Form/Radio/RadioGroup.vue +26 -7
  120. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +7 -6
  121. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +25 -38
  122. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +23 -11
  123. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +19 -5
  124. package/rancher-components/StringList/StringList.test.ts +453 -49
  125. package/rancher-components/StringList/StringList.vue +92 -58
  126. package/scripts/extension/parse-tag-name +0 -0
  127. package/store/index.js +4 -0
  128. package/store/prefs.js +4 -4
  129. package/store/type-map.js +2 -16
  130. package/types/shell/index.d.ts +26 -14
  131. package/utils/__tests__/cluster.test.ts +55 -0
  132. package/utils/__tests__/object.test.ts +21 -2
  133. package/utils/__tests__/sort.test.ts +61 -0
  134. package/utils/cluster.js +47 -1
  135. package/utils/object.js +12 -5
  136. package/utils/string.js +12 -0
  137. package/utils/validators/formRules/__tests__/index.test.ts +13 -1
  138. package/utils/validators/formRules/index.ts +4 -0
  139. package/utils/validators/role-template.js +9 -1
  140. package/utils/version.js +1 -1
  141. package/vue.config.js +1 -4
  142. package/yarn-error.log +200 -0
  143. package/content/docs/en-us/getting-started.md +0 -224
  144. package/content/docs/en-us/whats-new.md +0 -29
  145. package/content/docs/zh-hans/getting-started.md +0 -224
  146. package/content/docs/zh-hans/whats-new.md +0 -28
  147. package/pages/docs/_doc.vue +0 -345
  148. package/pages/docs/toc.js +0 -27
  149. package/plugins/console.js +0 -34
@@ -131,18 +131,18 @@ export default {
131
131
  const addRepositorySteps = [stepRepoInfo, stepTargetInfo].sort((a, b) => (b.weight || 0) - (a.weight || 0));
132
132
 
133
133
  return {
134
- allClusters: [],
135
- allClusterGroups: [],
136
- allWorkspaces: [],
137
- tempCachedValues: {},
138
- username: null,
139
- password: null,
140
- publicKey: null,
141
- privateKey: null,
142
- tlsMode: null,
143
- caBundle: null,
144
- targetAdvancedErrors: null,
145
- matchingClusters: null,
134
+ allClusters: [],
135
+ allClusterGroups: [],
136
+ allWorkspaces: [],
137
+ tempCachedValues: {},
138
+ username: null,
139
+ password: null,
140
+ publicKey: null,
141
+ privateKey: null,
142
+ tlsMode: null,
143
+ caBundle: null,
144
+ targetAdvancedErrors: null,
145
+ matchingClusters: null,
146
146
  ref,
147
147
  refValue,
148
148
  targetMode,
@@ -152,6 +152,7 @@ export default {
152
152
  stepRepoInfo,
153
153
  stepTargetInfo,
154
154
  addRepositorySteps,
155
+ displayHelmRepoURLRegex: false
155
156
  };
156
157
  },
157
158
 
@@ -261,9 +262,8 @@ export default {
261
262
  targetCluster: 'updateTargets',
262
263
  targetClusterGroup: 'updateTargets',
263
264
  targetAdvanced: 'updateTargets',
264
-
265
- tlsMode: 'updateTls',
266
- caBundle: 'updateTls',
265
+ tlsMode: 'updateTls',
266
+ caBundle: 'updateTls',
267
267
 
268
268
  workspace(neu) {
269
269
  if ( this.isCreate ) {
@@ -289,6 +289,10 @@ export default {
289
289
 
290
290
  updateCachedAuthVal(val, key) {
291
291
  this.tempCachedValues[key] = typeof val === 'string' ? { selected: val } : { ...val };
292
+
293
+ if (key === 'helmSecretName') {
294
+ this.toggleHelmRepoURLRegex(val && val.selected !== AUTH_TYPE._NONE);
295
+ }
292
296
  },
293
297
 
294
298
  updateAuth(val, key) {
@@ -303,6 +307,14 @@ export default {
303
307
  this.updateCachedAuthVal(val, key);
304
308
  },
305
309
 
310
+ toggleHelmRepoURLRegex(active) {
311
+ this.displayHelmRepoURLRegex = active;
312
+
313
+ if (!active) {
314
+ delete this.value.spec?.helmRepoURLRegex;
315
+ }
316
+ },
317
+
306
318
  updateTargets() {
307
319
  const spec = this.value.spec;
308
320
  const mode = this.targetMode;
@@ -583,6 +595,22 @@ export default {
583
595
  @inputauthval="updateCachedAuthVal($event, 'helmSecretName')"
584
596
  />
585
597
 
598
+ <div
599
+ v-if="displayHelmRepoURLRegex"
600
+ class="row mt-20"
601
+ >
602
+ <div
603
+ class="col span-6"
604
+ data-testid="gitrepo-helm-repo-url-regex"
605
+ >
606
+ <LabeledInput
607
+ v-model="value.spec.helmRepoURLRegex"
608
+ :mode="mode"
609
+ label-key="fleet.gitRepo.helmRepoURLRegex"
610
+ />
611
+ </div>
612
+ </div>
613
+
586
614
  <template v-if="isTls">
587
615
  <div class="spacer" />
588
616
  <div class="row">
@@ -258,6 +258,13 @@ export default {
258
258
  $logo: 60px;
259
259
 
260
260
  .output {
261
+ display: flex;
262
+ flex-direction: column;
263
+ flex-grow: 1;
264
+
265
+ .side-tabs {
266
+ flex: 1;
267
+ }
261
268
  .provider {
262
269
  h1 {
263
270
  display: inline-block;
@@ -1,7 +1,6 @@
1
1
  <script>
2
2
  import CreateEditView from '@shell/mixins/create-edit-view';
3
3
  import CruResource from '@shell/components/CruResource';
4
- import Banner from '@components/Banner/Banner.vue';
5
4
  import { MANAGEMENT } from '@shell/config/types';
6
5
  import Loading from '@shell/components/Loading';
7
6
  import ClusterPermissionsEditor from '@shell/components/form/Members/ClusterPermissionsEditor';
@@ -9,7 +8,6 @@ import { exceptionToErrorsArray } from '@shell/utils/error';
9
8
 
10
9
  export default {
11
10
  components: {
12
- Banner,
13
11
  ClusterPermissionsEditor,
14
12
  CruResource,
15
13
  Loading,
@@ -64,15 +62,9 @@ export default {
64
62
  @finish="saveOverride"
65
63
  @cancel="done"
66
64
  >
67
- <ClusterPermissionsEditor
68
- v-model="bindings"
69
- :cluster-name="$store.getters['currentCluster'].id"
70
- />
71
- <Banner
72
- v-for="(err, i) in errors"
73
- :key="i"
74
- color="error"
75
- :label="err"
65
+ <ClusterPermissionsEditor
66
+ v-model="bindings"
67
+ :cluster-name="$store.getters['currentCluster'].id"
76
68
  />
77
69
  </CruResource>
78
70
  </template>
@@ -7,8 +7,8 @@ import { MANAGEMENT } from '@shell/config/types';
7
7
  import { CONTAINER_DEFAULT_RESOURCE_LIMIT, PROJECT } from '@shell/config/labels-annotations';
8
8
  import ContainerResourceLimit from '@shell/components/ContainerResourceLimit';
9
9
  import PodSecurityAdmission from '@shell/components/PodSecurityAdmission';
10
- import Tabbed from '@shell/components/Tabbed';
11
10
  import Tab from '@shell/components/Tabbed/Tab';
11
+ import ResourceTabs from '@shell/components/form/ResourceTabs/index.vue';
12
12
  import CruResource from '@shell/components/CruResource';
13
13
  import { PROJECT_ID, _VIEW, FLAT_VIEW, _CREATE } from '@shell/config/query-params';
14
14
  import MoveModal from '@shell/components/MoveModal';
@@ -30,7 +30,7 @@ export default {
30
30
  PodSecurityAdmission,
31
31
  ResourceQuota,
32
32
  Tab,
33
- Tabbed,
33
+ ResourceTabs,
34
34
  MoveModal
35
35
  },
36
36
 
@@ -198,7 +198,11 @@ export default {
198
198
  />
199
199
  </template>
200
200
  </NameNsDescription>
201
- <Tabbed :side-tabs="true">
201
+ <ResourceTabs
202
+ v-model="value"
203
+ :mode="mode"
204
+ :side-tabs="true"
205
+ >
202
206
  <Tab
203
207
  v-if="showResourceQuota"
204
208
  :weight="1"
@@ -269,7 +273,7 @@ export default {
269
273
  @updateLabels="PSAChanged"
270
274
  />
271
275
  </Tab>
272
- </Tabbed>
276
+ </ResourceTabs>
273
277
  <MoveModal v-if="projects" />
274
278
  </CruResource>
275
279
  </template>