@rancher/shell 0.3.4 → 0.3.6

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 (289) hide show
  1. package/assets/images/providers/outscale.svg +19 -0
  2. package/assets/styles/app.scss +1 -1
  3. package/assets/styles/base/_basic.scss +18 -0
  4. package/assets/styles/base/_mixins.scss +0 -11
  5. package/assets/styles/base/_variables.scss +2 -4
  6. package/assets/styles/fonts/_fontstack.scss +11 -11
  7. package/assets/styles/global/_button.scss +12 -2
  8. package/assets/styles/vendor/vue-js-modal.scss +3 -3
  9. package/assets/translations/en-us.yaml +113 -22
  10. package/assets/translations/zh-hans.yaml +113 -24
  11. package/babel.config.js +13 -0
  12. package/chart/gatekeeper.vue +78 -0
  13. package/chart/istio.vue +135 -112
  14. package/chart/logging/index.vue +13 -4
  15. package/chart/monitoring/index.vue +15 -5
  16. package/chart/monitoring/steps/uninstall-v1.vue +2 -2
  17. package/chart/rancher-backup/index.vue +10 -3
  18. package/cloud-credential/aws.vue +1 -1
  19. package/cloud-credential/digitalocean.vue +1 -1
  20. package/cloud-credential/gcp.vue +1 -1
  21. package/cloud-credential/generic.vue +2 -2
  22. package/cloud-credential/linode.vue +1 -1
  23. package/cloud-credential/pnap.vue +1 -1
  24. package/components/ActionMenu.vue +3 -4
  25. package/components/AssignTo.vue +1 -1
  26. package/components/AsyncButton.vue +1 -1
  27. package/components/BannerGraphic.vue +1 -1
  28. package/components/BrandImage.vue +1 -4
  29. package/components/ButtonDropdown.vue +2 -3
  30. package/components/Carousel.vue +85 -37
  31. package/components/ChartPsp.vue +76 -0
  32. package/components/CruResource.vue +6 -2
  33. package/components/DashboardMetrics.vue +12 -10
  34. package/components/DetailText.vue +1 -1
  35. package/components/DisableAuthProviderModal.vue +1 -1
  36. package/components/EmberPage.vue +1 -1
  37. package/components/EtcdInfoBanner.vue +12 -7
  38. package/components/ExplorerMembers.vue +101 -6
  39. package/components/ExplorerProjectsNamespaces.vue +46 -3
  40. package/components/FileDiff.vue +6 -7
  41. package/components/GrafanaDashboard.vue +27 -23
  42. package/components/LazyImage.vue +10 -12
  43. package/components/LogItem.vue +1 -1
  44. package/components/Markdown.vue +1 -1
  45. package/components/PromptRemove.vue +2 -2
  46. package/components/PromptRestore.vue +1 -1
  47. package/components/ResourceDetail/Masthead.vue +16 -0
  48. package/components/ResourceDetail/index.vue +21 -4
  49. package/components/ResourceList/index.vue +1 -1
  50. package/components/ResourceTable.vue +4 -1
  51. package/components/SingleClusterInfo.vue +2 -2
  52. package/components/SortableTable/THead.vue +1 -1
  53. package/components/SortableTable/index.vue +28 -13
  54. package/components/SortableTable/selection.js +58 -50
  55. package/components/Wizard.vue +4 -2
  56. package/components/__tests__/AsyncButton.test.ts +3 -1
  57. package/components/__tests__/ChartPsp.test.ts +75 -0
  58. package/components/__tests__/CruResource.test.ts +3 -1
  59. package/components/auth/Principal.vue +1 -1
  60. package/components/auth/RoleDetailEdit.vue +2 -2
  61. package/components/fleet/FleetBundles.vue +3 -1
  62. package/components/fleet/FleetClusters.vue +1 -2
  63. package/components/fleet/FleetIntro.vue +9 -1
  64. package/components/fleet/FleetNoWorkspaces.vue +62 -0
  65. package/components/fleet/FleetSummary.vue +7 -1
  66. package/components/form/HookOption.vue +14 -10
  67. package/components/form/LabeledSelect.vue +14 -11
  68. package/components/form/Labels.vue +32 -27
  69. package/components/form/MatchExpressions.vue +19 -4
  70. package/components/form/Members/ClusterPermissionsEditor.vue +32 -7
  71. package/components/form/NameNsDescription.vue +32 -46
  72. package/components/form/ProjectMemberEditor.vue +46 -21
  73. package/components/form/ResourceSelector.vue +1 -1
  74. package/components/form/SecretSelector.vue +5 -1
  75. package/components/form/ServiceNameSelect.vue +1 -1
  76. package/components/form/SimpleSecretSelector.vue +9 -9
  77. package/components/form/Tolerations.vue +4 -1
  78. package/components/form/ValueFromResource.vue +14 -9
  79. package/components/form/WorkloadPorts.vue +2 -2
  80. package/components/form/__tests__/LabeledSelect.test.ts +138 -0
  81. package/components/form/__tests__/NameNsDescription.ts +59 -0
  82. package/components/formatter/InternalExternalIP.vue +6 -0
  83. package/components/formatter/InvolvedObjectLink.vue +54 -0
  84. package/components/formatter/Link.vue +20 -4
  85. package/components/formatter/LinkName.vue +6 -1
  86. package/components/formatter/ServiceTargets.vue +1 -1
  87. package/components/formatter/WorkloadHealthScale.vue +8 -2
  88. package/components/nav/Group.vue +2 -2
  89. package/components/nav/NamespaceFilter.vue +23 -11
  90. package/components/nav/TopLevelMenu.vue +2 -4
  91. package/components/nav/Type.vue +1 -1
  92. package/components/nav/WorkspaceSwitcher.vue +46 -5
  93. package/components/nuxt/nuxt-build-indicator.vue +143 -0
  94. package/components/nuxt/nuxt-child.js +122 -0
  95. package/components/nuxt/nuxt-error.vue +98 -0
  96. package/components/nuxt/nuxt-link.client.js +98 -0
  97. package/components/nuxt/nuxt-link.server.js +16 -0
  98. package/components/nuxt/nuxt-loading.vue +154 -0
  99. package/components/nuxt/nuxt.js +101 -0
  100. package/config/labels-annotations.js +17 -0
  101. package/config/middleware.js +12 -0
  102. package/config/product/auth.js +3 -2
  103. package/config/product/explorer.js +34 -6
  104. package/config/product/fleet.js +2 -0
  105. package/config/query-params.js +1 -0
  106. package/config/router.js +414 -0
  107. package/config/store.js +181 -0
  108. package/config/table-headers.js +54 -12
  109. package/config/types.js +18 -8
  110. package/config/uiplugins.js +30 -0
  111. package/content/docs/en-us/whats-new.md +10 -0
  112. package/content/docs/zh-hans/whats-new.md +11 -1
  113. package/core/plugin-routes.ts +23 -0
  114. package/core/plugin.ts +4 -2
  115. package/core/types.ts +258 -1
  116. package/creators/app/app.package.json +2 -1
  117. package/creators/app/files/.eslintrc.js +1 -1
  118. package/creators/app/files/babel.config.js +1 -18
  119. package/creators/app/files/tsconfig.json +0 -1
  120. package/creators/app/files/vue.config.js +6 -0
  121. package/creators/app/init +5 -5
  122. package/creators/pkg/files/.github/workflows/build-extension.yml +110 -0
  123. package/creators/pkg/files/tsconfig.json +0 -1
  124. package/creators/pkg/init +35 -4
  125. package/creators/pkg/pkg.package.json +3 -3
  126. package/creators/update/init +1 -1
  127. package/detail/constraints.gatekeeper.sh.constraint.vue +34 -17
  128. package/detail/fleet.cattle.io.clustergroup.vue +7 -1
  129. package/detail/fleet.cattle.io.gitrepo.vue +19 -11
  130. package/detail/harvesterhci.io.management.cluster.vue +3 -3
  131. package/detail/provisioning.cattle.io.cluster.vue +54 -12
  132. package/detail/workload/index.vue +3 -3
  133. package/dialog/AddClusterMemberDialog.vue +1 -1
  134. package/dialog/AddProjectMemberDialog.vue +2 -2
  135. package/dialog/AddonConfigConfirmationDialog.vue +27 -15
  136. package/dialog/DiagnosticTimingsDialog.vue +1 -1
  137. package/dialog/ForceMachineRemoveDialog.vue +1 -1
  138. package/dialog/GenericPrompt.vue +18 -6
  139. package/dialog/RotateEncryptionKeyDialog.vue +1 -1
  140. package/dialog/SaveAsRKETemplateDialog.vue +1 -1
  141. package/dialog/ScaleMachineDownDialog.vue +1 -1
  142. package/edit/auth/github.vue +8 -8
  143. package/edit/auth/googleoauth.vue +5 -5
  144. package/edit/auth/ldap/index.vue +1 -1
  145. package/edit/auth/oidc.vue +1 -1
  146. package/edit/auth/saml.vue +1 -1
  147. package/edit/cis.cattle.io.clusterscan.vue +1 -1
  148. package/edit/fleet.cattle.io.clustergroup.vue +6 -4
  149. package/edit/fleet.cattle.io.gitrepo.vue +32 -4
  150. package/edit/helm.cattle.io.projecthelmchart.vue +5 -1
  151. package/edit/logging.banzaicloud.io.output/index.vue +18 -5
  152. package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -0
  153. package/edit/management.cattle.io.fleetworkspace.vue +141 -6
  154. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +4 -1
  155. package/edit/management.cattle.io.setting.vue +1 -1
  156. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +2 -2
  157. package/edit/monitoring.coreos.com.receiver/tls.vue +18 -18
  158. package/edit/monitoring.coreos.com.receiver/types/webhook.banner.vue +4 -4
  159. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +1 -1
  160. package/edit/namespace.vue +14 -10
  161. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +126 -45
  162. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  163. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +21 -4
  164. package/edit/provisioning.cattle.io.cluster/RegistryConfigs.vue +1 -0
  165. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +202 -2
  166. package/edit/provisioning.cattle.io.cluster/import.vue +23 -25
  167. package/edit/provisioning.cattle.io.cluster/rke2.vue +344 -102
  168. package/edit/resources.cattle.io.backup.vue +1 -1
  169. package/edit/service.vue +1 -1
  170. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
  171. package/edit/workload/__tests__/Job.test.ts +3 -1
  172. package/edit/workload/index.vue +8 -3
  173. package/edit/workload/mixins/workload.js +22 -7
  174. package/edit/workload/storage/Mount.vue +3 -3
  175. package/initialize/App.js +206 -0
  176. package/initialize/client.js +863 -0
  177. package/initialize/index.js +364 -0
  178. package/layouts/default.vue +7 -3
  179. package/layouts/standalone.vue +13 -0
  180. package/list/catalog.cattle.io.clusterrepo.vue +1 -0
  181. package/list/fleet.cattle.io.bundle.vue +6 -3
  182. package/list/fleet.cattle.io.clusterregistrationtoken.vue +3 -1
  183. package/list/fleet.cattle.io.gitrepo.vue +44 -5
  184. package/list/management.cattle.io.fleetworkspace.vue +45 -0
  185. package/list/node.vue +69 -16
  186. package/list/provisioning.cattle.io.cluster.vue +30 -1
  187. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +48 -0
  188. package/list/workload.vue +6 -4
  189. package/machine-config/azure.vue +97 -38
  190. package/middleware/authenticated.js +34 -0
  191. package/mixins/chart.js +101 -2
  192. package/mixins/fetch.client.js +95 -0
  193. package/mixins/fetch.server.js +73 -0
  194. package/mixins/labeled-form-element.ts +2 -2
  195. package/mixins/resource-fetch.js +2 -2
  196. package/models/apps.statefulset.js +28 -0
  197. package/models/cluster/node.js +23 -2
  198. package/models/cluster.x-k8s.io.machine.js +4 -2
  199. package/models/clusterroletemplatebinding.js +7 -0
  200. package/models/constraints.gatekeeper.sh.constraint.js +46 -0
  201. package/models/fleet.cattle.io.cluster.js +19 -10
  202. package/models/fleet.cattle.io.gitrepo.js +7 -2
  203. package/models/management.cattle.io.cluster.js +1 -1
  204. package/models/management.cattle.io.fleetworkspace.js +12 -0
  205. package/models/management.cattle.io.gitreporestriction.js +5 -0
  206. package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.js +3 -0
  207. package/models/pod.js +4 -0
  208. package/models/provisioning.cattle.io.cluster.js +7 -5
  209. package/models/rbac.authorization.k8s.io.clusterrolebinding.js +16 -0
  210. package/models/rbac.authorization.k8s.io.rolebinding.js +16 -0
  211. package/package.json +13 -21
  212. package/pages/auth/setup.vue +2 -2
  213. package/pages/c/_cluster/apps/charts/__tests__/install.helper.test.ts +33 -0
  214. package/pages/c/_cluster/apps/charts/chart.vue +4 -4
  215. package/pages/c/_cluster/apps/charts/install.helpers.js +26 -0
  216. package/pages/c/_cluster/apps/charts/install.vue +98 -102
  217. package/pages/c/_cluster/explorer/EventsTable.vue +5 -19
  218. package/pages/c/_cluster/explorer/index.vue +29 -25
  219. package/pages/c/_cluster/explorer/tools/index.vue +8 -8
  220. package/pages/c/_cluster/fleet/index.vue +95 -34
  221. package/pages/c/_cluster/gatekeeper/index.vue +1 -1
  222. package/pages/c/_cluster/istio/index.vue +5 -5
  223. package/pages/c/_cluster/manager/cloudCredential/index.vue +1 -1
  224. package/pages/c/_cluster/monitoring/index.vue +7 -0
  225. package/pages/c/_cluster/uiplugins/InstallDialog.vue +8 -8
  226. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +20 -7
  227. package/pages/c/_cluster/uiplugins/index.vue +49 -17
  228. package/pages/diagnostic.vue +32 -25
  229. package/pages/home.vue +9 -4
  230. package/pages/index.vue +10 -1
  231. package/pages/rio/mesh.vue +1 -2
  232. package/pkg/tsconfig.json +0 -1
  233. package/plugins/clean-html-directive.js +34 -0
  234. package/plugins/dashboard-store/actions.js +32 -9
  235. package/plugins/dashboard-store/index.js +1 -1
  236. package/plugins/dashboard-store/mutations.js +5 -2
  237. package/plugins/dashboard-store/resource-class.js +8 -1
  238. package/plugins/plugin.js +0 -14
  239. package/plugins/portal-vue.js +4 -0
  240. package/plugins/steve/mutations.js +3 -2
  241. package/plugins/steve/steve-description-class.js +5 -1
  242. package/plugins/steve/subscribe.js +63 -54
  243. package/plugins/steve-create-worker.js +14 -0
  244. package/promptRemove/management.cattle.io.globalrole.vue +2 -2
  245. package/promptRemove/management.cattle.io.project.vue +2 -2
  246. package/promptRemove/management.cattle.io.roletemplate.vue +2 -2
  247. package/promptRemove/pod.vue +1 -1
  248. package/public/index.html +65 -0
  249. package/rancher-components/components/Banner/Banner.test.ts +7 -1
  250. package/rancher-components/components/Banner/Banner.vue +2 -1
  251. package/rancher-components/components/Form/Checkbox/Checkbox.vue +2 -0
  252. package/rancher-components/components/Form/Radio/RadioButton.test.ts +31 -0
  253. package/rancher-components/components/Form/Radio/RadioButton.vue +14 -3
  254. package/scripts/build-pkg.sh +1 -0
  255. package/scripts/clean +6 -0
  256. package/scripts/extension/bundle +58 -0
  257. package/scripts/extension/helmpatch +89 -0
  258. package/scripts/extension/publish +333 -0
  259. package/scripts/serve-pkgs +6 -2
  260. package/scripts/test-plugins-build.sh +4 -0
  261. package/store/__tests__/index.test.ts +110 -0
  262. package/store/index.js +145 -58
  263. package/store/type-map.js +6 -2
  264. package/tsconfig.default.json +36 -0
  265. package/tsconfig.json +23 -0
  266. package/types/rancher/index.d.ts +2 -0
  267. package/types/shell/index.d.ts +466 -320
  268. package/utils/__tests__/grafana.test.ts +44 -0
  269. package/utils/__tests__/string.test.ts +12 -0
  270. package/utils/auth.js +65 -0
  271. package/utils/axios.js +190 -0
  272. package/utils/cookie-universal-nuxt.js +10 -0
  273. package/utils/dom.js +15 -0
  274. package/utils/grafana.js +35 -16
  275. package/utils/monitoring.js +2 -1
  276. package/utils/nuxt.js +659 -0
  277. package/utils/position.js +5 -8
  278. package/utils/router.scrollBehavior.js +80 -0
  279. package/utils/select.js +1 -3
  280. package/utils/socket.js +1 -0
  281. package/utils/string.js +13 -0
  282. package/utils/time.js +9 -0
  283. package/vue.config.js +690 -0
  284. package/chart/rancher-alerting-drivers.vue +0 -53
  285. package/chart/rancher-gatekeeper.vue +0 -37
  286. package/creators/app/files/nuxt.config.js +0 -6
  287. package/models/management.cattle.io.podsecurityadmissionconfigurationtemplate.ts +0 -4
  288. package/nuxt.config.js +0 -798
  289. package/plugins/dashboard-store/extensions.js +0 -22
