Commit Graph
301 Commits
Author SHA1 Message Date
Jari Kolehmainen 8739baab5b Replace cluster warning event polling with watches (#1521)
* replace cluster warning event polling with watches

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

* cleanup

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

* fix loadAll calls

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

* tweak

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-26 09:39:16 +02:00
Lauri Nevala 236852774a Fix pod usage metrics on Kubernetes >=1.19 (#1514)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-25 15:34:33 +02:00
Roman 77ae31550a Allow to install packed extensions from URL or local file (#1456)
* Option to install an extension from filesystem/url #1227 -- part 1 (UI)

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

* DropFileInput: common component to handle droped files (replaced also in add-cluster-page)

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

* fix: install via url-string on input.submit

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

* ui tweaks & minor fixes

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

* more ui/ux tweaks & fixes

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

* layout fixes

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

* component renaming: `copy-to-click` => `copy-to-clipboard` => `clipboard`

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

* reworks -- part 1

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

* fix downloading file, added common/utils/downloadFile

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

* confirm before install, unpack tar first steps

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

* installation flow, extracting .tgz

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

* clean up, fix lint issues

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

* update .azure-pipelines.yml

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

* fixes & refactoring

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

* fix lint harder :/

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

* fix validation

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

* fix validation harder

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

* responding to comments, fixed package validation

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

* common/utils/tar.ts: reject with Error-type

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

* fix: unit-tests

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-25 09:55:28 +02:00
Sebastian Malton 4e6b8ee10e Add designated folder for extensions (#1245)
* add store for mapping extension names to filesystem paths

- add extension mechinism for getting a folder to save files to

- add test to make sure that extensions are being loaded

- skip extension loading test

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-24 10:28:08 -05: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
Panu Horsmalahti 2a8cfe5e67 Add React Developers Tools (#1410)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 12:45:12 +02:00
Panu Horsmalahti c79cee0311 Watch for added/removed local extensions (#1482)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 10:48:40 +02:00
Lauri Nevala 19150fca84 Catch errors return error response when fetching chart or chart values fails (#1478)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-23 13:45:07 +02:00
Jari Kolehmainen 2f17a7ec67 Replace support-page extension with a link to the documentation support page (#1469)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-23 13:01:40 +02:00
Lauri Nevala 6a0dd4edfb Replace deprecated stable helm repository with bitnami (#1479)
* Replace deprecated stable repo with bitnami

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-23 09:07:37 +02:00
8c73861962 Open last active cluster after switching workspaces (#1444)
* Save and restore lastActiveClusterId

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

* Activate clusters from workspaces page

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

* Fix saving last cluster while jumping from tray

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

* Adding workspace switch tests

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

* Remove console.log()

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

* Cleaning up

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

* Clean duplicated ClusterId definition

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

* Moving lastActiveClusterId field into WorkspaceModel

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

* fix extensionLoader error on dev environments where renderer might start early (#1447)

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

* Add Search by Ip to Pod View (#1445)

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

* Make BaseStore abstract (#1431)

* make BaseStore abstract so that implementers are forced to decide how to store data

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

* Enforce semicolons in eslint

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Add a few missing folders to be linted.

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Use @typescript-eslint/semi.

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>

* Allow extension cluster menus to have a parent (#1452)

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

* fix SwitchCase indent rule in eslint (#1454)

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

* Revert "fix SwitchCase indent rule in eslint (#1454)"

This reverts commit 082774fe6e.

* Revert "Allow extension cluster menus to have a parent (#1452)"

This reverts commit 622c45cd6d.

* Revert "Use @typescript-eslint/semi."

This reverts commit 890fa5dd9e.

* Revert "Add a few missing folders to be linted."

This reverts commit c7b24c2922.

* Revert "Enforce semicolons in eslint"

This reverts commit ca67caea60.

* Revert "Make BaseStore abstract (#1431)"

This reverts commit 4b56ab7c61.

* Revert "Add Search by Ip to Pod View (#1445)"

This reverts commit 4079214dc1.

* Revert "fix extensionLoader error on dev environments where renderer might start early (#1447)"

This reverts commit 8a3613ac6f.

* Split workspace tests to smaller ones

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

* Missing semicolons

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

* Split workspace tests a bit more

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

* Adding extra click in Add Cluster button

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

* Adding more awaits to check running cluster

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

* Wait for minikube before running tests

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

Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: pashevskii <53330707+pashevskii@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-20 14:53:28 +03: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 460dfe4d2b Use @typescript-eslint/semi.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 18:12:52 +02:00
Panu Horsmalahti 1477bb8274 Enforce semicolons in eslint
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 16:35:04 +02:00
Jari Kolehmainen d60eee20cc fix extensionLoader error on dev environments where renderer might start early (#1447)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 16:11:58 +02:00
Jari Kolehmainen 5589a99e7e Fix TypeError: Cannot read property 'stopServer' of undefined (#1440)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 13:48:43 +02:00
Jari Kolehmainen 5aaacb21f9 Refactor ipc module (#1225)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 11:48:13 +02:00
Jari Kolehmainen c4b98534dc kube-auth-proxy: accept only target cluster hostname (#1433)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 08:32:07 +02:00
Lauri Nevala 3197e3a1fe Catch errors when responding from proxy error (#1416)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 12:33:53 +02:00
Lauri Nevala 126e1ff7a8 Reorder File menu (#1420)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 11:03:38 +02:00
Lauri Nevala 04517148c0 Add computed name property to cluster (#1428)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 09:12:11 +02:00
Lauri Nevala d19eb57037 Track service start and stop events (#1414)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-18 08:55:57 +02:00
Sebastian Malton 25be6401e2 cleanup main side of metrics route for readability (#988)
* cleanup main side of metrics route for readability

* split out ??= for headers

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-16 10:43:53 -05:00
Alex Andreev d612626801 Adding Extensions item for non-mac menu (#1392)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-16 13:50:32 +03:00
techknowlogick fce05c6cb2 Use latest alpine version (3.12) for shell sessions (#1384)
Signed-off-by: Matti R <matti@mdranta.net>
2020-11-16 12:09:21 +02:00
Sebastian Malton 4d3204766b add retry cap to handleStaticFile to prevent an infitite loop (#1373)
* add retry cap to handleStaticFile to prevent an infitite loop

* 'yarn -> yarn run' for node_module dependencies

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-13 15:45:57 -05:00
Jari Kolehmainen 4222359bd6 Add LensRendererExtension.navigate (#1345)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 10:30:57 +02:00
Jari Kolehmainen 00be4aa184 Remove windowManager from extension api (#1323)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-11 21:55:49 +02:00
Jim Ehrismann 033a91f002 implemented app menu testing support (#1105)
* implemented app menu testing support

* addded Preferences page helm repo test

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2020-11-09 15:10:30 -05:00
Sebastian MaltonandSebastian Malton d0ada00a18 Add mechanism for users to specify accessible namespaces (#702)
* Add mechanism for users to specify namespaces that are accessible to them. This is generally useful for when the user doesn't have permission to list the namespaces.

- Add new component "EditableList" which provides a simple way to
  display a list of items that can be added too.

- Add the ClusterAccessibleNamespaces to the GeneralClusterSettings

- style editable list list of lists, switch to using <>

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

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-11-09 10:45:09 -05:00
chh 85f0ef8c2e Add webpack hot-reload/cache plugins to improve Lens DX (#1250)
* Add webpack-dev-server (for hot module replacement) to serve statics, add HardSourceWebpackPlugin to improve re-compiling speed

* Serve statics using webpack-dev-server instead of lens-proxy, redirect request of Lens.html/Lens.js to webpack-dev-server

* Add react-refresh-webpack-plugin and its dep for hot-reload

* Add hot-reload plugin, and make proxy redirects requests to webpackdevserver

* Add hard-source webpack plugin to main process

* Remove parameter 'path' of handleStaticFile

* Upgarde webpack to v4 latest stable

* Fix build error: plugins shouldnt be null

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-09 21:04:41 +08:00
Roman 94ac081588 Extensions api fixes (#1233)
* fix: create extension instance only when enabled

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

* mark extension.isEnabled with private modifier

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

* try-catch errors for extension.disable()

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

* fixes & refactoring

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

* make ext.isBundled non optional

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-07 18:56:26 +02:00
3bc45218c1 Documentation (MKDOCS) (#1230)
Co-authored-by: Steve Richards <srichards@mirantis.com>
Co-authored-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: steve richards <steve.james.richards@gmail.com>
Co-authored-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: pauljwil <pauljwil@gmail.com>
2020-11-05 16:38:56 +02:00
RomanandAlex Andreev f9578ba407 UI for enabling/disabling extensions (#1208)
* Extensions page and menu item

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

* Basic extension list view

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

* Adding get userExtensions filter

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

* Using WizardLayout at extension page

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

* Adding search to extension page

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

* Few style fixes

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

* clean up

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

* added folder-icon to open extensions in finder, refactoring

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

* remove export warnings in dev:main, tooltip.getPosition() fix

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

* refactoring base lens-extension.ts, added `isBundled` flag

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

* added enabled/disable buttons

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

* auto enable/disable extensions -- part 1

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

* auto enable/disable extensions -- part 2

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

* auto enable/disable extensions -- part 3

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

* auto enable/disable extensions -- part 4

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

* refactoring & fixes

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

* fix: use page-layout with fullsize viewport

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

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-04 19:25:36 +02:00
Jari Kolehmainen c7f77a01f9 Fix UI staleness after network issues (#1192)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-02 14:51:04 +02:00
Roman 32ca885596 License extension (#1174)
* License menu item should come from an extension #1141

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

* fix: expose `Util.openExternal` via extensions-api

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

* move LICENSE back to root

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-02 13:03:00 +02:00
Jari Kolehmainen da862db0b9 Fix proxy upgrade socket timeouts (#1190)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-02 08:17:08 +02:00
Lauri Nevala f126264d47 Telemetry improvements (#1180)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-30 16:09:59 +02:00
Jari Kolehmainen 4a6553967d Improve how extensions can manage cluster/workspace stores (#1176)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 09:45:09 +02:00
334815f71a Tray icon (#1005)
* Tray icon #833 -- part 1

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

* Tray icon #833 -- part 2

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

* Tray icon #833 -- part 3

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

* Tray icon #833 -- part 4

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

* fix: lint / linux build failed

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

* allow to disable tray from preferences

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

* allow to tweak svg-icon before applying as tray-icon

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

* add checkbox indication, setActive workspace on cluster select

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

* fix build version (cannon find module 'react')

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

* - switching dark/light icon depending on os-x theme settings
- optimization: don't re-create tray icon on menu udpates (avoid blinking)

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

* fix: refresh icon after turning on/off + switching dark-mode

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

* allow to close main window and re-open from dock or tray icon

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

* small fix

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

* fix: ensure main-window from global menu

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

* chore

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

* fix: hide traffic-light buttons for tray window

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

* removed redundant tray window

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

* removed delay from base-store

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

* adding cluster fix (reverted changes from master)

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

* - hide icon in dock when main-window closed (mac-os only)
- added preferences checkbox to open app at system start-up

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

* handle quit app action from tray menu

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

* moved generating tray icons to build step

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

* Fix integration tests (#1080)

* Fix integration tests

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

* Update integration/helpers/utils.ts

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

Co-authored-by: Sebastian Malton <sebastian@malton.name>

* fix-build: invisible app icon when there are more files within "build/icons/*.png"

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

* chore

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

* yarn i18n.extract

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

* clean-up

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

* navigation refactoring, move out `buildUrl` to common/utils so `react` and `react-router` not required as package.json dependecies in runtime (main)

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

* Ignore namespace query param on integration tests (#1109)

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

* merge-conflicts fixes

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

* support page fixes

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

* make eslint happy again

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

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2020-10-27 15:25:29 +02:00
Jari Kolehmainen 4e8bdace79 Merge branch 'master' into extensions-api
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-27 09:24:27 +02:00
Roman 48d8d985ae FIX: Duplicate "support" items in menu (#1140)
* Duplicate "support" items in menu, fix #1128

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

* clean up (contents moved to extensions/core-api/index.ts)

Signed-off-by: Roman <ixrock@gmail.com>
2020-10-26 13:07:26 +02:00
Jari Kolehmainen 62ae7771df Allow extensions to define cluster features (#1125)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-26 08:21:22 +02:00
RomanandJim Ehrismann f3a0059355 Extension support page (#1112)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
2020-10-24 09:24:54 +03:00
Lauri Nevala 2a9d39a8b9 Test is user cluster admin on cluster activate (#1116)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-23 10:05:44 +03:00
Lauri Nevala ce995f3deb Implement cluster metadata detectors (#1106)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-22 21:45:54 +03:00
Jari Kolehmainen 91bef77997 Extension store base class + rename main/renderer-extensions -> extensions (#1107)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-21 13:55:50 +03:00
Jari Kolehmainen 8f8dd9eb45 Extension npm packaging preparations (#1103)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-20 20:25:51 +03:00
Jari Kolehmainen c566c85351 Move tracker to telemetry extension (#1092)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-19 11:56:08 +03:00
Lauri Nevala bdd0f0b604 Fetch Helm available repositories from Artifact HUB cache (#1090)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-16 17:10:37 +03:00