@rancher/shell 0.2.4 → 0.3.0

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 (493) hide show
  1. package/assets/styles/themes/_dark.scss +4 -0
  2. package/assets/styles/themes/_light.scss +5 -0
  3. package/assets/translations/en-us.yaml +14 -2
  4. package/assets/translations/zh-hans.yaml +7 -5
  5. package/chart/istio.vue +1 -1
  6. package/chart/monitoring/grafana/index.vue +1 -1
  7. package/chart/monitoring/index.vue +1 -1
  8. package/chart/monitoring/prometheus/index.vue +4 -4
  9. package/components/AlertTable.vue +1 -1
  10. package/components/AssignTo.vue +1 -1
  11. package/components/AsyncButton.vue +2 -2
  12. package/components/BrandImage.vue +1 -1
  13. package/components/ButtonGroup.vue +1 -1
  14. package/components/ClusterProviderIcon.vue +2 -2
  15. package/components/Collapse.vue +6 -2
  16. package/components/CollapsibleCard.vue +2 -2
  17. package/components/ConsumptionGauge.vue +4 -4
  18. package/components/ContainerResourceLimit.vue +1 -1
  19. package/components/CountBox.vue +1 -1
  20. package/components/CountGauge.vue +1 -1
  21. package/components/CruResource.vue +2 -1
  22. package/components/DashboardMetrics.vue +2 -2
  23. package/components/ExplorerProjectsNamespaces.vue +6 -6
  24. package/components/FixedBanner.vue +6 -6
  25. package/components/GlobalRoleBindings.vue +6 -6
  26. package/components/GradientBox.vue +2 -2
  27. package/components/IconMessage.vue +4 -4
  28. package/components/Import.vue +5 -5
  29. package/components/InputOrDisplay.vue +1 -1
  30. package/components/KeyValueView.vue +1 -1
  31. package/components/LabelValue.vue +1 -1
  32. package/components/ModalWithCard.vue +1 -1
  33. package/components/MoveModal.vue +1 -1
  34. package/components/PercentageBar.vue +2 -2
  35. package/components/PromptChangePassword.vue +1 -1
  36. package/components/PromptModal.vue +1 -1
  37. package/components/PromptRemove.vue +2 -2
  38. package/components/PromptRestore.vue +13 -13
  39. package/components/Questions/Question.js +1 -1
  40. package/components/ResourceCancelModal.vue +3 -3
  41. package/components/ResourceDetail/Masthead.vue +1 -1
  42. package/components/ResourceList/Masthead.vue +1 -1
  43. package/components/ResourceSummary.vue +4 -4
  44. package/components/RoleBindings.vue +19 -19
  45. package/components/SimpleBox.vue +5 -1
  46. package/components/SingleClusterInfo.vue +5 -5
  47. package/components/SortableTable/THead.vue +6 -2
  48. package/components/SortableTable/actions.js +4 -2
  49. package/components/SortableTable/index.vue +9 -9
  50. package/components/SortableTable/selection.js +2 -2
  51. package/components/TableSparkLine.vue +1 -1
  52. package/components/TypeDescription.vue +1 -1
  53. package/components/Wizard.vue +1 -1
  54. package/components/YamlEditor.vue +6 -6
  55. package/components/__tests__/ApplicationCard.test.ts +27 -0
  56. package/components/__tests__/Collapse.spec.ts +44 -0
  57. package/components/__tests__/CruResource.test.ts +3 -3
  58. package/components/__tests__/NamespaceFilter.test.ts +213 -0
  59. package/components/__tests__/SimpleBox.spec.ts +28 -0
  60. package/components/auth/RoleDetailEdit.vue +17 -15
  61. package/components/auth/SelectPrincipal.vue +9 -0
  62. package/components/auth/login/ldap.vue +3 -0
  63. package/components/cards/ApplicationCard.vue +10 -5
  64. package/components/fleet/FleetBundleResources.vue +8 -8
  65. package/components/fleet/FleetClusters.vue +10 -10
  66. package/components/fleet/FleetRepos.vue +5 -5
  67. package/components/fleet/FleetResources.vue +6 -6
  68. package/components/fleet/FleetSummary.vue +5 -5
  69. package/components/fleet/ResourcesSummary.vue +1 -1
  70. package/components/form/ArrayListGrouped.vue +1 -1
  71. package/components/form/ArrayListSelect.vue +3 -3
  72. package/components/form/BannerSettings.vue +6 -6
  73. package/components/form/ChangePassword.vue +3 -3
  74. package/components/form/Error.vue +2 -2
  75. package/components/form/FileSelector.vue +3 -3
  76. package/components/form/Footer.vue +1 -1
  77. package/components/form/GithubPicker.vue +4 -4
  78. package/components/form/KeyValue.vue +2 -2
  79. package/components/form/MatchExpressions.vue +1 -1
  80. package/components/form/Members/ClusterPermissionsEditor.vue +11 -11
  81. package/components/form/Members/MembershipEditor.vue +2 -2
  82. package/components/form/NodeAffinity.vue +1 -1
  83. package/components/form/Password.vue +3 -3
  84. package/components/form/PodAffinity.vue +1 -1
  85. package/components/form/ProjectMemberEditor.vue +1 -1
  86. package/components/form/ResourceQuota/shared.js +12 -12
  87. package/components/form/SecretSelector.vue +1 -1
  88. package/components/form/Security.vue +1 -1
  89. package/components/form/Select.vue +4 -0
  90. package/components/form/SimpleSecretSelector.vue +1 -1
  91. package/components/form/Taints.vue +1 -1
  92. package/components/form/UnitInput.vue +7 -7
  93. package/components/form/ValueFromResource.vue +1 -1
  94. package/components/form/WorkloadPorts.vue +1 -1
  95. package/components/formatter/AppSummaryGraph.vue +4 -4
  96. package/components/formatter/BadgeStateFormatter.vue +2 -2
  97. package/components/formatter/Checked.vue +1 -1
  98. package/components/formatter/ClusterLink.vue +3 -3
  99. package/components/formatter/Date.vue +1 -1
  100. package/components/formatter/DelayedValue.vue +1 -1
  101. package/components/formatter/Endpoints.vue +1 -1
  102. package/components/formatter/FleetSummaryGraph.vue +4 -4
  103. package/components/formatter/IconIsDefault.vue +1 -1
  104. package/components/formatter/IconText.vue +4 -4
  105. package/components/formatter/ImagePercentageBar.vue +4 -4
  106. package/components/formatter/IngressFullPath.vue +1 -1
  107. package/components/formatter/LinkDetail.vue +3 -3
  108. package/components/formatter/List.vue +1 -1
  109. package/components/formatter/ListLink.vue +1 -1
  110. package/components/formatter/ListLinkDetail.vue +1 -1
  111. package/components/formatter/LiveDate.vue +3 -3
  112. package/components/formatter/LivePodRestarts.vue +1 -1
  113. package/components/formatter/Number.vue +1 -1
  114. package/components/formatter/Percentage.vue +2 -2
  115. package/components/formatter/PercentageBar.vue +3 -3
  116. package/components/formatter/PodImages.vue +1 -1
  117. package/components/formatter/Principal.vue +1 -1
  118. package/components/formatter/PrincipalGroupBindings.vue +2 -2
  119. package/components/formatter/QualityText.vue +1 -1
  120. package/components/formatter/ReceiverIcons.vue +2 -2
  121. package/components/formatter/Scale.vue +1 -1
  122. package/components/formatter/ScanResult.vue +1 -1
  123. package/components/formatter/SecretData.vue +1 -1
  124. package/components/formatter/ServiceType.vue +1 -1
  125. package/components/formatter/Shortened.vue +1 -1
  126. package/components/formatter/VerticalScroll.vue +2 -2
  127. package/components/formatter/VirtualServiceGateways.vue +3 -3
  128. package/components/formatter/Weight.vue +2 -2
  129. package/components/formatter/WorkloadDetailEndpoints.vue +1 -1
  130. package/components/formatter/WorkloadHealthScale.vue +2 -2
  131. package/components/formatter/__tests__/Date.test.ts +60 -0
  132. package/components/formatter/__tests__/LinkDetail.test.ts +72 -0
  133. package/components/formatter/__tests__/LiveDate.test.ts +84 -0
  134. package/components/formatter/__tests__/Si.test.ts +35 -0
  135. package/components/graph/LinePlot.vue +1 -1
  136. package/components/graph/ProgressArc.vue +5 -5
  137. package/components/nav/GlobalLoading.vue +1 -1
  138. package/components/nav/Header.vue +1 -2
  139. package/components/nav/Jump.vue +3 -3
  140. package/components/nav/NamespaceFilter.vue +71 -22
  141. package/components/nav/TopLevelMenu.vue +4 -4
  142. package/components/nav/Type.vue +1 -1
  143. package/components/nav/WindowManager/ChartReadme.vue +1 -1
  144. package/components/nav/WindowManager/ContainerLogs.vue +3 -3
  145. package/components/nav/WindowManager/ContainerShell.vue +19 -0
  146. package/components/nav/WindowManager/KubectlShell.vue +6 -6
  147. package/components/nav/WindowManager/MachineSsh.vue +1 -1
  148. package/components/nav/WindowManager/index.vue +196 -25
  149. package/config/labels-annotations.js +19 -19
  150. package/config/product/apps.js +5 -5
  151. package/config/product/auth.js +20 -20
  152. package/config/product/cis.js +24 -24
  153. package/config/product/explorer.js +22 -21
  154. package/config/product/fleet.js +7 -7
  155. package/config/product/gatekeeper.js +7 -7
  156. package/config/product/harvester-manager.js +8 -8
  157. package/config/product/istio.js +7 -7
  158. package/config/product/legacy.js +21 -21
  159. package/config/product/logging.js +90 -90
  160. package/config/product/manager.js +14 -14
  161. package/config/product/monitoring.js +36 -36
  162. package/config/product/multi-cluster-apps.js +24 -24
  163. package/config/product/settings.js +42 -42
  164. package/config/settings.ts +16 -16
  165. package/config/table-headers.js +55 -48
  166. package/config/types.js +7 -7
  167. package/config/uiplugins.js +4 -4
  168. package/creators/app/app.package.json +4 -1
  169. package/creators/app/{.eslintignore → files/.eslintignore} +0 -0
  170. package/creators/app/{.eslintrc.js → files/.eslintrc.js} +0 -0
  171. package/creators/app/{.vscode → files/.vscode}/settings.json +0 -0
  172. package/creators/app/{babel.config.js → files/babel.config.js} +0 -0
  173. package/creators/app/{nuxt.config.js → files/nuxt.config.js} +0 -0
  174. package/creators/app/{tsconfig.json → files/tsconfig.json} +2 -1
  175. package/creators/app/init +16 -17
  176. package/creators/app/package.json +7 -1
  177. package/creators/pkg/{babel.config.js → files/babel.config.js} +0 -0
  178. package/creators/pkg/{index.ts → files/index.ts} +0 -0
  179. package/creators/pkg/{tsconfig.json → files/tsconfig.json} +13 -12
  180. package/creators/pkg/{vue.config.js → files/vue.config.js} +0 -0
  181. package/creators/pkg/init +1 -1
  182. package/creators/pkg/package.json +1 -1
  183. package/creators/update/init +56 -0
  184. package/creators/update/package.json +20 -0
  185. package/creators/update/upgrade +56 -0
  186. package/detail/cis.cattle.io.clusterscan.vue +6 -6
  187. package/detail/configmap.vue +1 -1
  188. package/detail/constraints.gatekeeper.sh.constraint.vue +1 -1
  189. package/detail/fleet.cattle.io.bundle.vue +5 -5
  190. package/detail/fleet.cattle.io.gitrepo.vue +5 -5
  191. package/detail/helm.cattle.io.projecthelmchart.vue +1 -1
  192. package/detail/management.cattle.io.user.vue +3 -3
  193. package/detail/namespace.vue +13 -13
  194. package/detail/node.vue +2 -2
  195. package/detail/pod.vue +1 -1
  196. package/detail/provisioning.cattle.io.cluster.vue +12 -1
  197. package/detail/secret.vue +2 -2
  198. package/detail/workload/index.vue +1 -1
  199. package/dialog/AddClusterMemberDialog.vue +1 -1
  200. package/dialog/AddCustomBadgeDialog.vue +4 -4
  201. package/dialog/AddProjectMemberDialog.vue +29 -22
  202. package/dialog/AddonConfigConfirmationDialog.vue +1 -1
  203. package/dialog/DiagnosticTimingsDialog.vue +1 -1
  204. package/dialog/DrainNode.vue +12 -12
  205. package/dialog/ForceMachineRemoveDialog.vue +1 -1
  206. package/dialog/GenericPrompt.vue +1 -1
  207. package/dialog/RollbackWorkloadDialog.vue +8 -8
  208. package/dialog/RotateCertificatesDialog.vue +4 -4
  209. package/dialog/RotateEncryptionKeyDialog.vue +1 -1
  210. package/dialog/SaveAsRKETemplateDialog.vue +1 -1
  211. package/dialog/ScaleMachineDownDialog.vue +1 -1
  212. package/edit/__tests__/management.cattle.io.setting.test.ts +1 -1
  213. package/edit/auth/azuread.vue +2 -2
  214. package/edit/auth/github.vue +2 -2
  215. package/edit/auth/ldap/index.vue +4 -4
  216. package/edit/auth/oidc.vue +3 -3
  217. package/edit/auth/saml.vue +4 -4
  218. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
  219. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +1 -1
  220. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  221. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
  222. package/edit/cis.cattle.io.clusterscan.vue +2 -2
  223. package/edit/constraints.gatekeeper.sh.constraint/index.vue +1 -1
  224. package/edit/fleet.cattle.io.clustergroup.vue +3 -3
  225. package/edit/fleet.cattle.io.gitrepo.vue +9 -9
  226. package/edit/group.principal.vue +2 -2
  227. package/edit/helm.cattle.io.projecthelmchart.vue +3 -3
  228. package/edit/logging-flow/index.vue +1 -1
  229. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +1 -1
  230. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +1 -1
  231. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +1 -1
  232. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +1 -1
  233. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +1 -1
  234. package/edit/logging.banzaicloud.io.output/providers/logz.vue +1 -1
  235. package/edit/logging.banzaicloud.io.output/providers/loki.vue +1 -1
  236. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +213 -0
  237. package/edit/logging.banzaicloud.io.output/providers/redis.vue +142 -0
  238. package/edit/logging.banzaicloud.io.output/providers/s3.vue +1 -1
  239. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +1 -1
  240. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +1 -1
  241. package/edit/management.cattle.io.fleetworkspace.vue +1 -1
  242. package/edit/management.cattle.io.project.vue +3 -3
  243. package/edit/management.cattle.io.projectroletemplatebinding.vue +5 -5
  244. package/edit/management.cattle.io.setting.vue +1 -1
  245. package/edit/management.cattle.io.user.vue +4 -4
  246. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +15 -15
  247. package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +1 -1
  248. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +4 -4
  249. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +5 -5
  250. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +3 -3
  251. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +3 -3
  252. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +4 -4
  253. package/edit/monitoring.coreos.com.receiver/auth.vue +2 -2
  254. package/edit/monitoring.coreos.com.receiver/index.vue +1 -1
  255. package/edit/monitoring.coreos.com.receiver/types/email.vue +1 -1
  256. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +1 -1
  257. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +1 -1
  258. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +1 -1
  259. package/edit/monitoring.coreos.com.route.vue +1 -1
  260. package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +1 -1
  261. package/edit/networking.k8s.io.ingress/Certificates.vue +3 -3
  262. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  263. package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
  264. package/edit/networking.k8s.io.ingress/Rule.vue +1 -1
  265. package/edit/networking.k8s.io.ingress/RulePath.vue +5 -5
  266. package/edit/networking.k8s.io.ingress/Rules.vue +7 -7
  267. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +1 -1
  268. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +3 -3
  269. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +1 -1
  270. package/edit/networking.k8s.io.networkpolicy/index.vue +5 -5
  271. package/edit/persistentvolume/index.vue +1 -1
  272. package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +1 -1
  273. package/edit/persistentvolume/plugins/azureDisk.vue +1 -1
  274. package/edit/persistentvolume/plugins/azureFile.vue +1 -1
  275. package/edit/persistentvolume/plugins/cephfs.vue +2 -2
  276. package/edit/persistentvolume/plugins/cinder.vue +1 -1
  277. package/edit/persistentvolume/plugins/csi.vue +2 -2
  278. package/edit/persistentvolume/plugins/fc.vue +2 -2
  279. package/edit/persistentvolume/plugins/flexVolume.vue +2 -2
  280. package/edit/persistentvolume/plugins/flocker.vue +1 -1
  281. package/edit/persistentvolume/plugins/gcePersistentDisk.vue +1 -1
  282. package/edit/persistentvolume/plugins/glusterfs.vue +1 -1
  283. package/edit/persistentvolume/plugins/hostPath.vue +1 -1
  284. package/edit/persistentvolume/plugins/iscsi.vue +2 -2
  285. package/edit/persistentvolume/plugins/local.vue +1 -1
  286. package/edit/persistentvolume/plugins/longhorn.vue +2 -2
  287. package/edit/persistentvolume/plugins/nfs.vue +1 -1
  288. package/edit/persistentvolume/plugins/photonPersistentDisk.vue +1 -1
  289. package/edit/persistentvolume/plugins/portworxVolume.vue +1 -1
  290. package/edit/persistentvolume/plugins/quobyte.vue +1 -1
  291. package/edit/persistentvolume/plugins/rbd.vue +2 -2
  292. package/edit/persistentvolume/plugins/scaleIO.vue +1 -1
  293. package/edit/persistentvolume/plugins/storageos.vue +1 -1
  294. package/edit/persistentvolume/plugins/vsphereVolume.vue +1 -1
  295. package/edit/persistentvolumeclaim.vue +2 -2
  296. package/edit/provisioning.cattle.io.cluster/DrainOptions.vue +1 -1
  297. package/edit/provisioning.cattle.io.cluster/MachinePool.vue +1 -1
  298. package/edit/provisioning.cattle.io.cluster/S3Config.vue +1 -1
  299. package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.tests.ts +1 -1
  300. package/edit/provisioning.cattle.io.cluster/import.vue +2 -2
  301. package/edit/provisioning.cattle.io.cluster/index.vue +2 -2
  302. package/edit/provisioning.cattle.io.cluster/rke2.vue +18 -12
  303. package/edit/resources.cattle.io.backup.vue +2 -2
  304. package/edit/secret/generic.vue +1 -0
  305. package/edit/storage.k8s.io.storageclass/index.vue +2 -2
  306. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/no-provisioner.vue +1 -1
  307. package/edit/token.vue +1 -1
  308. package/edit/ui.cattle.io.navlink.vue +8 -8
  309. package/edit/workload/Job.vue +3 -3
  310. package/edit/workload/Upgrading.vue +1 -1
  311. package/edit/workload/VolumeClaimTemplate.vue +1 -1
  312. package/edit/workload/index.vue +3 -3
  313. package/edit/workload/mixins/workload.js +23 -23
  314. package/edit/workload/storage/ContainerMountPaths.vue +1 -1
  315. package/edit/workload/storage/Mount.vue +1 -1
  316. package/edit/workload/storage/azureDisk.vue +1 -1
  317. package/edit/workload/storage/azureFile.vue +1 -1
  318. package/edit/workload/storage/csi/index.vue +1 -1
  319. package/edit/workload/storage/ephemeralVolume/index.vue +1 -1
  320. package/edit/workload/storage/gcePersistentDisk.vue +1 -1
  321. package/edit/workload/storage/hostPath.vue +1 -1
  322. package/edit/workload/storage/nfs.vue +1 -1
  323. package/edit/workload/storage/persistentVolumeClaim/index.vue +1 -1
  324. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +1 -1
  325. package/edit/workload/storage/secret.vue +1 -1
  326. package/edit/workload/storage/vsphereVolume.vue +1 -1
  327. package/layouts/default.vue +77 -16
  328. package/list/__tests__/workload.test.ts +50 -0
  329. package/list/fleet.cattle.io.gitrepo.vue +1 -1
  330. package/list/group.principal.vue +8 -8
  331. package/list/harvesterhci.io.management.cluster.vue +1 -1
  332. package/list/helm.cattle.io.projecthelmchart.vue +1 -1
  333. package/list/management.cattle.io.feature.vue +1 -1
  334. package/list/node.vue +1 -1
  335. package/list/provisioning.cattle.io.cluster.vue +3 -3
  336. package/machine-config/amazonec2.vue +1 -1
  337. package/machine-config/harvester.vue +4 -4
  338. package/mixins/__tests__/create-edit-view.test.ts +1 -1
  339. package/mixins/chart.js +14 -14
  340. package/mixins/create-edit-view/index.js +5 -5
  341. package/mixins/form-validation.js +1 -1
  342. package/mixins/labeled-form-element.ts +6 -6
  343. package/mixins/resource-fetch.js +3 -3
  344. package/mixins/resource-manager.js +1 -1
  345. package/models/autoscaling.horizontalpodautoscaler.js +5 -5
  346. package/models/batch.cronjob.js +15 -15
  347. package/models/batch.job.js +22 -0
  348. package/models/catalog.cattle.io.app.js +6 -6
  349. package/models/catalog.cattle.io.clusterrepo.js +7 -7
  350. package/models/catalog.cattle.io.operation.js +5 -5
  351. package/models/chart.js +4 -4
  352. package/models/cis.cattle.io.clusterscan.js +10 -10
  353. package/models/cluster/node.js +36 -36
  354. package/models/cluster.x-k8s.io.machine.js +13 -13
  355. package/models/constraints.gatekeeper.sh.constraint.js +1 -1
  356. package/models/etcdbackup.js +4 -4
  357. package/models/fleet.cattle.io.cluster.js +15 -15
  358. package/models/fleet.cattle.io.clustergroup.js +1 -1
  359. package/models/fleet.cattle.io.gitrepo.js +15 -15
  360. package/models/group.principal.js +1 -1
  361. package/models/logging.banzaicloud.io.clusterflow.js +2 -2
  362. package/models/logging.banzaicloud.io.flow.js +2 -2
  363. package/models/logging.banzaicloud.io.output.js +15 -3
  364. package/models/management.cattle.io.authconfig.js +4 -4
  365. package/models/management.cattle.io.cluster.js +9 -9
  366. package/models/management.cattle.io.clusterroletemplatebinding.js +8 -8
  367. package/models/management.cattle.io.globalrole.js +24 -3
  368. package/models/management.cattle.io.node.js +9 -9
  369. package/models/management.cattle.io.nodepool.js +3 -3
  370. package/models/management.cattle.io.nodetemplate.js +21 -21
  371. package/models/management.cattle.io.project.js +2 -2
  372. package/models/management.cattle.io.projectroletemplatebinding.js +6 -6
  373. package/models/management.cattle.io.roletemplate.js +54 -31
  374. package/models/management.cattle.io.user.js +4 -4
  375. package/models/monitoring.coreos.com.alertmanagerconfig.js +4 -4
  376. package/models/monitoring.coreos.com.receiver.js +7 -7
  377. package/models/monitoring.coreos.com.route.js +2 -2
  378. package/models/namespace.js +13 -0
  379. package/models/persistentvolumeclaim.js +4 -4
  380. package/models/pod.js +10 -10
  381. package/models/provisioning.cattle.io.cluster.js +29 -29
  382. package/models/rbac.authorization.k8s.io.role.js +4 -4
  383. package/models/rke.cattle.io.etcdsnapshot.js +4 -4
  384. package/models/service.js +15 -15
  385. package/models/storage.k8s.io.storageclass.js +8 -8
  386. package/models/workload.js +28 -28
  387. package/nuxt.config.js +32 -17
  388. package/package.json +2 -2
  389. package/pages/about.vue +1 -1
  390. package/pages/account/index.vue +1 -1
  391. package/pages/auth/login.vue +37 -7
  392. package/pages/auth/setup.vue +11 -11
  393. package/pages/c/_cluster/_product/_resource/_id.vue +2 -2
  394. package/pages/c/_cluster/apps/charts/chart.vue +4 -4
  395. package/pages/c/_cluster/apps/charts/index.vue +18 -18
  396. package/pages/c/_cluster/apps/charts/install.vue +14 -14
  397. package/pages/c/_cluster/auth/config/_id.vue +2 -2
  398. package/pages/c/_cluster/auth/roles/_resource/_id.vue +2 -2
  399. package/pages/c/_cluster/auth/roles/index.vue +4 -6
  400. package/pages/c/_cluster/explorer/EventsTable.vue +8 -8
  401. package/pages/c/_cluster/explorer/index.vue +14 -14
  402. package/pages/c/_cluster/explorer/tools/index.vue +4 -4
  403. package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +2 -2
  404. package/pages/c/_cluster/fleet/index.vue +10 -10
  405. package/pages/c/_cluster/gatekeeper/index.vue +1 -1
  406. package/pages/c/_cluster/legacy/index.vue +1 -1
  407. package/pages/c/_cluster/longhorn/index.vue +1 -1
  408. package/pages/c/_cluster/mcapps/index.vue +1 -1
  409. package/pages/c/_cluster/navlinks/_group.vue +1 -1
  410. package/pages/c/_cluster/neuvector/index.vue +1 -1
  411. package/pages/c/_cluster/settings/banners.vue +30 -30
  412. package/pages/c/_cluster/settings/brand.vue +9 -9
  413. package/pages/c/_cluster/settings/links.vue +6 -6
  414. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +1 -1
  415. package/pages/c/_cluster/uiplugins/InstallDialog.vue +1 -1
  416. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +25 -8
  417. package/pages/c/_cluster/uiplugins/index.vue +2 -2
  418. package/pages/prefs.vue +11 -11
  419. package/pages/rio/mesh.vue +4 -4
  420. package/pages/support/index.vue +7 -7
  421. package/pkg/vue.config.js +10 -1
  422. package/plugins/dashboard-store/mutations.js +6 -6
  423. package/plugins/dashboard-store/normalize.js +1 -1
  424. package/plugins/dashboard-store/resource-class.js +100 -100
  425. package/plugins/steve/subscribe.js +4 -4
  426. package/plugins/steve/web-worker.steve-sub-worker.js +3 -3
  427. package/promptRemove/management.cattle.io.project.vue +1 -1
  428. package/promptRemove/mixin/roleDeletionCheck.js +7 -7
  429. package/promptRemove/pod.vue +2 -2
  430. package/rancher-components/Card/Card.test.ts +39 -0
  431. package/rancher-components/Card/Card.vue +3 -3
  432. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +0 -1
  433. package/rancher-components/StringList/StringList.test.ts +420 -45
  434. package/rancher-components/StringList/StringList.vue +10 -1
  435. package/rancher-components/Utils/DraggableZone/DraggableZone.vue +181 -0
  436. package/rancher-components/Utils/DraggableZone/index.ts +1 -0
  437. package/rancher-components/components/BadgeState/BadgeState.spec.ts +12 -0
  438. package/rancher-components/components/BadgeState/BadgeState.vue +111 -0
  439. package/rancher-components/components/BadgeState/index.ts +1 -0
  440. package/rancher-components/components/Banner/Banner.test.ts +13 -0
  441. package/rancher-components/components/Banner/Banner.vue +174 -0
  442. package/rancher-components/components/Banner/index.ts +1 -0
  443. package/rancher-components/components/Card/Card.test.ts +37 -0
  444. package/rancher-components/components/Card/Card.vue +166 -0
  445. package/rancher-components/components/Card/index.ts +1 -0
  446. package/rancher-components/components/Form/Checkbox/Checkbox.test.ts +77 -0
  447. package/rancher-components/components/Form/Checkbox/Checkbox.vue +416 -0
  448. package/rancher-components/components/Form/Checkbox/index.ts +1 -0
  449. package/rancher-components/components/Form/LabeledInput/LabeledInput.test.ts +23 -0
  450. package/rancher-components/components/Form/LabeledInput/LabeledInput.vue +355 -0
  451. package/rancher-components/components/Form/LabeledInput/index.ts +1 -0
  452. package/rancher-components/components/Form/Radio/RadioButton.vue +276 -0
  453. package/rancher-components/components/Form/Radio/RadioGroup.vue +253 -0
  454. package/rancher-components/components/Form/Radio/index.ts +2 -0
  455. package/rancher-components/components/Form/TextArea/TextAreaAutoGrow.vue +169 -0
  456. package/rancher-components/components/Form/TextArea/index.ts +1 -0
  457. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.test.ts +94 -0
  458. package/rancher-components/components/Form/ToggleSwitch/ToggleSwitch.vue +149 -0
  459. package/rancher-components/components/Form/ToggleSwitch/index.ts +1 -0
  460. package/rancher-components/components/Form/index.ts +5 -0
  461. package/rancher-components/components/LabeledTooltip/LabeledTooltip.vue +152 -0
  462. package/rancher-components/components/LabeledTooltip/index.ts +1 -0
  463. package/rancher-components/components/StringList/StringList.test.ts +483 -0
  464. package/rancher-components/components/StringList/StringList.vue +605 -0
  465. package/rancher-components/components/StringList/index.ts +1 -0
  466. package/rancher-components/components/Utils/DraggableZone/DraggableZone.vue +181 -0
  467. package/rancher-components/components/Utils/DraggableZone/index.ts +1 -0
  468. package/scripts/publish-shell.sh +38 -5
  469. package/scripts/record-deps.js +37 -0
  470. package/scripts/test-plugins-build.sh +11 -7
  471. package/scripts/typegen.sh +84 -0
  472. package/store/action-menu.js +3 -3
  473. package/store/auth.js +4 -4
  474. package/store/aws.js +4 -4
  475. package/store/catalog.js +22 -22
  476. package/store/index.js +4 -4
  477. package/store/plugins.js +2 -2
  478. package/store/prefs.js +9 -1
  479. package/store/type-map.js +46 -31
  480. package/store/uiplugins.ts +2 -2
  481. package/store/wm.js +10 -0
  482. package/types/shell/index.d.ts +3059 -0
  483. package/types/vue-shim.d +20 -0
  484. package/utils/alertmanagerconfig.js +6 -6
  485. package/utils/gc/gc-types.ts +1 -1
  486. package/utils/object.js +2 -2
  487. package/utils/parse-externalid.js +5 -5
  488. package/utils/time.js +6 -0
  489. package/utils/validators/formRules/__tests__/index.test.ts +3 -3
  490. package/components/.DS_Store +0 -0
  491. package/components/__tests__/.DS_Store +0 -0
  492. package/creators/pkg/nuxt.config.js +0 -6
  493. package/creators/pkg/package-lock.json +0 -37
