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

227 Commits

Author SHA1 Message Date
Sebastian Malton
65274f0d5f Merge branch 'master' of github.com:lensapp/lens into feature/protocol-handler
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-18 10:04:15 -05:00
Jari Kolehmainen
4ce618b4d4
Trigger quitAndInstall after update-downloaded event (#2181)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-18 13:36:35 +02:00
Jari Kolehmainen
32908883f8
Windows: use SHELL for terminal if set (#2168)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-02-18 07:30:48 +02:00
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
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
Sebastian Malton
270d0f7a63 Add logging and fix renderer:loaded send to main
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-10 13:51:11 -05:00
Sebastian Malton
311178f8d7 switch to event emitting renderer being ready
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-09 16:01:23 -05:00
Sebastian Malton
42928a845f Merge branch 'master' of github.com:lensapp/lens into feature/protocol-handler
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-09 11:09:36 -05: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
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
Sebastian Malton
96e3c52ae2 Merge branch 'master' of github.com:lensapp/lens into feature/protocol-handler
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-04 14:13:44 -05: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
4ad4e47006 Merge branch 'master' of github.com:lensapp/lens into feature/protocol-handler
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-04 08:29:24 -05: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
Sebastian Malton
31534317d8 fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-03 13:39:45 -05:00
Sebastian Malton
f2df7c764e improve docs, export types for extensions, skip integration tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-03 10:03:37 -05:00
Sebastian Malton
d3f8ebcf76 revert bad rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 17:03:41 -05:00
Sebastian Malton
8e9a0cc4b7 add waiting for renderer and extensions to load before broadcasting handlers
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 16:28:52 -05: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
Sebastian Malton
aa5909bdd1 get protocol handling working for linux
Signed-off-by: Sebastian Malton <smalton@mirantis.com>
2021-02-02 08:51:05 -05:00
Sebastian Malton
117c833e2c testing handling on linux
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:49:48 -05:00
Sebastian Malton
f8b36055f5 fix unit and integration tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:49:46 -05:00
Sebastian Malton
f97002828f change internal hostname to app, revert spacing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:49:33 -05:00
Sebastian Malton
bfc335a43c fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:46 -05:00
Sebastian Malton
4a98d9717d reintroduce renderer routing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:45 -05:00
Sebastian Malton
6c4c2b714b Fix unit tests and update docs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:28 -05:00
Sebastian Malton
2544ba9e09 Convert the extension API to use an array for registering handlers
- switch design to execute both main and renderer handlers
  simaltaneously, without any overlap checking

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:26 -05:00
Sebastian Malton
e7ee7fe2b0 Auto-clean extension handlers on deactivation
- remove handlers when an extension is deactivated or removed

- make sure that the found extension when routing a request is currently
  enabled (as a backup)

- added documentation about the above behaviour to the guide

- tweaked the naming convension so that it is clearer that the router
  uses extension names as not IDs (which currently are folder paths)

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:03 -05:00
Sebastian Malton
8430b67d55 Add lens:// protocol handling with a routing mechanism
- document the methods in an extension guide

- add integration test to make sure that all tested OSes work as
  intended

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-02-02 08:48:01 -05: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
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
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
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
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
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
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
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
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
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
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
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
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
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