Commit Graph
507 Commits
Author SHA1 Message Date
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 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 KolehmainenandRoman 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
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
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
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
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 KolehmainenandLauri Nevala 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 KolehmainenandLauri Nevala 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 KolehmainenandLauri Nevala 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
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
Jari Kolehmainen 804492251d Fix MacOS error on shutdown (#1798)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-18 08:17:27 +02:00
Lauri Nevala 64888652c4 Fix Azure distribution detection (#1795)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-17 19:56:24 +02:00
Jari Kolehmainen de7bd32bc2 Fix Openshift distribution detector (#1792)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-17 19:54:30 +02:00
Sebastian Malton be3aa88fd4 use remote.app if app is not defined (#1785)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-17 08:24:25 -05:00
Panu Horsmalahti 3300a99a78 Display error dialog if extensions couldn't be loaded (#1752)
* Display error dialog if extensions couldn't be loaded
* Reject npm install on failure using the process exit code

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-14 09:23:59 +02:00
Jari Kolehmainen 2a7fc87134 Ensure only one app instance (#1742)
* force only one app instance

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

* fix

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-13 19:11:37 +02:00
Jari Kolehmainen fc20b22bb5 Do not call initMainWindow if windowManager is not ready (#1714)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-09 09:19:28 +02:00
pashevskii b7e5fb78d9 Add posibility to add custom repository (#1368)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-12-08 15:54:49 +03:00
Jari Kolehmainen 8f27559053 Tag cluster & workspace as beta features in extension api (#1589)
* mark cluster & workspace as beta

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

* back to public

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-07 13:38:40 +02:00
Jari Kolehmainen 4ea265671b Detect Openshift (#1625)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-07 09:17:19 +02:00
Lauri Nevala f95c2d1c91 Add timeout to app start and cluster add events (#1631)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-03 20:01:06 +02:00
Jari Kolehmainen 67f3f83610 Performance fix when cluster has lots of namespaces (#1640)
* performance fix when cluster has lots of namespaces

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

* fix tests

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-03 14:56:32 +02:00
Jari Kolehmainen ac35bab987 Fix 'cannot read property hide of null' error on quit (#1594)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-03 14:55:19 +02:00
Jari Kolehmainen 3c51e746bd Detect kind (#1619)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-03 08:07:47 +02:00
Jari Kolehmainen 87f1a39dca Detect Docker Desktop (#1623)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-02 19:13:57 +02:00
Jari Kolehmainen 13914a8bea Detect Mirantis Kubernetes Engine (#1622)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-02 19:13:32 +02:00
Lauri Nevala b128f55006 Add run tests step to Windows pipeline (#1610)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-02 16:44:44 +02:00
Lauri Nevala 2062b376a0 Detect rancher distros (#1617)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-02 16:27:00 +02:00
Lauri Nevala 6d5e18ea7d Detect microk8s distribution (#1616)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-02 16:07:06 +02:00