@@ -0,0 +1,101 @@
1
+ import Vue from 'vue'
2
+ import { compile } from '../../utils/nuxt'
3
+
4
+ import NuxtError from '../../layouts/error.vue'
5
+
6
+ import NuxtChild from './nuxt-child'
7
+
8
+ export default {
9
+ name: 'Nuxt',
10
+ components: {
11
+ NuxtChild,
12
+ NuxtError
13
+ },
14
+ props: {
15
+ nuxtChildKey: {
16
+ type: String,
17
+ default: undefined
18
+ },
19
+ keepAlive: Boolean,
20
+ keepAliveProps: {
21
+ type: Object,
22
+ default: undefined
23
+ },
24
+ name: {
25
+ type: String,
26
+ default: 'default'
27
+ }
28
+ },
29
+ errorCaptured (error) {
30
+ // if we receive and error while showing the NuxtError component
31
+ // capture the error and force an immediate update so we re-render
32
+ // without the NuxtError component
33
+ if (this.displayingNuxtError) {
34
+ this.errorFromNuxtError = error
35
+ this.$forceUpdate()
36
+ }
37
+ },
38
+ computed: {
39
+ routerViewKey () {
40
+ // If nuxtChildKey prop is given or current route has children
41
+ if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {
42
+ return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)
43
+ }
44
+
45
+ const [matchedRoute] = this.$route.matched
46
+
47
+ if (!matchedRoute) {
48
+ return this.$route.path
49
+ }
50
+
51
+ const Component = matchedRoute.components.default
52
+
53
+ if (Component && Component.options) {
54
+ const { options } = Component
55
+
56
+ if (options.key) {
57
+ return (typeof options.key === 'function' ? options.key(this.$route) : options.key)
58
+ }
59
+ }
60
+
61
+ const strict = /\/$/.test(matchedRoute.path)
62
+ return strict ? this.$route.path : this.$route.path.replace(/\/$/, '')
63
+ }
64
+ },
65
+ beforeCreate () {
66
+ Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)
67
+ },
68
+ render (h) {
69
+ // if there is no error
70
+ if (!this.nuxt.err) {
71
+ // Directly return nuxt child
72
+ return h('NuxtChild', {
73
+ key: this.routerViewKey,
74
+ props: this.$props
75
+ })
76
+ }
77
+
78
+ // if an error occurred within NuxtError show a simple
79
+ // error message instead to prevent looping
80
+ if (this.errorFromNuxtError) {
81
+ this.$nextTick(() => (this.errorFromNuxtError = false))
82
+
83
+ return h('div', {}, [
84
+ h('h2', 'An error occurred while showing the error page'),
85
+ h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'),
86
+ h('p', `Error details: ${this.errorFromNuxtError.toString()}`),
87
+ h('nuxt-link', { props: { to: '/' } }, 'Go back to home')
88
+ ])
89
+ }
90
+
91
+ // track if we are showing the NuxtError component
92
+ this.displayingNuxtError = true
93
+ this.$nextTick(() => (this.displayingNuxtError = false))
94
+
95
+ return h(NuxtError, {
96
+ props: {
97
+ error: this.nuxt.err
98
+ }
99
+ })
100
+ }
101
+ }
@@ -13,6 +13,7 @@ export const UI_MANAGED = 'management.cattle.io/ui-managed';
13
13
  export const CREATOR_ID = 'field.cattle.io/creatorId';
