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

551 Commits

Author SHA1 Message Date
Sebastian Malton
436bb7683d
Listen for before-quit-for-update to allow will-quit to use default flow (#2147)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-16 16:50:11 +02:00
Alex Andreev
d3cedb49aa
Adding paddings to auto-update notification elements (#2163)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-02-16 16:49:27 +02:00
Lauri Nevala
3f2d912816
Register existing store with new apiBase when re-registering Kube API (#2157)
* Update store key after api's apiBase change

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Re-register existing store when registering API

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Revert kube-api changes

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2021-02-16 14:49:51 +02:00
Sebastian Malton
8d74f1c759
Fix tailCount renderering in removeItemsDialog (#2148)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-15 07:25:34 +02:00
Jari Kolehmainen
f4a3074926
Fix events list default sort column (#2149)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-13 09:33:04 +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
557d96d484
Handle suspend/resume error from watch stream read (#2136)
* handle suspend/resume error from stream read

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

* add missing types

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-12 16:37:41 +02:00
Jari Kolehmainen
4bc4fe3a24
Fix accessible namespaces reset on cluster disconnect (#2140)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-12 16:24:02 +02:00
Jari Kolehmainen
317c4cf072
Fix accessible namespaces functionality under restrictive RBAC (#2138)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-12 14:25:17 +02:00
Alex Andreev
d40bd0c7d0
Making error boundary layout responsive (#2124)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-02-12 10:19:52 +03:00
Jari Kolehmainen
f14f3b3287
Cleanup iframe when cluster is disconnected (#2120)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-11 17:36:47 +02: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
Roman
b873ba76bd
Fix: compact-mode for Workloads overview -> Events (#2113)
fix: proper event-type column + default sorting by warning events

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-11 13:56:20 +02:00
Jari Kolehmainen
22176219f0
Don't show warning badge if cluster is offline (#2121)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-11 12:23:33 +02:00
Alex Andreev
c0ef006cb8
Fix: preventing namespace filter jumping scroll (#2104)
* 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>

* Replace placeholder component in NamespaceSelectFilter

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

Co-authored-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-11 10:32:57 +03:00
Jari Kolehmainen
b144eb916b
Remove unnecessary subscribeStores from cluster overview (#2108)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-10 14:27:48 +02:00
Alex Andreev
2b22ec0aa3
Fix: saving apiManager store keys with string type (#2091)
* Saving apiManager store keys with string type

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

* Replacing stores key from "kind" to "apiBase"

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-02-09 17:52:33 +02:00
Sebastian Malton
a61425124f
Add auto-update notifications and confirmation (#1941)
* add auto-update notifications and confirmation

* Show single update notification (#1985)

* Moving notification icons to top (#1987)

* Switch to EventEmitter (producer&consumer) model

* Add `onCorrect` and `onceCorrect` to ipc module for typechecking ipc  messages

* move type enforced ipc methods to seperate file, add unit tests

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-09 10:47:24 -05:00
Roman
741973dd29
Fix: export Dialog to extensions-api (#2105)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-09 17:33:27 +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
Violetta
b36d9ff418
Helm rollback window with more details (#2085)
Signed-off-by: vshakirova <vshakirova@mirantis.com>
2021-02-05 12:23:15 -05:00
Lauri Nevala
e6c90c28cc
Return no metrics immediately if chartData.datasets are missing (#2082)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2021-02-04 19:44:28 +02:00
Roman
b514e5c833
proper select-all option for NamespaceSelect (#2084)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-04 19:24:39 +02:00
Lauri Nevala
ad6de71826
Add more log entries on start up (#1955)
* Add more log entries on start up

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* And log entry about shell sync

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Refactoring

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Add new line

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Apply suggestions from code review

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2021-02-04 19:19:11 +02:00
Sebastian Malton
0727456aa1
Convert StatusBarRegistration to use components field (#1598)
* Convert StatusBarRegistration to use components field

- More similar to all other *Registration types for extensions

- Simpler fix for using the components.Icon type, now accepts functions
  that return component instance like all other *Registration types

- Kept old fix for backwards compatability

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

* fix docs

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-04 19:18:31 +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
1b492f27ad
Allow to quick select/deselect all namespaces in NamespaceSelect (#2068)
* allow to quick select/deselect all namespaces in `NamespaceSelect`

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

* fixes & refactoring

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-03 19:01:45 +02:00
Arthur Lutz
e273bd71f2
Tray: change order of items, Open first (#2059)
Fixes #2032

Signed-off-by: Arthur Lutz <arthur.lutz@logilab.fr>
2021-02-02 16:07:13 +02:00
Jameel Al-Aziz
a2f4fac720
Allow namespace to specified on role creation (#2020)
* Allow users to specify the namespace when creating a custom role.
* Default role namespace remains the "global" namespace allowing for
  cluster role creatoin.

Signed-off-by: Jameel Al-Aziz <me@jalaziz.io>
2021-02-02 14:53:46 +02:00
Lauri Nevala
da1d0d162f
Add missing envFrom.secretRef property to IPodContainer (#2044)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2021-02-02 14:44:07 +02:00
Jari Kolehmainen
b5e7be7591
Initial command palette feature (#1957)
* wip: command palette

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

* register shortcut to global menu

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

* introduce openCommandDialog & closeCommandDialog

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

* fix ipc broadcast to frames from renderer

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

* tweak

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

* add more commands

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

* cleanup

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

* ipc fix

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

* add integration tests

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

* ipc fix

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

* implement workspace edit

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

* workspace edit fixes

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

* make tests green

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

* fixes from code review

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

* cleanup ipc

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

* cleanup CommandRegistry

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

* ipc fix

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

* fix ClusterManager cluster auto-init

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

* ensure cluster view is active before sending a command

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

* switch to last active cluster when workspace change

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

* tweak integration tests

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

* run integration tests serially

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

* cleanup

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

* fixes based on code review

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

* cleanup

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

* cleanup more

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

* cleanup

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

* add workspace fixes

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

* cleanup

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-02 12:34:13 +02:00
Alex Andreev
9e1487685c
Fix: charts stripes alignment (#2054)
* Align chart stripe on every dataset update

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

* Removing default stripes interval

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-02-02 11:45:45 +03: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
79234dcbf9
Fix jest window.matchMedia() error warnings (#2037)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-29 08:18:25 +02:00
Alex Andreev
3640f313b3
Enabling configurable columns for all major tables (#2029)
* Configurable columns in Deployments table

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

* Configurable columns in DaemonSets table

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

* Configurable columns in StatefulSets table

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

* Configurable columns in ReplicaSets table

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

* Configurable columns in Jobs table

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

* Configurable columns in CronJobs table

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

* Configurable columns in Nodes table

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

* Configurable columns in ConfigMaps table

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

* Configurable columns in Secrets table

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

* Configurable columns in ResourceQuota table

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

* Configurable columns in LimitRanges table

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

* Configurable columns in HPAs table

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

* Configurable columns in PodDistributionBudget table

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

* Configurable columns in Services table

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

* Configurable columns in Endpoints table

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

* Configurable columns in Ingresses table

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

* Configurable columns in NetworkPolicies table

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

* Configurable columns in Storage section

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

* Configurable columns in Namespaces table

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

* Configurable columns in Events table

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

* Configurable columns in Apps section

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

* Configurable columns in Access Control section

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

* Configurable columns in CRDs tables

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-28 12:18:45 +03:00
Jari Kolehmainen
a102ebad62
Bundle kubectl 1.18.15 (#2028)
* bundle kubectl v1.18.15

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

* bump kubectl version map

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-27 20:09:11 +02:00
Jari Kolehmainen
e3db77f7ab
Better extensionRoutes.keys() iteration (#2031)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-27 20:05:12 +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
Jari Kolehmainen
724c6c3265
Fix extension cluster submenu re-render (#1996) (#2027)
* fix extension cluster pages re-render when they are registered as a sub-menu item

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

* lint fix

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

* refactor

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-27 16:15:13 +02:00
Alex Andreev
9191d6bfd9
Always shows .menu table column (#2024)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-26 16:30:26 +03:00
Alex
9da349ce42
Display CPU usage percentage with 2 decimal points (#2000)
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
2021-01-22 16:51:42 +02: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
Alex Andreev
a92ed46f0d
Fixing tolerations list layout (#2002)
* Expanding tolerations div width

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

* Adding tolerations table

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

* Fixing tolerations table styles

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

* Adding <PodTolerations/> tests

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

* Add new line at the end of the file for linter

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-22 10:27:54 +03:00
Sebastian Malton
2e2283bcc9
enfore unix line endings and always ending files with line endings (#1997)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-01-21 08:09:41 -05:00
Alex Andreev
64be4ee948
Fixing log tab layout colors (#1995)
* Making "since" date visible as bolded text

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

* Fixing colors in log tab elements

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-21 10:38:49 +03:00
Alex
55759fb3b8
Add age column to cluster overview (#1970)
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
2021-01-20 14:31:20 +02:00
Roman
d8e088f352
fix: chart.digest is the same for all charts and not suited as unique id (#1964)
Signed-off-by: Roman <ixrock@gmail.com>
2021-01-19 14:15:37 +02:00
Jari Kolehmainen
31aa3cb571
Enable default workspace on first boot (#1965)
* enable default workspace on first boot

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

* refactor

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

* use get/set

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-19 06:30:05 +02:00
Lauri Nevala
0117cecc33
Prevent initializing clusters multiple times (#1950)
* Prevent initializing clusters multiple times

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Do not expose intializing to cluster state

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Convert initializing to observable and ensure it is set to false after init

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2021-01-15 16:11:41 +02:00
Alex Andreev
83ed44f670
Adding logs tab bottom toolbar (#1951)
* Adding bottom toolbar to logs tab

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

* Making bottom toolbar responsive

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

* Using generic search input clear button

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

* Fixing log test selectors

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-15 11:34:11 +03:00
Violetta
c48816ca5c
Add support for LimitRange (#1796)
Signed-off-by: vshakirova <vshakirova@mirantis.com>
2021-01-14 11:49:39 +03:00
pashevskii
12c538b0eb
Column filters (#1532)
* Column filters

Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>

* Add showWithColumn property

Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2021-01-13 10:38:20 +03:00
Jari Kolehmainen
11595abc93
Fix fill the gaps logic in normalize metrics (#1940)
* fix fill the gaps logic in normalize metrics

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

* fix

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

* fix

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-12 12:01:06 +02:00
Alex Andreev
b1ab31831f
Fixing multiline logs wrapping (#1938)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-12 09:50:35 +03:00
Alex Andreev
131a6fb410
Getting api by kind when editing an object (#1936)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-11 15:43:13 +03:00
Roman
b547541ea8
fix: events pages renders incorrect tooltip as non-parsed template (#1919)
Signed-off-by: Roman <ixrock@gmail.com>
2021-01-08 17:01:23 +02:00
Jari Kolehmainen
da2cc70141
Fix windows tray icon click (#1908)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-08 16:44:33 +02:00
Sebastian Malton
3fc552a466
remove array desctructor of Object.values, which is brittle (#1854)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-01-08 09:41:30 -05:00
Jari Kolehmainen
02bc210f56
Catch xtermjs fit error (#1907)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-07 13:06:23 +02:00
MIchael Bowen
2543e4aec7
Fix encoding typo in ClusterAccessibleNamespaces component title (#1901)
Signed-off-by: mbowen <mbowen@blackrock.com>
2021-01-07 09:00:32 +02:00
Hannes Wüthrich
c4eb9ba39a
Fix typo in prometheus ingress metrics (#1896)
Signed-off-by: Hannes Wüthrich <hannes.wuethrich@zebbra.ch>
2021-01-07 07:29:12 +02:00
Jari Kolehmainen
8823b1913f
Reset stores before loading them (#1897)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-07 07:25:00 +02:00
Lauri Nevala
8d2d1aecd5
Expose NamespaceSelect component to extensions (#1880)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2021-01-05 10:52:46 +02:00
Jari Kolehmainen
06d41acc26
Fix Electron 9.4 frame ipc bug (#1888)
* use pid+frameId

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

* use correct process id

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-01-04 14:16:35 +02:00
Sebastian Malton
981ca3ba3d
add version display to extensions (#1604)
* add version display to extensions

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

* use new format

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

* fix styling

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-30 10:47:22 +03:00
Alex Andreev
e9296286bd
Fix long list cropping in sidebar (#1877)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-30 09:14:01 +02:00
Lauri Nevala
4cb2943ef0
Share react-router and react-router-dom libraries to extensions (#1879)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-30 09:13:18 +02:00
Roman
b8752f7127
Don't open Lens at OS login by default, close #1697 (#1859)
Signed-off-by: Roman <ixrock@gmail.com>
2020-12-30 01:56:46 +02:00
Violetta
fd63f2f4e3
Add suspend/resume button for CronJobs (#1860)
Signed-off-by: vshakirova <vshakirova@mirantis.com>
2020-12-29 17:19:23 +02:00
Alex Andreev
819811e3e6
Disabling GPU acceleration by setting env variable (#1870)
* Disabling GPU by setting env variable

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

* Moving fuzzy bug description into docs FAQ

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

* Fix lint error

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-29 17:11:18 +02:00
Jari Kolehmainen
a03da3c572
Remove lingui (#1874)
* remove lingui

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

* babelless

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

* tweak ts-loader options

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

* tweak renderer webpack config

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-29 14:53:34 +02:00
Alex Andreev
050603a7b3
Applying dark colors to dock regardless of active theme (#1873)
* Appliying dark colors on dock contents

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

* Fix lint error

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-29 13:54:22 +03:00
Lauri Nevala
cfbe4219d5
Show toolitp for node name in the nodes list (#1841)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-29 09:22:44 +02:00
Alex Andreev
5d746cdff5
Dock tabs context menu (#1863)
* Adding context menu to dock tabs

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

* Allowing to open menu by contextmenu event

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

* Adding DockTab tests with fine-tuning jest config

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

* Adding disable state to menu items

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

* Removing empty lines

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

* Moving jest-canvas-mock to dev dependencies

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-28 15:18:03 +03:00
pashevskii
a325ffd610
Clear Add Namespace and Add secret form data on close (#1771)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-12-28 12:20:33 +03:00
Mario Sarcher
00c2c2c3c9
Catch HTTP Errors in case pod metrics resources do not exist or access is forbidden (#1755)
Signed-off-by: Mario Sarcher <msarcher@mirantis.com>

Add proper error message when catching a error during loadKubeMetrics()

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Mario Sarcher <msarcher@mirantis.com>

Co-authored-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2020-12-28 11:06:16 +02:00
pashevskii
21e6616cc0
Export wizard components (#1784)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-12-28 11:01:56 +02:00
Lauri Nevala
2643f9939b
Unify Age column output with kubectl (#1822)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-28 09:32:20 +02:00
Lauri Nevala
ffa48b32d1
Check is persistent volume claims resource to allowed for user (#1850)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-28 08:08:11 +02:00
Lauri Nevala
e8dc4d2465
Fix k0s distribution detection (#1849)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-28 08:07:45 +02:00
Alex Andreev
eb5a775a2d
Preserving line breaks when copiyng logs (#1851)
* Adding line break after log each log line

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

* Adding comment for line break

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-23 15:20:57 +03:00
Jari Kolehmainen
206c040ae9
Fix alibaba distro detect (#1818)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-23 13:13:42 +02:00
Jari Kolehmainen
09fc7c5f39
Fix tencent distribution detect (#1816)
* fix tencent distribution detect

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

* Change method orders to avoid conflicts

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-23 13:12:44 +02:00
Jari Kolehmainen
206c88ea52
Fix vmware distro detect (#1817)
* fix vmware distro detect

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

* Change method orders to avoid conflicts

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-23 13:12:25 +02:00
Jari Kolehmainen
bfa4970389
Workloads overview: don't block on store load (#1829)
* workloads overview: don't block on store load

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

* subscribe after loadAll

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 13:12:05 +02:00
Lauri Nevala
5b5dd335e7
Fix Kubectl 1.18 version in version map (#1846)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-23 11:58:32 +02:00
Jari Kolehmainen
99c8025cb7
Disable oh-my-zsh auto-update prompt when resolving shell environment (#1848)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 11:58:15 +02:00
Jari Kolehmainen
75c70a1141
Fix extension loader race conditions (#1815)
* fix extension loader race conditions

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

* cleanup

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

* fix tests

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

* fix remove

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

* ensure symlinked (dev) extensions are installed on boot

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 11:56:11 +02:00
Alex Andreev
507c485113
Fixing logs scrolling state (#1847)
* Passing raw logs to PodLogs child components

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

* Avoid autoscrolling while user is scrolling

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

* Removing status panel from log controls

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-23 11:51:43 +03:00
Jari Kolehmainen
90da642b8a
Add kubectl v1.20 to version map (#1809)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 08:51:47 +02:00
Jari Kolehmainen
f834c7a61b
Fix huawei distro detect (#1819)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 08:30:48 +02:00
Jari Kolehmainen
24b5d2dff9
Optimise Cluster.getAllowedResources() (#1830)
* optimise Cluster.getAllowedResources()

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

* make it faster (max 5 concurrent requests)

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-22 16:09:52 +02:00
Roman
be4e1aa15c
Navigation refactoring, handling extension page params (#1651)
* decentralizing page url-params management -- PoC / tsc 4.1 random fixes

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

* fixes, tweak example-extension for demo

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

* lint fixes, revert tests

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

* removed occasional changes related to typescript 4.1

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

* updated example with 2 menu-items targeting same page with different params

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

* fix: merge page url chunks with native URL()-api, simplified default page-params registration

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

* fix: make lint happy

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

* fix: unit-tests

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

* renaming by jim's request: UrlParam => PageParam (type), createUrlParam => createPageParam (helper)

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

* fix: reverting NamespaceStore public-api breaking changes

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

* lint fix

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

* fine-tuning

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

* yes, lint always unhappy

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

* fix build

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

* small fixes

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

* fix merge-conflicts

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

* removed `isSystem` page-param's init field exposed to extensions-api

Signed-off-by: Roman <ixrock@gmail.com>
2020-12-22 15:29:25 +02:00
Lauri Nevala
11c611dabe
Display node column in pods list (#1832)
* Display node column in pods list

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Adding flat option to <Badge />

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

* Removing <Span /> component

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

* Using badge with tooltips in pods list

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

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-22 15:45:30 +03:00
Roman
d281ff4a21
Fix: missing dependent types for Select and Slider components (#1828)
* Types for Select and Slider components are not fully exported, fix #1824

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

* remove unused @types/material-ui package

Signed-off-by: Roman <ixrock@gmail.com>
2020-12-22 14:38:06 +02:00
Jari Kolehmainen
270fadf6fe
Fix namespace store subscribe (#1826)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-22 07:43:34 +02:00
Lauri Nevala
e8f36e97a3
Parse jsonPath expressions (#1793)
* Fix jsonPath calls by removing \ characters and using $..[] notation

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Parse jsonPath properly

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Cleanup

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* More cleanup

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Improve parsing

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Finetuning

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Stringify children only if value is object or array

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Test other escaped characters do not cause issues

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-21 22:16:57 +02:00
Jari Kolehmainen
c8a93414b2
Render node list before metrics are available (#1827)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-21 22:15:08 +02:00
Jari Kolehmainen
c839e6fdfc
Fix proxy retry counter cleanup on success (#1825)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-21 22:10:32 +02:00
Alex Andreev
42817a6d97
Fix: expand/collapse state for CRD sidebar items (#1751)
* Moving SidebarNavItem component to its own file

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

* Using id prop to preserve expanding state

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-12-18 15:42:10 +02:00