@@ -0,0 +1,181 @@
1
+ <script lang="ts">
2
+ import Vue from 'vue';
3
+ import { mapState } from 'vuex';
4
+ import { BOTTOM, CENTER, LEFT, RIGHT } from '@shell/utils/position';
5
+
6
+ type Zone = null | typeof CENTER | typeof RIGHT | typeof BOTTOM | typeof LEFT;
7
+
8
+ export interface Drag {
9
+ active: boolean;
10
+ zone: Zone;
11
+ }
12
+
13
+ interface Data {
14
+ drag: Drag;
15
+ }
16
+
17
+ export default Vue.extend({
18
+ data(): Data {
19
+ return {
20
+ drag: {
21
+ active: false,
22
+ zone: CENTER,
23
+ },
24
+ };
25
+ },
26
+
27
+ computed: {
28
+
29
+ ...mapState('wm', ['userPin']),
30
+
31
+ pin: {
32
+ get(): Zone {
33
+ return this.userPin;
34
+ },
35
+
36
+ set(pin: Zone) {
37
+ if (pin === CENTER) {
38
+ return;
39
+ }
40
+ window.localStorage.setItem('wm-pin', pin as string);
41
+ this.$store.commit('wm/setUserPin', pin);
42
+ },
43
+ },
44
+
45
+ },
46
+
47
+ methods: {
48
+
49
+ onDragStart() {
50
+ this.drag.active = true;
51
+ },
52
+
53
+ onDragOver(event: DragEvent, zone: Zone) {
54
+ this.drag.zone = zone;
55
+ if (zone !== CENTER) {
56
+ event.preventDefault();
57
+ }
58
+ },
59
+
60
+ onDragEnd() {
61
+ this.pin = this.drag.zone;
62
+ this.drag = {
63
+ active: false,
64
+ zone: CENTER,
65
+ };
66
+ },
67
+
68
+ }
69
+ });
70
+ </script>
71
+
72
+ <template>
73
+ <div v-if="drag.active">
74
+ <span
75
+ v-if="drag.zone != pin"
76
+ class="pin-effect-area"
77
+ :class="drag.zone"
78
+ />
79
+ <span
80
+ class="drag-area center"
81
+ @dragover="onDragOver($event, 'center')"
82
+ />
83
+ <span
84
+ class="drag-area right"
85
+ @dragover="onDragOver($event, 'right')"
86
+ />
87
+ <span
88
+ class="drag-area bottom"
89
+ @dragover="onDragOver($event, 'bottom')"
90
+ />
91
+ <span
92
+ class="drag-area left"
93
+ @dragover="onDragOver($event, 'left')"
94
+ />
95
+ </div>
96
+ </template>
97
+
98
+ <style lang='scss' scoped>
99
+
100
+ .pin-effect-area {
101
+ position: absolute;
102
+ z-index: 997;
103
+ width: 0;
104
+ height: 0;
105
+ border-style: hidden;
106
+
107
+ &.right {
108
+ top: 55px;
109
+ right: 0;
110
+ width: 300px;
111
+ transition: width .5s ease;
112
+ height: 100%;
113
+ background-image: linear-gradient(to right, var(--drag-over-outer-bg), var(--drag-over-inner-bg));
114
+ border-left: 1px;
115
+ border-style: hidden hidden hidden dashed;
116
+ }
117
+
118
+ &.left {
119
+ top: 55px;
120
+ left: 0;
121
+ width: 300px;
122
+ transition: width .5s ease;
123
+ height: 100%;
124
+ background-image: linear-gradient(to left, var(--drag-over-outer-bg), var(--drag-over-inner-bg));
125
+ border-right: 1px;
126
+ border-style: hidden dashed hidden hidden;
127
+ }
128
+
129
+ &.bottom {
130
+ bottom: 0;
131
+ height: 270px;
132
+ transition: height .5s ease;
133
+ width: 100%;
134
+ background-image: linear-gradient(to top, var(--drag-over-inner-bg), var(--drag-over-outer-bg));
135
+ border-top: 1px;
136
+ border-style: dashed hidden hidden hidden;
137
+ }
138
+
139
+ &.center {
140
+ width: 0;
141
+ height: 0;
142
+ }
143
+ }
144
+
145
+ // ToDo make height and width as input variable
146
+ .drag-area {
147
+ position: absolute;
148
+ z-index: 999;
149
+ width: 0;
150
+ height: 0;
151
+ opacity: 0;
152
+
153
+ &.center {
154
+ top: 0;
155
+ right: 0;
156
+ width: 100%;
157
+ height: 100%;
158
+ z-index: 998;
159
+ }
160
+
161
+ &.right {
162
+ top: 55px;
163
+ right: 0;
164
+ width: 300px;
165
+ height: 100%;
166
+ }
167
+
168
+ &.left {
169
+ top: 55px;
170
+ left: 0;
171
+ width: 300px;
172
+ height: 100%;
173
+ }
174
+
175
+ &.bottom {
176
+ bottom: 0;
177
+ height: 270px;
178
+ width: 100%;
179
+ }
180
+ }
181
+ </style>
@@ -0,0 +1 @@
1
+ export { default as DraggableZone } from './DraggableZone.vue';
@@ -6,8 +6,14 @@ BASE_DIR="$(
6
6
  pwd
