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

51 Commits

Author SHA1 Message Date
Sebastian Malton
49f0a1af9c
Remove BaseStore<T> and replace with composition of dependencies (#7002)
* Rename ExtensionStore -> BaseExtensionStore
- The name was too close to ExtensionsStore

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

* Move ExtensionsStore to new format

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

* Move ClusterStore to new format

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

* Move UserStore to new format

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

* Cleanup types to remove multiple cast locations

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

* Move HotbarStore to new format

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

* Move WeblinkStore to new format

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

* Move FileSystemProvisionerStore to new format

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

* Update snapshots

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

* Clean up impl and rename to better describe intent

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

* Fix remaining type errors

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

* Fully split apart the enabled extensions storage

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

* Fully split apart the clusters storage

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

* Fully split apart the hotbar storage

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

* Fully split apart the weblinks storage

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

* Fully split apart the user preferences storage

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

* Fix crashing

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

* Fix tests and snapshots

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

* Fix integration test failures

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

* Improve typing to prevent errors in the future.

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

* Cleanup @k8slens/messaging and friends

- To fix type errors

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

* Fix lint issue

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

* Fix type errors

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

* Fix global override not being complete enough causing tests to fail

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

* Bump memory for unit tests on CI

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

* Attempt to fix memory issue on CI again

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

* Fixup test because of new injectables

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

* Upgrade Jest

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

* Fix unit tests falling over

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

* Back out jest config change

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

* Remove console log

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

* Update snapshot

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

* Fix tests by matching equality instead of snapshots

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

* Fix tests by forcing specific snapshot style

- Ubuntu CI seems to format arrays in snapshots differently than macOS locally

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-28 17:54:25 +03:00
Roman
3931c90d30
Support using Eviction API where applicable (#7372)
* Support using Eviction API when deleting Pods and Deployments, fix #5602

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

* fix: `KubeStatus` message/status/info full explanation

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

* added some tests for `PodApi.evict(resourceDescriptor)`

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

* revert props.editable & props.removable for `KubeObjectMenu`

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

* revert props.editable & props.removable for `KubeObjectMenu` -- missing parts

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

---------

Signed-off-by: Roman <ixrock@gmail.com>
2023-03-23 12:16:50 -04:00
Sebastian Malton
4b1d740d61
Fix behaviour of auto generated CRD KubeApis and KubeObjectStores (#7384)
* Simplify CRD KubeApi registrations

- Switch to auto injectable registrations

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

* Make sure that stores can still be retrieved

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

* Cleanup get extension fake to simplify impl

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

* Simplify logic for extensionInjectable

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

* Fix test in differencing registrator

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

* Cleanup code style

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

* Fix some tests

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

* Fix HPA details tests

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-22 17:51:26 +02:00
Sebastian Malton
8a80607d85
Add behavioural tests for Cluster Menu K8s Resources in Sidebar menu not being shown (#7280)
* Add behavioural tests to cover bug fix

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

* Remove previous fix to fix last test

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

* More consistent impl of flushPromises

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

* Fixup tests

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

* Remove ContextHandler test (dead code)

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

* Fix PrometheusHandler describe text

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

* Fix type errors

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

* Add useful case test-utils helper

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

* Rename file to match token

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

* Cleanup tests to fix type errors and use tables

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-21 22:00:12 -04:00
Sebastian Malton
5409324236
Revert "Renderer file logging through IPC" (#7393)
This reverts commit 48db54ec9e.
2023-03-21 16:13:27 -04:00
Sami Tiilikainen
48db54ec9e
Renderer file logging through IPC (#7300)
* Renderer file logging through IPC

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Remove pagehide event listener as it may cause UI to freeze

Pagehide was needed in cluster frame to better handle main frame close/reload situation. But even empty pagehide listener in cluster frame seems to freeze the UI at least on some situations (multiple clusters open).

Beforeunload is not always executed in cluster frame when main frame is reloaded/closed, leaving log files open. To fix that, `stopIpcLoggingInjectable` is introduced to close all log files.

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Remove unnecessary formatting changes

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Lint fix

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Winston logger override

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Remove usage of doGeneralOverrides as it has been removed

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Update imports to match the new base

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Remove unnecessary id

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Review improvements

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Extract beforeunload listener to injectable

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Typo fix

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

---------

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
2023-03-21 15:04:22 -04:00
Jari Kolehmainen
a920f2c057
Electron 22.3.3 (#7389)
* electron 22.3.3.

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

* fix typo

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

* fix crash on quit

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

* fix sessionData app path

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

* Fix errors after merging new feature

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

---------

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2023-03-21 11:07:27 -04:00
Janne Savolainen
0f1f030a06
Switch to using messaging and startable stoppable from NPM package (#7368)
* Add custom jest resolver to fix requiring "uuid" module

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update dependencies

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Introduce test utils for rendering and running with thrown mobx reactions

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Extract startable-stoppable to NPM package

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Extract messaging to NPM package

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using startable-stoppable from NPM package

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using messaging from the Feature

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove old implementation of messaging

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make setupping app paths happen earlier in renderer

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix typo

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add kludge to make testing-library work properly from test-utils package

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix code style

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add lint:fix -root script

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix unrelated failing unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Turn of no-floating-promises from typescript linting for being broken

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make linting not happen for dist -directories

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make linting failures appear as failure

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Stop running prettier twice

It already gets ran as eslint-plugin.

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make CI run unit tests for all packages by consolidating name of NPM script

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add missing unit tests for coverage

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Skip coverage for test utils

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove check for coverage in packages which are not ready for it

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Stop collecting coverage from index.ts files them being indirections to the implementation

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Implement sending message to channel in main

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add missing feature dependencies

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add dummy implementations for requesting in main from renderer

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Re-enable communicating from main to cluster frames

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Ignore trivial files from coverage

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update package-lock

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Extract message-bridge to separate NPM package to prevent dev dependencies being in the production bundle

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Extract computed channel to own NPM package for clear dependencies

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Consolidate electron related stuff to a directory

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add missing publish configurations

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Ignore test implementation from coverage being not interesting

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-21 11:38:43 +02:00
Sebastian Malton
37513dee29
Remove direct dependency on 'abort-controller' package (#7366)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-17 12:59:57 -04:00
Sebastian Malton
2c3c88be04
Fix bundled extensions not being loaded (#7359)
* Fix bundled extensions not being loaded

- Also show that this fixes it by added an example bundled
  extension to 'open-lens'

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

* Fix build

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

* Add explanatory comment for inline require

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-15 18:16:09 +02:00
Sebastian Malton
ae9a8c3c41
Move deactivating a cluster into injectable IPC (#7356)
* Move activating cluster into injectable IPC

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

* Move deactivating a cluster into injectable IPC

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

* Fix type error

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-15 08:31:38 -04:00
Sebastian Malton
497f63fde6
Move activating cluster into injectable IPC (#7355)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-15 08:26:28 -04:00
Sebastian Malton
a63f737adb
Change typing for after/before window/application start (#7342)
- Now the callback is provided with an object containing either
  `mainDi` or `windowDi` fields. This should help with confusion
  over which environment the `di` is for

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-13 15:35:33 +02:00
Roman
34aed58ff0
Better displaying container's info for Pods (#7331)
* Better displaying container's info for Pods and all tooltips with `formatters={{tableView: true}}`

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

* fix: keep containerID on a single line

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

* nope, i can :P (make it perfect)

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

---------

Signed-off-by: Roman <ixrock@gmail.com>
2023-03-10 08:34:52 -05:00
Sebastian Malton
2789bcebcb
Convert runMany and runManySync to use injectManyWithMeta + move to seperate package (#7244)
* Convert runMany and runManySync to use injectManyWithMeta

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

* Fixup type errors due to new Runnable requirements

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

* Add documentation for verifyRunnablesAreDAG

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

* Simplify convertToWithIdWith

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

* Move all utility functions to separate package

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

* Move testing utilities to separate package

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

* Move run-many and run-many-sync to separate package

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

* Replace all internal uses of utilities with new packages

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

* Use new @k8slens/run-many package in core

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

* Add dep to open-lens

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

* Fixup type errors

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

* Fixup uses of @k8slens/test-utils

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

* Fixup getGlobalOverride

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

* Move tests to new package too

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

* Fix type errors

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

* Fixup uses of AsyncResult and autoBind

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

* Fixup remaining import issues

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

* Finial fixups to fix build

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

* Fix lint

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

* Revert moving "testUsingFakeTime" to separate package

- This fixes tests

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

* Fix integration tests

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

* Fix unit test failing due to spelling fix

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-10 10:07:28 +02:00
Sebastian Malton
ad9bafe2a5
Cleanup 'Cluster' to remove environment specific details (#6951)
- requestNamespaceListPermissions is infallable so no need to have the extra try/catch

- Refactor isMetricHidden method away from Cluster

- Refactor shouldShowResource out of Cluster

- Refactor isInLocalKubeconfig out of Cluster

- Remove depecrated and unused workspace from Cluster

- Refactor out kubectl as a dependency of Cluster

- Remove from cluster getter used only once

- Split out ClusterConnection from Cluster

- Also split out KubeAuthProxyServer from ContextHandler

- Rename ContextHandler to PrometheusHandler

- Cleanup onNetworkOffline/Online impls within ClusterManager

- Remove annotations from ClusterConnection

- Remove mobx annotations from Cluster

- Rename loadConfigFromFileInjectable

- Remove all uses of dead createClusterInjectionToken

- Fix type errors related to broadcastConnectionUpdate

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-10 09:37:39 +02:00
Juho Heikka
d5a124bd79
Copy detected metadata from cluster to catalog cluster (#7316)
* Copy detected metadata from cluster to catalog cluster

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Remove duplicate copyright comment

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Lint fixes

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Typescript fix

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

---------

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
2023-03-09 09:06:43 +02:00
Sebastian Malton
0fe4daf8d3
Cherry pick PRs from 6.4.4 and 6.4.3 (#7309)
* Add support for using release branch targetted PRs (#7291)

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

* Fix namespaces not respecting accessible namespace config (#7279)

* Fix namespaces not respecting accessible namespace config

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

* Fix warning hover text formatting

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

* Log state after refresh accessibility

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

* Fix tests

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

* Fix NamespaceStore.allowedNamespaces

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

* Remove unnecessary '?'

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

* Add deprecation messages

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

* Move selected_namespaces storage to injectable

- And its initialization

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

* Implement contextNamespaces logic in forNamespacedResources

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

* Update snapshot

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

* Fix formatting

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

* Fix formatting

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

* Fix test

- This was a side effect of the previous bug fixes where
  the clusterContext.hasAllSelected was previously erroneously 'false'

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

* Change log level

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

* Fix another test suite

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

---------

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

* Fix not showing some non-core kinds (#7303)

* Fix not showing some non-core kinds

- Specifically if a Kind is not present within the preferredVersion of
  a group then we don't know that resource exists

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

* Add technical tests

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

---------

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-07 09:46:00 -08:00
Janne Savolainen
0d480917cf
Simplify test setup by removing option for global overrides (#7302)
* Remove option to doGeneralOverrides and do it always

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Override telemetry by default to optimize and simplify testing

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Simplify more usages of getDiForUnitTesting

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix code style

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-07 12:23:57 -05:00
Alex Andreev
963c816b17
Navigate to catalog explicitly on cluster disconnect (#7304)
* Navigate to catalog explicitly on cluster disconnect

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

* Linter fix

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

---------

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2023-03-07 11:35:05 -05:00
Sebastian Malton
0084af56d6
Allow CatalogEntityDetails to be opened anywhere (#6939)
* Extract CatalogEntityDetails to seperate root component

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

* Expose entity details to extension API

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

* Add behavioural tests

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

* Fixup catalog technical tests to use ApplicationBuilder

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

* Update snapshot

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

* Update test and then fix it

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-07 10:10:14 -05:00
Jari Kolehmainen
f88555a1d7
Port #7282 to master (#7289)
* fix requestNamespaceListPermissionsForInjectable



* more tests



* fix test descriptions



* fake -> stub



* fake-namespace -> irrelevant-namespace



---------

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2023-03-06 10:00:59 -05:00
Iku-turso
c6799e1478
White-listing of telemetry params (#7262)
* Drop support for adding telemetry by tagging

This was not used, and would make development of future feature more difficult.

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Introduce white-listing for params of telemetry

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Fix linting

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Make misconfigured telemetry for function parameters log the error, and not blow up fatally

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

---------

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2023-03-06 13:14:27 +02:00
Janne Savolainen
129565f08a
Switch to using start application from Feature (#7260)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-06 10:40:04 +02:00
Jari Kolehmainen
8b93a52930
should show resource if missing allowedResources data (#7274)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2023-03-03 13:48:26 +02:00
Sebastian Malton
6ca4af8284
Add displaying @k8slens/* versions in about when not latest (#7257)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-02 08:03:42 -05:00
Sebastian Malton
c67230f322
Cleanup getDi and registering injectables (#7251)
* Cleanup getDi and registering injectables

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

* Create more explicit application

- Make testing use more production code

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

* Fix uses of getEnvironmentSpecificLegacyGlobalDiForExtensionApi

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

* Fix unit tests

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-01 10:46:08 -05:00
Sebastian Malton
3433bc6fe0
Fix extension install (#7247)
* Fix extension install

- Remove old bundled extension dependencies
- Make sure external extensions are installed as optional

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

* Ignore ENOENT errors

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

* Add comment

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-01 08:11:49 -05:00
Sami Tiilikainen
ec81af4e6c
Revert "Renderer file logging transport (#6795)" (#7245)
Renderer file logging still caused UI freezing (at least on apple silicon macs) when cluster frame was open and main frame was reloaded.

See #544

This reverts commit ac2d0e46ff.

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
2023-02-28 09:02:42 -05:00
Sebastian Malton
d29615c089
Quick fix for store migration version being wrong (#7243)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-02-27 13:31:45 -08:00
Janne Savolainen
003dc44681
Upgrade and adapt to new version of libraries in ogre-tools (#7241)
* Update injectable version

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Adapt to new version of ogre-tools

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix "lint:fix" -command in core

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-27 14:27:36 -05:00
Panu Horsmalahti
b2160ae06c
Throw on errors in kubectlApplyFolder (#7239)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2023-02-27 14:30:30 +07:00
Sebastian Malton
3067e82e02
Remove all references to slack (#7233)
* Remove all references to slack

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

* Fix readme

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

* Cleanup migration

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

* Remove existing slack link from weblink store

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

* Fix type error and wording on ErrorBoundary

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

* Don't export forumsUrl to extension API

- Also just remove slack URL

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

* Update snapshots again

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

* Update snapshots again v3

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

* Revert remove slackUrl

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

* Fix filtering

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

* Fix readme

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

* More of a fix

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

* Try again

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

* Slightly better for now

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-02-24 17:04:15 -05:00
Sebastian Malton
f2a229cef6
Fix ApiManager not handling duplicate apiBases of KubeApis (#7235)
* Add failing unit test

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

* Fix failing unit test

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-02-24 10:44:19 -05:00
Janne Savolainen
688336647d
Extract injection token for application information to separate NPM package (#7211)
* Introduce dummy package for application

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Introduce application information token in application Feature

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using applicationInformationToken from application feature

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-22 11:58:05 -05:00
Juho Heikka
d8acff67d1
Fix ensure hashed directory for extension (#7188)
* Fix ensure hashed directory for extension

Earlier open lens versions stored extension_data directory based on
path of extension's package.json. This causes problems
because extensions have moved to new location. This ensures
backward compatibility that extension will get the same
directory than before the change.

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Reconstruct the key for old hashed directories

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Remove unnecessary return

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Use sync version of random bytes

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Add migration to new type of key

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Fix global override for random bytes to not return a promise

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

* Make registeredExtensions a dependency

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>

---------

Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
2023-02-21 16:09:03 +02:00
Sebastian Malton
dafdabc24b
Export requestMetrics to extension api (#7167)
* Export requestMetrics to extension api

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

* Fixup typing

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

* Revert change

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

* Make diff smaller

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

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-02-17 09:19:44 -05:00
Roman
54e874f646
Replication Controllers (new resource view) (#7154)
* New resource view: ReplicationController -- scaffolding files

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

* fix: inappropriate names after copy-pasting

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

* update replication controller api types/spec, fix menu title

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

* items list + details list views (added contents from replication controllers), lint fixes

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

* allow to scale replication controllers

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

* switched for scaling replicas with `Slider` component instead of `Buttons+Input`

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

---------

Signed-off-by: Roman <ixrock@gmail.com>
2023-02-16 07:48:24 -05:00
Sebastian Malton
c575c7a8bd
Fix typing issue with userStorePreferenceDescriptorsInjectable (#7144)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-02-13 10:57:10 -05:00
Alex Andreev
0719293b11
Namespace details tree view (#7080)
* Initial tests for <NamespaceTreeView />

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

* Introduce <NamespaceTreeView/>

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

* Render namespace children

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

* Render a child subnamespace

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

* Remove unused lodash import

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

* Render subnamespace badge after name

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

* Testing rendering 2 levels deep

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

* Add tree view to namespace details

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

* Expand all nodes by default

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

* Add links to the tree items

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

* Initial label styling

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

* Label and group styling

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

* Remove fontSize attr from SvgIcon

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

* Styling subnamespace badge

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

* Expand and collapse tree nodes

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

* Testing clicking plus icon

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

* Restyling subnamespace badge

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

* Adding tooltip for subnamespace badge

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

* Linter fixes

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

* Fix linter harder

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

* Replace CloseIcon with semi-transparent MinusIcon

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

* Styling TreeView inside scss module

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

* Move isSubnamespace method inside API

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

* Extract nodeId to avoid repeating

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

* Rename Icon components

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

* Clean up tests from boilderplate

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

* Subnamespace badge style fixes

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

* Linter fix

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

* Use font-size: x-small instead of rem units

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

* Move subnamespace badge show check to parent

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

* Use prevDefault util

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

* Refactor: move tree build logic to store

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

* Linter fixes

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

* Refactor hierarchicalNamespacesInjectable

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

* Add tests for getNamespaceTree() function

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

* Use Subnamespace badge in namespace list (#7132)

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

---------

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2023-02-13 09:34:03 +03:00
Sami Tiilikainen
ac2d0e46ff
Renderer file logging transport (#6795)
* Renderer file logging transport

Add file logging to renderer, writing separate log files for renderer main frame and each cluster frame.

Related to lensapp/support-lens-extension#118

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Switch renderer file log level to info

There is too much noise on debug level from api responses etc

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Unmount on pagehide instead of beforeunload

It seems cluster onbeforeunload is not triggered when iframe is removed from dom by the parent (when disconnecting a cluster).

While on root/main frame the beforeunload event does work, it seems to be adviced to use pagehide instead.

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Close log files on unmount

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Improve file handle closing in different situations

This should cover reloading main and cluster frames and closing cluster frame throught disconnecting cluster. No file handles should be left open now.

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Fix renderer log rotation

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Switch back to beforeunload in root frame

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

* Remove capturing phase event usage

Does not seem to be needed for log files to be successfully closed and caused integration tests to fail.

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>

---------

Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
2023-02-08 05:50:22 -05:00
Jari Kolehmainen
65175377d0
fix common extension api bundling (#7099)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2023-02-03 15:15:08 +02:00
Sebastian Malton
9ca8dc86fd
Rename extension api parts as 'extensionApi' (#7066)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-31 10:00:49 -05:00
Sebastian Malton
a73f166f1f
Fix @k8slens/extensions being broken after monorepo (#7058)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-30 16:32:30 -05:00
Jim Ehrismann
a8a59ff191
introducing vpa resources (#7004)
* introducing vpa resources (as hpa resources to start)

vpa spec (WIP)

adding real vpa fields

scss files, and updates after rebase on master

scss update

tweaks to vpa api definition

putting more fields into the vpa list

adding vpa details, fixing vpa spec implementation (WIP)

vpa details page done

merge conflicts

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* moved files after monorepo merge

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* address review comments, added vpa endpoint to endpoints export list

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* deprecate HPAStore in favour of HorizontalPodAuotoscalerStore

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

---------

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2023-01-27 16:33:13 -08:00
Sebastian Malton
20c0fd912f
Fix building docs and verify:docs workflow (#7013)
* Fix building docs and verify:docs workflow

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

* Fix commands

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

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-25 13:59:21 -05:00
Sebastian Malton
7d271a7b45
Add more resiliancy to listing kube API resource kinds (#6995)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-25 10:30:18 -05:00
Jari Kolehmainen
7e8ae3fded
Move node-fetch to separate package (#7009)
* move node-fetch to separate package

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

* fix node-fetch package runtime error

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

* fix test:unit nx dependency

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

* fix test:unit nx dependency

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

* Add prepare step for node-fetch

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

* Update lock

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

* Remove dead comment

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

* Remove unnecessary fetchModuleInjectable

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

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2023-01-25 17:13:41 +02:00
Sebastian Malton
591d9f30f3
Fix PodDistruptionBudgets not displaying on newer Kube versions (#6989)
* Add ability for KubeApi to filter server versions

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

* Update error message

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

* Fix tests

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

* Check preferred version for PodDistruptionBudgets

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

* Limit which versions can be used

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

* Make sure that details are show for all versions
- Remove duplicate versioning checks since everything must go through the API anyway

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

* Remove unnecessary logger as dep

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

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-25 09:47:31 -05:00
Sebastian Malton
3436dfd46f
Add ability for KubeApi to filter server versions (#6908)
* Add ability for KubeApi to filter server versions

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

* Update error message

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

* Fix tests

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

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-25 08:57:48 -05:00