14
14
  export const RESOURCE_QUOTA = 'field.cattle.io/resourceQuota';
15
15
  export const AZURE_MIGRATED = 'auth.cattle.io/azuread-endpoint-migrated';
16
+ export const WORKSPACE_ANNOTATION = 'objectset.rio.cattle.io/id';
16
17
 
17
18
  export const KUBERNETES = {
18
19
  SERVICE_ACCOUNT_UID: 'kubernetes.io/service-account.uid',
@@ -146,3 +147,19 @@ export const CLUSTER_BADGE = {
146
147
  // Custom icon text - max 2 characters
147
148
  ICON_TEXT: 'ui.rancher/badge-icon-text',
148
149
  };
150
+
151
+ export const SYSTEM_LABELS = [
152
+ 'io.cattle.lifecycle.',
153
+ 'beta.kubernetes.io',
154
+ 'failure-domain.beta.kubernetes.io',
155
+ 'node-role.kubernetes.io',
156
+ 'kubernetes.io',
157
+ 'cattle.io',
158
+ 'authz.management.cattle.io',
159
+ 'rke.cattle.io',
160
+ 'field.cattle.io',
161
+ 'workload.user.cattle.io',
162
+ 'k3s.io',
163
+ 'node.kubernetes.io',
164
+ 'egress.rke2.io'
165
+ ];
@@ -0,0 +1,12 @@
1
+ const middleware = {};
2
+
3
+ middleware['authenticated'] = require('../middleware/authenticated.js');
4
+ middleware['authenticated'] = middleware['authenticated'].default || middleware['authenticated'];
5
+
6
+ middleware['i18n'] = require('../middleware/i18n.js');
7
+ middleware['i18n'] = middleware['i18n'].default || middleware['i18n'];
8
+
9
+ middleware['unauthenticated'] = require('../middleware/unauthenticated.js');
10
+ middleware['unauthenticated'] = middleware['unauthenticated'].default || middleware['unauthenticated'];
11
+
12
+ export default middleware;
@@ -27,7 +27,7 @@ export function init(store) {
27
27
 
28
28
  product({
29
29
  ifHaveType: new RegExp(`${ MANAGEMENT.USER }|${ MANAGEMENT.AUTH_CONFIG }`, 'i'),
30
- ifHaveVerb: 'PUT',
30
+ ifHaveVerb: 'GET',
31
31
  ifFeature: MULTI_CLUSTER,
32
32
  inStore: 'management',
33
33
  icon: 'user',
@@ -43,7 +43,8 @@ export function init(store) {
43
43
  name: 'config',
44
44
  weight: -1,
45
45
  route: { name: 'c-cluster-auth-config' },
46
- ifHaveType: MANAGEMENT.AUTH_CONFIG
46
+ ifHaveType: MANAGEMENT.AUTH_CONFIG,
47
+ ifHaveVerb: 'PUT'
47
48
  });
48
49
 
49
50
  virtualType({
@@ -18,7 +18,7 @@ import {
18
18
  STORAGE_CLASS_PROVISIONER, PERSISTENT_VOLUME_SOURCE,
19
19
  HPA_REFERENCE, MIN_REPLICA, MAX_REPLICA, CURRENT_REPLICA,
20
20
  ACCESS_KEY, DESCRIPTION, EXPIRES, EXPIRY_STATE, SUB_TYPE, AGE_NORMAN, SCOPE_NORMAN, PERSISTENT_VOLUME_CLAIM, RECLAIM_POLICY, PV_REASON, WORKLOAD_HEALTH_SCALE, POD_RESTARTS,
21
- DURATION, LAST_SEEN_TIME,
21
+ DURATION, MESSAGE, REASON, LAST_SEEN_TIME, EVENT_TYPE, OBJECT, RBAC_GROUPS, RBAC_USERS, RBAC_SERVICE_ACCOUNTS, ROLE,
22
22
  } from '@shell/config/table-headers';
23
23
 
24
24
  import { DSL } from '@shell/store/type-map';
@@ -157,9 +157,9 @@ export function init(store) {
157
157
  listGroups: [
158
158
  {
159
159
  icon: 'icon-cluster',
160
- value: 'node',
160
+ value: 'role',
161
161
  field: 'groupByNode',
162
- hideColumn: NODE_COL.name,
162
+ hideColumn: 'groupByNode',
163
163
  tooltipKey: 'resourceTable.groupBy.node'
164
164
  }
165
165
  ]
@@ -175,6 +175,11 @@ export function init(store) {
175
175
  },
176
176
  });
177
177
 
178
+ /** This CRD is installed on provisioned clusters because rancher webhook, used for both local and provisioned clusters, expects it to be there
179
+ * Creating instances of this resource on downstream clusters wont do anything - Only show them for the local cluster
180
+ */
181
+ configureType(MANAGEMENT.PSA, { localOnly: true });
182
+
178
183
  headers(PV, [STATE, NAME_COL, RECLAIM_POLICY, PERSISTENT_VOLUME_CLAIM, PERSISTENT_VOLUME_SOURCE, PV_REASON, AGE]);
179
184
  headers(CONFIG_MAP, [NAME_COL, NAMESPACE_COL, KEYS, AGE]);
180
185
  headers(SECRET, [
@@ -192,7 +197,7 @@ export function init(store) {
192
197
  ]);
193
198
  headers(INGRESS, [STATE, NAME_COL, NAMESPACE_COL, INGRESS_TARGET, INGRESS_DEFAULT_BACKEND, INGRESS_CLASS, AGE]);
194
199
  headers(SERVICE, [STATE, NAME_COL, NAMESPACE_COL, TARGET_PORT, SELECTOR, SPEC_TYPE, AGE]);
195
- headers(EVENT, [STATE, { ...LAST_SEEN_TIME, defaultSort: true }, 'EventType', 'Reason', 'Object', 'Subobject', 'Source', 'Message', 'First Seen', 'Count', 'Name', 'Namespace']);
200
+ headers(EVENT, [STATE, { ...LAST_SEEN_TIME, defaultSort: true }, EVENT_TYPE, REASON, OBJECT, 'Subobject', 'Source', MESSAGE, 'First Seen', 'Count', NAME_COL, NAMESPACE_COL]);
196
201
  headers(HPA, [STATE, NAME_COL, HPA_REFERENCE, MIN_REPLICA, MAX_REPLICA, CURRENT_REPLICA, AGE]);
197
202
  headers(WORKLOAD, [STATE, NAME_COL, NAMESPACE_COL, TYPE, WORKLOAD_IMAGES, WORKLOAD_ENDPOINTS, POD_RESTARTS, AGE, WORKLOAD_HEALTH_SCALE]);
198
203
  headers(WORKLOAD_TYPES.DEPLOYMENT, [STATE, NAME_COL, NAMESPACE_COL, WORKLOAD_IMAGES, WORKLOAD_ENDPOINTS, 'Ready', 'Up-to-date', 'Available', POD_RESTARTS, AGE, WORKLOAD_HEALTH_SCALE]);
@@ -203,6 +208,10 @@ export function init(store) {
203
208
  headers(WORKLOAD_TYPES.CRON_JOB, [STATE, NAME_COL, NAMESPACE_COL, WORKLOAD_IMAGES, WORKLOAD_ENDPOINTS, 'Schedule', 'Last Schedule', POD_RESTARTS, AGE, WORKLOAD_HEALTH_SCALE]);
204
209
  headers(WORKLOAD_TYPES.REPLICATION_CONTROLLER, [STATE, NAME_COL, NAMESPACE_COL, WORKLOAD_IMAGES, WORKLOAD_ENDPOINTS, 'Ready', 'Current', 'Desired', POD_RESTARTS, AGE, WORKLOAD_HEALTH_SCALE]);
205
210
  headers(POD, [STATE, NAME_COL, NAMESPACE_COL, POD_IMAGES, 'Ready', 'Restarts', 'IP', NODE_COL, AGE]);
211
+ headers(MANAGEMENT.PSA, [STATE, NAME_COL, {
212
+ ...DESCRIPTION,
213
+ width: undefined
214
+ }, AGE]);
206
215
  headers(STORAGE_CLASS, [STATE, NAME_COL, STORAGE_CLASS_PROVISIONER, STORAGE_CLASS_DEFAULT, AGE]);
207
216
 
208
217
  headers(RBAC.ROLE, [
@@ -215,9 +224,30 @@ export function init(store) {
215
224
  headers(RBAC.CLUSTER_ROLE, [
216
225
  STATE,
217
226
  NAME_COL,
227
+ AGE,
228
+ ]);
229
+
230
+ headers(RBAC.CLUSTER_ROLE_BINDING, [
231
+ STATE,
232
+ NAME_COL,
233
+ RBAC_GROUPS,
234
+ RBAC_USERS,
235
+ RBAC_SERVICE_ACCOUNTS, // groupname //roles // users// service accounts
218
236
  AGE
219
237
  ]);
220
238
 
239
+ configureType(MANAGEMENT.CLUSTER_ROLE_TEMPLATE_BINDING, {
240
+ listGroups: [
241
+ {
242
+ icon: 'icon-role-binding',
243
+ value: 'node',
244
+ field: 'roleDisplay',
245
+ hideColumn: ROLE.name,
246
+ tooltipKey: 'resourceTable.groupBy.role'
247
+ }
248
+ ]
249
+ });
250
+
221
251
  headers(MANAGEMENT.USER, [
222
252
  STATE,
223
253
  USER_ID,
@@ -311,8 +341,6 @@ export function init(store) {
311
341
 
312
342
  // Ignore these types as they are managed through the auth product
313
343
  ignoreType(MANAGEMENT.USER);
314
-
315
- // Ignore these types as they are managed through the auth product
316
344
  ignoreType(MANAGEMENT.GLOBAL_ROLE);
317
345
  ignoreType(MANAGEMENT.ROLE_TEMPLATE);
318
346
  }
@@ -62,6 +62,8 @@ export function init(store) {
62
62
  FLEET.WORKSPACE,
63
63
  FLEET.BUNDLE,
64
64
  FLEET.TOKEN,
65
+ FLEET.BUNDLE_NAMESPACE_MAPPING,
66
+ FLEET.GIT_REPO_RESTRICTION
65
67
  ], 'advanced');
66
68
 
67
69
  headers(FLEET.WORKSPACE, [
@@ -73,3 +73,4 @@ export const CLOUD_CREDENTIAL = 'cloud';
73
73
 
74
74
  // NAMESPACE/PROJECT
75
75
  export const PROJECT_ID = 'projectId';
76
+ export const FLAT_VIEW = 'flatView';