7
7
  )"
8
8
  SHELL_DIR=$BASE_DIR/shell/
9
+ TMP_DIR=$BASE_DIR/tmp
9
10
  PUBLISH_ARGS="--no-git-tag-version --access public $PUBLISH_ARGS"
10
11
 
12
+ if [ ! -d "${BASE_DIR}/node_modules" ]; then
13
+ echo "You need to run 'yarn install' first"
14
+ exit 1
15
+ fi
16
+
11
17
  echo "Publishing Shell Packages"
12
18
 
13
19
  # We use the version from the shell package for the creator packages
@@ -20,6 +26,7 @@ PKG_DIST=$BASE_DIR/dist-pkg/creators
20
26
  mkdir -p ${PKG_DIST}
21
27
  rm -rf ${PKG_DIST}/app
22
28
  rm -rf ${PKG_DIST}/pkg
29
+ rm -rf ${PKG_DIST}/update
23
30
 
24
31
  pushd ${SHELL_DIR} >/dev/null
25
32
 
@@ -30,12 +37,15 @@ echo "Publishing version: $PKG_VERSION"
30
37
 
31
38
  cp -R ${SHELL_DIR}/creators/app ${PKG_DIST}
32
39
  cp -R ${SHELL_DIR}/creators/pkg ${PKG_DIST}
