1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Commit Graph

32 Commits

Author SHA1 Message Date
Roman
7fcc9fac46 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-entity-registry.ts
#	src/common/cluster-store.ts
#	src/extensions/registries/page-registry.ts
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/main/extension-filesystem.ts
#	src/renderer/api/endpoints/configmap.api.ts
#	src/renderer/api/endpoints/job.api.ts
#	src/renderer/api/endpoints/resource-quota.api.ts
#	src/renderer/api/endpoints/secret.api.ts
#	src/renderer/api/kube-object.ts
#	src/renderer/api/kube-watch-api.ts
#	src/renderer/components/+apps-releases/release-menu.tsx
#	src/renderer/components/+catalog/catalog-add-button.tsx
#	src/renderer/components/+cluster/cluster-issues.tsx
#	src/renderer/components/+custom-resources/crd-resources.tsx
#	src/renderer/components/+entity-settings/entity-settings.tsx
#	src/renderer/components/+storage-volumes/volume-details-list.tsx
#	src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx
#	src/renderer/components/+workloads-pods/pod-details-list.tsx
#	src/renderer/components/cluster-manager/cluster-view.tsx
#	src/renderer/components/cluster-settings/components/cluster-metrics-setting.tsx
#	src/renderer/components/cluster-settings/components/show-metrics.tsx
#	src/renderer/components/dock/__test__/dock-tabs.test.tsx
#	src/renderer/components/dock/log.store.ts
#	src/renderer/components/dock/logs.tsx
#	src/renderer/components/dock/upgrade-chart.store.ts
#	src/renderer/components/icon/icon.tsx
#	src/renderer/components/kube-object/kube-object-menu.tsx
#	src/renderer/components/notifications/notifications.store.tsx
#	src/renderer/hooks/useStorage.ts
#	src/renderer/navigation/page-param.ts
2021-05-19 19:53:31 +03:00
Sebastian Malton
5ed4537979
Turn on noUnusedLocals, noImplicitReturns, importsNotUsedAsValues: error, and isolatedModules (#2777) 2021-05-19 12:11:54 -04:00
Roman
88c9fe3210 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-category-registry.ts
#	src/common/catalog/catalog-entity-registry.ts
#	src/common/hotbar-store.ts
#	src/common/search-store.ts
#	src/common/utils/autobind.ts
#	src/common/utils/extended-map.ts
#	src/common/utils/toggle-set.ts
#	src/extensions/extension-api.ts
#	src/extensions/renderer-api/navigation.ts
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/renderer/api/catalog-entity-registry.ts
#	src/renderer/api/endpoints/cluster-role.api.ts
#	src/renderer/api/endpoints/endpoint.api.ts
#	src/renderer/api/endpoints/poddisruptionbudget.api.ts
#	src/renderer/api/endpoints/podsecuritypolicy.api.ts
#	src/renderer/api/endpoints/role-binding.api.ts
#	src/renderer/api/endpoints/service-accounts.api.ts
#	src/renderer/api/endpoints/service.api.ts
#	src/renderer/api/endpoints/storage-class.api.ts
#	src/renderer/api/websocket-api.ts
#	src/renderer/components/+catalog/catalog-entity.store.ts
#	src/renderer/components/+cluster/cluster-overview.store.ts
#	src/renderer/components/+config-autoscalers/hpa.store.ts
#	src/renderer/components/+config-limit-ranges/limit-ranges.store.ts
#	src/renderer/components/+custom-resources/crd-resource.store.ts
#	src/renderer/components/+custom-resources/crd.store.ts
#	src/renderer/components/+namespaces/namespace.store.ts
#	src/renderer/components/+network-ingresses/ingress.store.ts
#	src/renderer/components/+storage-volume-claims/volume-claim.store.ts
#	src/renderer/components/+user-management-service-accounts/service-accounts.store.ts
#	src/renderer/components/+workloads-daemonsets/daemonsets.store.ts
#	src/renderer/components/+workloads-deployments/deployments.store.ts
#	src/renderer/components/+workloads-replicasets/replicasets.store.ts
#	src/renderer/components/+workloads-statefulsets/statefulset.store.ts
#	src/renderer/components/command-palette/command-dialog.tsx
#	src/renderer/components/dock/dock-tab.store.ts
#	src/renderer/components/dock/edit-resource.store.ts
#	src/renderer/components/dock/install-chart.store.ts
#	src/renderer/components/dock/log.store.ts
#	src/renderer/components/dock/upgrade-chart.store.ts
#	src/renderer/components/item-object-list/page-filters.store.ts
#	src/renderer/navigation/page-param.ts
#	src/renderer/theme.store.ts
2021-05-12 18:57:52 +03:00
Jari Kolehmainen
2d0609ed24
Check source files for license header (#2763)
* check source files for license header

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* tweak

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* add license header to all relevant source files

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-05-12 18:33:26 +03:00
Roman
ed1f88b5d8 fix: don't cache mobx.when(() => this.someObservable) cause might not work as expected due later call of makeObservable(this) in constructor
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 17:35:20 +03:00
Roman
0c8ff6a1d6 normalize usages of #observable-value.toJSON() / attempt to catch the wind
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-08 13:52:12 +03:00
Roman
81a6b3ce17 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/renderer/kube-object.store.ts
2021-05-07 12:29:55 +03:00
Roman
4a9178e8ea mobx-6: replacing @autobind() as method-decorator to @boundMethod
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 17:24:11 +03:00
Roman
ae1b840df7 mobx-6 migration -- part 2 (npx mobx-undecorate --keepDecorators)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 15:49:22 +03:00
Roman
a0fb8b5933 mobx-6 migration -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 15:09:24 +03:00
Sebastian Malton
7b1b8e6321
Fix ClusterScoped kube APIs not subscribing (#2706)
* Fix ClusterScoped kube APIs not subscribing

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* remove debug

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-05-06 09:10:52 +03:00
Sebastian Malton
082885cabf
Fix KubeObjectStore not correctly tracking loading of namespaces (#2266) 2021-04-29 08:32:29 -04:00
Sebastian Malton
c79b6c0015 Fix releases not reloading when selecting namespaces (#2515) 2021-04-19 11:46:07 -04:00
Jari Kolehmainen
174bba98d7
Fix isLoadingAll within KubeObjectStore.loadItems (#2174)
* fix isLoadingAll within KubeObjectStore.loadItems

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix isLoadingAll within KubeObjectStore.loadItems

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-17 22:28:33 +02:00
Sebastian Malton
4513a08b1f
don't use list all optimization when operating in accessible namespaces mode (#2142)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-12 10:59:58 -05:00
Jari Kolehmainen
d7d4be7375
Improve kube watch error handling (#2112)
* improve kube watch error handling

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* review fixes

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* no more object.assign

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* keep only items from non-loaded namespaces

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix sleep/resume

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fallback retry only on error

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-11 17:34:14 +02:00
Jari Kolehmainen
035dd470ef
Refactor watches to use native k8s api (#2095)
* fix lint

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* fix lint, micro-refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* more refactoring, clean up, responding to comments

Signed-off-by: Roman <ixrock@gmail.com>

* fix: remove extra check for cluster.allowedApi from processing buffered watch-api events

Signed-off-by: Roman <ixrock@gmail.com>

* refactoring, detaching NamespaceStore from KubeObjectStore

Signed-off-by: Roman <ixrock@gmail.com>

* fix: wait for contextReady in NamespaceStore

Signed-off-by: Roman <ixrock@gmail.com>

* refactoring & fixes

Signed-off-by: Roman <ixrock@gmail.com>

* fix lint

Signed-off-by: Roman <ixrock@gmail.com>

* fixes: reloading context stores on NamespaceSelect-change

Signed-off-by: Roman <ixrock@gmail.com>

* optimize loading all resources when "all namespaces" selected -> single request per resource (when have rights)

Signed-off-by: Roman <ixrock@gmail.com>

* use native k8s api watches

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* retry watch when it makes sense

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* workaround for browser connection limits

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* use always random subdomain for getResponse

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* resubscribe stores on contextNamespace change

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* modify watch event before calling callback

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

Co-authored-by: Roman <ixrock@gmail.com>
2021-02-09 15:31:15 +02:00
Roman
5287e7e528
KubeObjectStore & KubeWatchApi fixes and optimizations (#2063)
* Detach NamespaceStore from KubeWatchApi, proper KubeObjectStore.loadAll (rebase of #2033)

Signed-off-by: Roman <ixrock@gmail.com>

* Watch-api requests optimization (#2066)

* subscribe for watching resources in single request when has admin-like access rights

Signed-off-by: Roman <ixrock@gmail.com>

* responding to comments

Signed-off-by: Roman <ixrock@gmail.com>

* fix unit-tests

Signed-off-by: Roman <ixrock@gmail.com>

* fix: reloading stores when preloading enabled and waitUntilLoaded=false

Signed-off-by: Roman <ixrock@gmail.com>

* mark Cluster.canUseWatchApi() and Cluster.refreshAccessibility() as private

Signed-off-by: Roman <ixrock@gmail.com>

* fix unit test: make public Cluster.canUseWatchApi()

Signed-off-by: Roman <ixrock@gmail.com>

* responding to comments in #2066

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-04 11:51:35 +02:00
Roman
078f952b36
Watch-api streaming reworks (#1990)
* loading k8s resources into stores per selected namespaces -- part 1

Signed-off-by: Roman <ixrock@gmail.com>

* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id

Signed-off-by: Roman <ixrock@gmail.com>

* loading k8s resources into stores per selected namespaces -- part 3

Signed-off-by: Roman <ixrock@gmail.com>

* fixes

Signed-off-by: Roman <ixrock@gmail.com>

* fixes / responding to comments

Signed-off-by: Roman <ixrock@gmail.com>

* chore / small fixes

Signed-off-by: Roman <ixrock@gmail.com>

* Watch api does not work for non-admins with lots of namespaces #1898 -- part 1

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* make lint happy

Signed-off-by: Roman <ixrock@gmail.com>

* reset store on loading error

Signed-off-by: Roman <ixrock@gmail.com>

* added new cluster method: cluster.isAllowedResource

Signed-off-by: Roman <ixrock@gmail.com>

* fix: loading namespaces optimizations

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* fix: parse multiple kube-events from stream's chunk

Signed-off-by: Roman <ixrock@gmail.com>

* fix: mobx issue with accessing empty observable array by index (removes warning), use common logger

Signed-off-by: Roman <ixrock@gmail.com>

* fine-tuning

Signed-off-by: Roman <ixrock@gmail.com>

* fix: parse json stream chunks at client-side (might be partial, depends on network speed)

Signed-off-by: Roman <ixrock@gmail.com>

* store subscribing refactoring -- part 1

Signed-off-by: Roman <ixrock@gmail.com>

* store subscribing refactoring -- part 2

Signed-off-by: Roman <ixrock@gmail.com>

* store subscribing refactoring -- part 3

Signed-off-by: Roman <ixrock@gmail.com>

* store subscribing refactoring -- part 4

Signed-off-by: Roman <ixrock@gmail.com>

* auto-reconnect on online/offline status change, interval connection check

Signed-off-by: Roman <ixrock@gmail.com>

* check connection every 5m

Signed-off-by: Roman <ixrock@gmail.com>

* split concurrent watch-api requests by 10 at a time + 150ms delay before next call

Signed-off-by: Roman <ixrock@gmail.com>

* refactoring / clean up

Signed-off-by: Roman <ixrock@gmail.com>

* use `plimit` + delay for k8s watch requests

Signed-off-by: Roman <ixrock@gmail.com>

* lint fix

Signed-off-by: Roman <ixrock@gmail.com>

* added explicit `preload: true` when subscribing stores

Signed-off-by: Roman <ixrock@gmail.com>

* kubeWatchApi refactoring / fine-tuning

Signed-off-by: Roman <ixrock@gmail.com>

* clean up

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-01 15:49:32 +02:00
Alex Andreev
a157eb03e6
Generic logs view with Pod selector (#1984)
* Adding LogTabStore

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding Pod selector in logs tab

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Refresh containers on pod change

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding <LogResourceSelector /> tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding LogTabStore tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Clearn getPodsByOwnerId method

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Extracting dummy pods into mock file

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Eliminating containers and initContainers from store

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Refreshing tab pods if pod amount is changed in store

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* A bit of cleaning up, fixing tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fix lint newline errors

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Return getPodsByOwner() method

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Rename log tab when pod changes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-27 17:20:02 +03:00
Roman
f8c111ddd8
Load k8s resources only for selected namespaces (#1918)
* loading k8s resources into stores per selected namespaces -- part 1

Signed-off-by: Roman <ixrock@gmail.com>

* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id

Signed-off-by: Roman <ixrock@gmail.com>

* loading k8s resources into stores per selected namespaces -- part 3

Signed-off-by: Roman <ixrock@gmail.com>

* fixes

Signed-off-by: Roman <ixrock@gmail.com>

* fixes / responding to comments

Signed-off-by: Roman <ixrock@gmail.com>

* chore / small fixes

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>

* make lint happy

Signed-off-by: Roman <ixrock@gmail.com>

* reset store on loading error

Signed-off-by: Roman <ixrock@gmail.com>

* added new cluster method: cluster.isAllowedResource

Signed-off-by: Roman <ixrock@gmail.com>

* fix: loading namespaces optimizations

Signed-off-by: Roman <ixrock@gmail.com>

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>
2021-01-22 13:18:46 +02:00
Jari Kolehmainen
6fe5bfae5c
Generate metadata.selfLink if response does not have it (#1804)
* generate metadata.selfLink if response does not have it

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix watches

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* fix

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-18 15:03:04 +02:00
Jari Kolehmainen
69208fdfe6
Query all objects using single api call if admin and namespace list is not overridden (#1692)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-08 16:08:28 +02:00
Sebastian Malton
b342ea0bd6
store more than largest kube api request amount in the event store (#1605)
* store more than largest kube api request amount in the event store

* not abstract, give default

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-04 09:48:56 -05:00
Jari Kolehmainen
29f2497d48
Respect static list of allowed namespaces (#1639)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-03 15:22:47 +02:00
Panu Horsmalahti
dcf253e7d5
Add eslint rule padding-line-between-statements (#1593)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-02 09:55:52 +02:00
Panu Horsmalahti
ff93760dc4
Enable object-shorthand rule (#1500)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 13:16:35 +02:00
Sebastian Malton
43976f5bd9
fix SwitchCase indent rule in eslint (#1454)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-19 15:15:49 -05:00
Panu Horsmalahti
1477bb8274 Enforce semicolons in eslint
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 16:35:04 +02:00
Sebastian Malton
c542ad0348
refactor overview statuses to be more DRY (#912)
* refactor overview statuses to be more DRY

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-29 11:25:29 -04:00
Roman
5670312c47
Migrating Vue components to React and stores refactoring (#585)
Signed-off-by: Roman <ixrock@gmail.com>

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-08-20 08:53:07 +03:00
Roman
b7974827d2
Lens restructure (#540)
Signed-off-by: Roman <ixrock@gmail.com>
2020-06-30 14:35:16 +03:00