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

28 Commits

Author SHA1 Message Date
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
Panu Horsmalahti
dcf253e7d5
Add eslint rule padding-line-between-statements (#1593)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-02 09:55:52 +02:00
Panu Horsmalahti
335778aeef
Enforce template strings in eslint (#1574)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-30 15:35:16 +02:00
Sebastian Malton
7451869c25
add no-unused and react/recommended to eslint (#1523)
* add no-unused-vars and no-unused-imports

* added quotes: double, and remove ignore pattern

* move itif and describeif into utils

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 08:48:38 -05:00
Lauri Nevala
badabff90e
Store prometheus cluster metadata based on metrics request responses (#1438)
* Store prometheus metadata for clusters based on metrics requests

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

* Use ClusterMetadataKey.PROMETEHUS as key

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

* Update metadata only if it is changed

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

* Use structural comparer as default for store sync reaction

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

* No need to compare metadata as json anymore

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

* Use structural comparer only in cluster-store

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

* Refactoring

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

* React only prometeheus preference changes to re-initialise prometheus connection

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

* Add missing semicolons

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

* Fix imports

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

* Report metrics status in cluster-report (#1443)

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>

* Fix logger reference

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

Co-authored-by: Sebastian Malton <sebastian@malton.name>
2020-11-26 09:41:47 +02:00
Panu Horsmalahti
ff93760dc4
Enable object-shorthand rule (#1500)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 13:16:35 +02:00
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
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
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
Jari Kolehmainen
78f6f8ef54
Fix bundled kubectl path on dev env (#981)
* fix bundled kubectl path on dev env

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

* fix specs

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-14 14:35:33 +03:00
Tim Urista
4a8d1ab205
Set max timeout to 15 seconds to prevent failed opening of local port (#732)
Signed-off-by: Tim Urista <timothy.urista@gmail.com>
2020-08-24 09:27:30 +03:00
Roman
5670312c47
Migrating Vue components to React and stores refactoring (#585)
Signed-off-by: Roman <ixrock@gmail.com>

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-08-20 08:53:07 +03:00
Jim Ehrismann
693017d2ec
adding port-forward for containers in pods (#528)
* adding port-forward for containers in pods

address review comments

use more idiomatic approach for async code

move some files in advance of merge conflict with Lens restructure work

* Separate the port forward links in the UI (so they don't all spin when one link is clicked)

* minor fixes

* addressed review comments (replaced <p> with <div>, moved key attribute to proper element)

* fix lint issue

* removed extraneous <div> from pod container port details

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2020-08-07 11:30:37 -04:00
Jussi Nummelin
55687b7d35
Kubeconfigs as file references (#466)
Signed-off-by: Jussi Nummelin <jussi.nummelin@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-07-03 16:53:23 +03:00
Roman
b7974827d2
Lens restructure (#540)
Signed-off-by: Roman <ixrock@gmail.com>
2020-06-30 14:35:16 +03:00
Jari Kolehmainen
a7cb8d2d04
Dynamic dashboard UI based on RBAC rules (#366)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-06-05 08:38:56 +03:00
Adam Malcontenti-Wilson
e21e0b577b
Replace admin check with check for access (#297)
Signed-off-by: Adam Malcontenti-Wilson <adman.com@gmail.com>
2020-05-09 18:25:34 +03:00
Lauri Nevala
bba6eb743d
Add support for Prometheus api prefix (#341)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-05-06 20:37:32 +03:00
Jari Kolehmainen
5c1974f07b
Auto-detect prometheus installation (#343)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-05-06 18:55:49 +03:00
Alexis Deruelle
6412d73a5a
Fix port availability test (#333)
* Let OS allocate port number

Port availability might be tricky if some port is already in use on the
'all' interface '0.0.0.0'.

The proposed solution is to let the OS allocate the port for us using 0
as port specifier :

- first create a server instance to allocate a port number
- save port number
- close the server
- return the port number to the caller

This should be safe granted the OS doesn't reuse the port numbers on
consecutive port allocations.

see :
- about Node.js Net module : https://nodejs.org/docs/latest-v12.x/api/net.html#net_server_listen_port_host_backlog_callback
- about safety around reusing port number : https://unix.stackexchange.com/a/132524

Signed-off-by: Alexis Deruelle <alexis.deruelle@gmail.com>
2020-05-05 07:31:58 +03:00
Lauri Nevala
724cf0c687
Allow to select Prometheus query style (#312)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-05-01 09:37:05 +03:00
Lauri Nevala
01e2ef50b1
Update @kubernetes/client-node to 0.11.1 (#278)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-04-20 16:17:59 +03:00
Jari Kolehmainen
806d8c6716
Initial port-forward implementation for services (#231)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-04-10 11:05:37 +03:00
Jari Kolehmainen
2593f70184
Always end watch stream if connection to kube-api ends (#217)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-04-04 18:26:42 +03:00
Christopher Biggs
70abf73176
SelfSubjectAccessReview use 'pods' resource (#204)
Signed-off-by: Christopher biggs <christopher.l.biggs@gmail.com>
2020-04-03 19:44:50 +03:00
Jari Kolehmainen
39fdcdb54a
Don't retry metrics on 404 status code (#152)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-03-24 19:06:56 +02:00
Jari Kolehmainen
1aaa695cfe
Refactor dashboard server logic to electron main (#146)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-03-24 07:37:47 +02:00