40
+ cp -R ${SHELL_DIR}/creators/update ${PKG_DIST}
33
41
 
34
42
  sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/app/package.json
35
43
  sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/pkg/package.json
44
+ sed -i.bak -e "s/\"0.0.0/"\"$PKG_VERSION"/g" ${PKG_DIST}/update/package.json
36
45
 
37
46
  rm ${PKG_DIST}/app/package.json.bak
38
47
  rm ${PKG_DIST}/pkg/package.json.bak
48
+ rm ${PKG_DIST}/update/package.json.bak
39
49
 
40
50
  function publish() {
41
51
  NAME=$1
@@ -47,12 +57,30 @@ function publish() {
47
57
  # For now, copy the rancher components into the shell and ship them with it
48
58
  if [ "$NAME" == "Shell" ]; then
49
59
  echo "Adding Rancher Components"
50
- rm -rf ${SHELL_DIR}/rancher-components
51
- cp -R ${BASE_DIR}/pkg/rancher-components/src/components ${SHELL_DIR}/rancher-components/
60
+ cp -R ${BASE_DIR}/pkg/rancher-components/src/components ./rancher-components/
61
+ fi
62
+
63
+ if [ "$NAME" == "Update" ]; then
64
+ # Add files from the app and pkg creators to the update package
65
+ mkdir -p ./app
66
+ mkdir -p ./pkg
67
+ cp -R ${BASE_DIR}/shell/creators/app/* ./app
68
+ cp -R ${BASE_DIR}/shell/creators/pkg/* ./pkg
69
+ # Remove index.ts from pkg files, as we don't want to replace that
70
+ rm -f ./pkg/files/index.ts
71
+
72
+ # Update the package.json for the app
73
+ cd app
74
+ node ${SCRIPT_DIR}/record-deps.js
75
+ cd ..
52
76
  fi
53
77
 
78
+ # Make a note of dependency versions, if required
79
+ node ${SCRIPT_DIR}/record-deps.js
80
+
54
81
  yarn publish . --new-version ${PKG_VERSION} ${PUBLISH_ARGS}
55
82
  RET=$?
83
+
56
84
  popd >/dev/null
57
85
 
58
86
  if [ $RET -ne 0 ]; then
@@ -61,10 +89,15 @@ function publish() {
61
89
  fi
62
90
  }
63
91
 
92
+ # Generate the type definitions for the shell
93
+ ${SCRIPT_DIR}/typegen.sh
94
+
64
95
  # Publish the packages - don't tag the git repo and don't auto-increment the version number
65
96
  publish "Shell" ${SHELL_DIR}
66
-
67
- publish "Application creator" ${PKG_DIST}/app
68
- publish "Package creator" ${PKG_DIST}/pkg
97
+ publish "Application creator" ${PKG_DIST}/app/
98
+ publish "Package creator" ${PKG_DIST}/pkg/
99
+ publish "Update" ${PKG_DIST}/update/
69
100
 
70
101
  echo "Done"
102
+
103
+
@@ -0,0 +1,37 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+
4
+ // Script lives in shell/scripts, so work out top-level dir from there
5
+ const topDir = path.resolve(__dirname, '..', '..');
6
+ const dir = process.cwd();
7
+
8
+ // Read the package.json file
9
+ const topPkgFile = path.join(topDir, 'package.json');
10
+ const pkgFile = path.join(dir, 'package.json');
11
+
12
+ const topPkg = JSON.parse(fs.readFileSync(topPkgFile));
13
+ const mainPkg = JSON.parse(fs.readFileSync(pkgFile));
14
+
15
+ // Look to see if we specify the deps we require
16
+ if (mainPkg._requires) {
17
+ // Map each one to the same version as the main package
18
+ const out = {};
19
+
20
+ mainPkg._requires.forEach((name) => {
21
+ let ver = topPkg.dependencies?.[name] || topPkg.devDependencies?.[name];
22
+
23
+ if (name === '@rancher/components') {
24
+ const componentsPkgFile = path.join(topDir, 'pkg', 'rancher-components', 'package.json');
25
+ const componentsPkg = JSON.parse(fs.readFileSync(componentsPkgFile));
26
+
27
+ ver = componentsPkg.version;
28
+ }
29
+
30
+ out[name] = ver;
31
+ });
32
+
33
+ mainPkg._pkgs = out;
34
+ delete mainPkg._requires;
35
+
36
+ fs.writeFileSync(pkgFile, JSON.stringify(mainPkg, null, 2), 'utf-8');
37
+ }
@@ -30,7 +30,7 @@ if [ $SKIP_SETUP == "false" ]; then
30
30
  fi
31
31
 
32
32
  set +e
33
- RUNNING=$(ps -A | grep Verdaccio -c)
33
+ RUNNING=$(pgrep Verdaccio | wc -l | xargs)
34
34
  set -e
35
35
 
36
36
  if [ $RUNNING -eq 0 ]; then
@@ -45,7 +45,7 @@ if [ $SKIP_SETUP == "false" ]; then
45
45
 
46
46
  # Remove existing admin if already there
47
47
  if [ -f ~/.config/verdaccio/htpasswd ]; then
48
- sed -i '/^admin:/d' ~/.config/verdaccio/htpasswd
48
+ sed -i.bak -e '/^admin:/d' ~/.config/verdaccio/htpasswd
49
49
  fi
50
50
 
51
51
  curl -XPUT -H "Content-type: application/json" -d '{ "name": "admin", "password": "admin" }' 'http://localhost:4873/-/user/admin' > login.json
@@ -67,7 +67,10 @@ else
67
67
  fi
68
68
 
69
69
  export YARN_REGISTRY=http://localhost:4873
70
- export NEXT_TELEMETRY_DISABLED=1
70
+ export NUXT_TELEMETRY_DISABLED=1
71
+
72
+ # Remove test package from previous run, if present
73
+ rm -rf ${BASE_DIR}/pkg/test-pkg
71
74
 
72
75
  # We need to patch the version number of the shell, otherwise if we are running
73
76
  # with the currently published version, things will fail as those versions
@@ -77,6 +80,7 @@ rm ${SHELL_DIR}/package.json.bak
77
80
 
78
81
  # Publish shell
79
82
  echo "Publishing shell packages to local registry"
83
+ yarn install
80
84
  ${SHELL_DIR}/scripts/publish-shell.sh
81
85
 
82
86
  if [ "${SKIP_STANDALONE}" == "false" ]; then
@@ -92,21 +96,21 @@ if [ "${SKIP_STANDALONE}" == "false" ]; then
92
96
  yarn install
93
97
 
94
98
  echo "Building skeleton app"
95
- yarn build
99
+ FORCE_COLOR=true yarn build | cat
96
100
 
97
101
  # Package creator
98
102
  echo "Verifying package creator package"
99
103
  yarn create @rancher/pkg test-pkg
100
104
 
101
105
  echo "Building test package"
102
- yarn build-pkg test-pkg
106
+ FORCE_COLOR=true yarn build-pkg test-pkg | cat
103
107
 
104
108
  # Add test list component to the test package
105
109
  # Validates rancher-components imports
106
110
  mkdir pkg/test-pkg/list
107
111
  cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue pkg/test-pkg/list
108
112
 
109
- yarn build-pkg test-pkg
113
+ FORCE_COLOR=true yarn build-pkg test-pkg | cat
110
114
 
111
115
  echo "Cleaning temporary dir"
112
116
  popd > /dev/null
@@ -126,7 +130,7 @@ yarn install
126
130
  rm -rf ./pkg/test-pkg
127
131
  yarn create @rancher/pkg test-pkg -t
128
132
  cp ${SHELL_DIR}/list/catalog.cattle.io.clusterrepo.vue ./pkg/test-pkg/list
129
- yarn build-pkg test-pkg
133
+ FORCE_COLOR=true yarn build-pkg test-pkg | cat
130
134
  rm -rf ./pkg/test-pkg
131
135
 
132
136
  echo "All done"
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env bash
2
+
3
+ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
4
+ BASE_DIR="$( cd $SCRIPT_DIR && cd ../.. & pwd)"
5
+ SHELL_DIR=$BASE_DIR/shell
6
+
7
+ echo "Generating typescript definitions"
8
+
9
+ rm -rf ${SHELL_DIR}/tmp
10
+ mkdir -p ${SHELL_DIR}/tmp
11
+
12
+ echo "Generating ..."
13
+
14
+ # utils
15
+ ${BASE_DIR}/node_modules/.bin/tsc shell/utils/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils > /dev/null
16
+
17
+ # config
18
+ ${BASE_DIR}/node_modules/.bin/tsc shell/config/query-params.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
19
+ ${BASE_DIR}/node_modules/.bin/tsc shell/config/table-headers.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
20
+ ${BASE_DIR}/node_modules/.bin/tsc shell/config/types.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
21
+
22
+ # store
23
+ ${BASE_DIR}/node_modules/.bin/tsc shell/store/features.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
24
+
25
+ # plugins
26
+ ${BASE_DIR}/node_modules/.bin/tsc shell/plugins/dashboard-store/normalize.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
27
+ ${BASE_DIR}/node_modules/.bin/tsc shell/plugins/dashboard-store/resource-class.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
28
+
29
+
30
+ # mkixins
31
+ ${BASE_DIR}/node_modules/.bin/tsc shell/mixins/create-edit-view/index.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/mixins/create-edit-view > /dev/null
32
+
33
+ #./node_modules/.bin/tsc shell/plugins/dashboard-store/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store > /dev/null
34
+
35
+ # Go through all of the folders and combine by wrapping with 'declare module'
36
+
37
+ echo "Combining type definitions ..."
38
+
39
+ DEST=${SHELL_DIR}/types/shell
40
+ mkdir -p ${DEST}
41
+
42
+ INDEX=${DEST}/index.d.ts
43
+ rm -rf ${INDEX}
44
+
45
+ echo "// Auto-generated type definitions for shell" > ${INDEX}
46
+ echo "// Do not modify this file as changes will get overwritten" >> ${INDEX}
47
+
48
+ # Copy in the vue shim type definitions
49
+ if [ -f "$BASE_DIR/shell/types/vue-shim.d" ]; then
50
+ cat "$BASE_DIR/shell/types/vue-shim.d" >> ${INDEX}
51
+ fi
52
+
53
+ function processDir() {
54
+ local dir=$1
55
+ local basePkg=$2
56
+
57
+ for entry in $1/*
58
+ do
59
+ local filename=$(basename $entry)
60
+
61
+ if [ -d $entry ]; then
62
+ processDir $entry $basePkg/$filename
63
+ else
64
+ if [[ $filename == *.d.ts ]]; then
65
+ # We use convoluted mechanism here to ensure this works on mac with bash 3.x
66
+ local name=$(echo $filename | rev | cut -c6- | rev)
67
+
68
+ local module=${basePkg}/${name}
69
+ if [ "${name}" == "index" ]; then
70
+ module=${basePkg}
71
+ fi
72
+
73
+ echo -e "\n// ${module}\n" >> ${INDEX}
74
+ echo "declare module '${module}' {" >> ${INDEX}
75
+ cat $entry >> ${INDEX}
76
+ echo -e "}" >> ${INDEX}
77
+ fi
78
+ fi
79
+ done
80
+ }
81
+
82
+ processDir ${SHELL_DIR}/tmp @shell
83
+
84
+ rm -rf ${SHELL_DIR}/tmp
@@ -22,9 +22,9 @@ export const state = function() {
22
22
  };
23
23
 
24
24
  export const getters = {
25
- showing: state => state.show,
26
- elem: state => state.elem,
27
- event: state => state.event,
25
+ showing: state => state.show,
26
+ elem: state => state.elem,
27
+ event: state => state.event,
28
28
 
29
29
  options(state) {
30
30
  let selected = state.resources;
package/store/auth.js CHANGED
@@ -216,8 +216,8 @@ export const actions = {
216
216
  let url = removeParam(redirectUrl, GITHUB_SCOPE);
217
217
 
218
218
  const params = {
219
- [GITHUB_SCOPE]: scopes.join(','),
220
- [GITHUB_NONCE]: base64Encode(nonce, 'url')
219
+ [GITHUB_SCOPE]: scopes.join(','),
220
+ [GITHUB_NONCE]: base64Encode(nonce, 'url')
221
221
  };
222
222
 
223
223
  if (!url.includes(GITHUB_REDIRECT)) {
@@ -276,8 +276,8 @@ export const actions = {
276
276
  const url = await dispatch('redirectTo', {
277
277
  provider,
278
278
  redirectUrl,
279
- test: true,
280
- redirect: false
279
+ test: true,
280
+ redirect: false
281
281
  });
282
282
 
283
283
  return openAuthPopup(url, provider);
package/store/aws.js CHANGED
@@ -44,8 +44,8 @@ function credentialDefaultProvider(accessKey, secretKey) {
44
44
  // The SDK will complain if these aren't set, so fill them with something
45
45
  // even though the cloudCredential will be used eventually
46
46
  const out = {
47
- accessKeyId: accessKey || randomStr(),
48
- secretAccessKey: secretKey || randomStr(),
47
+ accessKeyId: accessKey || randomStr(),
48
+ secretAccessKey: secretKey || randomStr(),
49
49
  };
50
50
 
51
51
  return out;
@@ -164,8 +164,8 @@ export const actions = {
164
164
  memoryBytes: row.MemoryInfo.SizeInMiB * 1024 * 1024,
165
165
  label: rootGetters['i18n/t']('cluster.machineConfig.aws.sizeLabel', {
166
166
  apiName,
167
- cpu: row.VCpuInfo.DefaultVCpus,
168
- memory: row.MemoryInfo.SizeInMiB / 1024,
167
+ cpu: row.VCpuInfo.DefaultVCpus,
168
+ memory: row.MemoryInfo.SizeInMiB / 1024,
169
169
  storageSize,
170
170
  storageUnit,
171
171
  storageType,
package/store/catalog.js CHANGED
@@ -503,32 +503,32 @@ function addChart(ctx, map, chart, repo) {
503
503
  if ( ctx ) { }
504
504
  obj = classify(ctx, {
505
505
  key,
506
- type: 'chart',
507
- id: key,
506
+ type: 'chart',
507
+ id: key,
508
508
  certified,
509
509
  sideLabel,
510
510
  repoType,
511
511
  repoName,
512
- repoNameDisplay: ctx.rootGetters['i18n/withFallback'](`catalog.repo.name."${ repoName }"`, null, repoName),
513
- certifiedSort: CERTIFIED_SORTS[certified] || 99,
514
- icon: chart.icon,
515
- color: repo.color,
516
- chartType: chart.annotations?.[CATALOG_ANNOTATIONS.TYPE] || CATALOG_ANNOTATIONS._APP,
517
- chartName: chart.name,
518
- chartNameDisplay: chart.annotations?.[CATALOG_ANNOTATIONS.DISPLAY_NAME] || chart.name,
519
- chartDescription: chart.description,
520
- featured: chart.annotations?.[CATALOG_ANNOTATIONS.FEATURED],
521
- repoKey: repo._key,
522
- versions: [],
523
- categories: filterCategories(chart.keywords),
524
- deprecated: !!chart.deprecated,
525
- hidden: !!chart.annotations?.[CATALOG_ANNOTATIONS.HIDDEN],
526
- targetNamespace: chart.annotations?.[CATALOG_ANNOTATIONS.NAMESPACE],
527
- targetName: chart.annotations?.[CATALOG_ANNOTATIONS.RELEASE_NAME],
528
- scope: chart.annotations?.[CATALOG_ANNOTATIONS.SCOPE],
529
- provides: [],
530
- windowsIncompatible: !(chart.annotations?.[CATALOG_ANNOTATIONS.PERMITTED_OS] || '').includes('windows'),
531
- deploysOnWindows: (chart.annotations?.[CATALOG_ANNOTATIONS.DEPLOYED_OS] || '').includes('windows')
512
+ repoNameDisplay: ctx.rootGetters['i18n/withFallback'](`catalog.repo.name."${ repoName }"`, null, repoName),
513
+ certifiedSort: CERTIFIED_SORTS[certified] || 99,
514
+ icon: chart.icon,
515
+ color: repo.color,
516
+ chartType: chart.annotations?.[CATALOG_ANNOTATIONS.TYPE] || CATALOG_ANNOTATIONS._APP,
517
+ chartName: chart.name,
518
+ chartNameDisplay: chart.annotations?.[CATALOG_ANNOTATIONS.DISPLAY_NAME] || chart.name,
519
+ chartDescription: chart.description,
520
+ featured: chart.annotations?.[CATALOG_ANNOTATIONS.FEATURED],
521
+ repoKey: repo._key,
522
+ versions: [],
523
+ categories: filterCategories(chart.keywords),
524
+ deprecated: !!chart.deprecated,
525
+ hidden: !!chart.annotations?.[CATALOG_ANNOTATIONS.HIDDEN],
526
+ targetNamespace: chart.annotations?.[CATALOG_ANNOTATIONS.NAMESPACE],
527
+ targetName: chart.annotations?.[CATALOG_ANNOTATIONS.RELEASE_NAME],
528
+ scope: chart.annotations?.[CATALOG_ANNOTATIONS.SCOPE],
529
+ provides: [],
530
+ windowsIncompatible: !(chart.annotations?.[CATALOG_ANNOTATIONS.PERMITTED_OS] || '').includes('windows'),
531
+ deploysOnWindows: (chart.annotations?.[CATALOG_ANNOTATIONS.DEPLOYED_OS] || '').includes('windows')
532
532
  });
533
533
 
534
534
  map[key] = obj;
package/store/index.js CHANGED
@@ -795,10 +795,10 @@ export const actions = {
795
795
  };
796
796
 
797
797
  const res = await allHash({
798
- projects: fetchProjects(),
799
- counts: dispatch('cluster/findAll', { type: COUNT }),
800
- namespaces: dispatch('cluster/findAll', { type: NAMESPACE }),
801
- navLinks: !!getters['cluster/schemaFor'](UI.NAV_LINK) && dispatch('cluster/findAll', { type: UI.NAV_LINK }),
798
+ projects: fetchProjects(),
799
+ counts: dispatch('cluster/findAll', { type: COUNT }),
800
+ namespaces: dispatch('cluster/findAll', { type: NAMESPACE }),
801
+ navLinks: !!getters['cluster/schemaFor'](UI.NAV_LINK) && dispatch('cluster/findAll', { type: UI.NAV_LINK }),
802
802
  });
803
803
 
804
804
  await dispatch('cleanNamespaces');
package/store/plugins.js CHANGED
@@ -5,7 +5,7 @@ export function simplify(key) {
5
5
  }
6
6
 
7
7
  const credentialOptions = {
8
- aws: {
8
+ aws: {
9
9
  publicKey: 'accessKey',
10
10
  publicMode: 'full',
11
11
  keys: ['region', 'accessKey', 'secretKey']
@@ -15,7 +15,7 @@ const credentialOptions = {
15
15
  publicMode: 'prefix',
16
16
  keys: 'accessToken'
17
17
  },
18
- azure: {
18
+ azure: {
19
19
  publicKey: 'clientId',
20
20
  publicMode: 'full',
21
21
  keys: ['subscriptionId', 'tenantId', 'clientId', 'clientSecret']
package/store/prefs.js CHANGED
@@ -470,11 +470,19 @@ export const actions = {
470
470
  return server;
471
471
  },
472
472
 
473
- setLastVisited({ state, dispatch }, route) {
473
+ setLastVisited({ state, dispatch, getters }, route) {
474
474
  if (!route) {
475
475
  return;
476
476
  }
477
477
 
478
+ // Only save the last visited page if the user has that set as the login route preference
479
+ const afterLoginRoutePref = getters['get'](AFTER_LOGIN_ROUTE);
480
+ const doNotTrackLastVisited = typeof afterLoginRoutePref !== 'string' || afterLoginRoutePref !== 'last-visited';
481
+
482
+ if (doNotTrackLastVisited) {
483
+ return;
484
+ }
485
+
478
486
  const toSave = getLoginRoute(route);
479
487
 
480
488
  return dispatch('set', { key: LAST_VISITED, value: toSave });