1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Go to file
Sebastian Malton 76066c5ebf
Making apiBase injectable (#6022)
* Making apiBase injectable

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

* Convert all of Helm functions to be DI

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

* Make PortForward's use of apiBase fully injectable

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

* Convert all metric requests to be injectable

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

* Replace resource applier with injectables

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

* Switch KubeJsonApi.forCluster to be injectable but do not use

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

* Convert the rest of shell sessions to be DI-ed

- This is a prerequesit for using the new
  createKubeJsonApiForClusterInjectable

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

* Use new createKubeJsonApiForClusterInjectable for openNodeShellSession

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

* Make KubeconfigDialog injectable

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

* Remove jest-fetch-mock and make fetch injectable

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

* Fix tests with new global override

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

* Add new injectable for create KubeJsonApi and JsonApi instances

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

* Fix showing-details-for-helm-release behavioural tests

- Remove HelmChartStore in favour of all injectables

- Create a model for UpgradeChartDockTab

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

* Fix show details and updating helm releases tests

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

* Fix residual typing issues related to metrics

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

* Fix crash on load due to circular dependency

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

* Fix create resource tab not working

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

* Remove legacy apiBase global

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

* Introduce and use isDebuggingInjectable

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

* Introduce and use windowLocationInjectable

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

* Remove global legacy apiKube

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

* Improve injectable filenames compared to the injectables inside

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

* Remove modifying input in requestActivePortForwardInjectable

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

* Introduce and use get(Milli)SecondsFromUnixEpochInjectable

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

* Switch to non-reactive way of gettting possible helm release versions

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

* Fix typo

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

* Fix bug in KubeApi constructor

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

* Convert all KubeApi related tests to use asyncFn

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

* Fix unit tests after introducing new injectables that have side effects

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

* Fix bad rebase causing tests to fail

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

* Improve expects for multiple field values

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

* Fix crash will looking up api refs

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

* Fix breaking change on KubeApi.list

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

* Better fix for formatting urls

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

* Remove injectable for time since we should just use useMockTime

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

* Add happy path behavioural tests for upgrade chart tab

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

* Remove debug message

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

* Update snapshots

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

* fix showing-details-for-helm-release tests

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

* Fix installing-helm-chart-from-new-tab tests

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

* Fix tests relating to hosted cluster id

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

* Update snapshots to recent changes in master

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

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

* Reupdated upgrade chart new tab test snapshots

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

* Fix flakiness in unit test when using <Animated>

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

* Fix flakiness and improve tests for DeleteClusterDialog

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

* Fix kubeconfig-sync tests

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

* Fix <Extensions> tests by removing mockFs and making everything injectable

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

* Fix build issues

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

* Fix getElectronAppPathInjectable override not returning absolute paths

- Also fixes the listing-active-helm-repos-in-prefs tests

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

* Replace all uses of getAbsolutePath with joinPaths as it is more correct and less confusing

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

* Fix opening application window tests by making override properly absolute

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

* Update snapshots relating no longer using getAbsolutePath

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

* Fix and add behavioural tests for RenderDelay

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

* Fix extension discovery tests

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

* Fix test flakiness because of path side effects, propagate uses to as many places

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

* Fix extension-discovery tests

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

* Add global override to fix some tests

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

* Rewrite and fix implementation of KubeconfigManager and its tests

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

* Fix tests by global override pathExists

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

* Fix unit tests failing on windows by using injectable verions of path functions

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

* Attempt to fix test timeout by using runInAction

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

* Update snapshots after rebase

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

* Update snapshots after rebase

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

* Fix tests after rebase

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

* Fix setupIpcMainHandlers usage

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

* Update snapshots

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

Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
2022-10-05 08:10:36 -04:00
__mocks__ Making apiBase injectable (#6022) 2022-10-05 08:10:36 -04:00
.github Split integration tests into seperate jobs from unit tests for faster CI (#6310) 2022-10-04 17:20:21 -04:00
.idea Merge remote-tracking branch 'origin/master' into eliminate-gst-from-app-paths 2022-01-11 13:56:23 +02:00
.vscode VSCode launch configurations for debugging (#2281) 2021-03-09 17:57:55 +02:00
build Stop overriding intree extension versions on build (#6239) 2022-10-03 10:36:47 -04:00
docs Upgrade to electron@^19 (#5369) 2022-08-12 05:17:06 -07:00
extensions Stop overriding intree extension versions on build (#6239) 2022-10-03 10:36:47 -04:00
integration Revert "Remove mac-ca usage since it was only in tests (#6043)" (#6319) 2022-10-04 17:52:55 -04:00
jsonnet/lens Update jsonnet folder structure to default bundler format (#536) 2021-03-23 08:12:40 -04:00
mkdocs Re-enable strict mode in docs vlidation. Bump mkdocs-material version (#3073) 2021-06-16 15:51:36 +01:00
scripts Upgrade release making script to support skipping PRs (#6182) 2022-09-14 08:51:51 -04:00
src Making apiBase injectable (#6022) 2022-10-05 08:10:36 -04:00
static Extensible welcome page (#2637) 2021-04-27 11:24:39 +03:00
templates/create-resource feat: New view for PriorityClasses under Config menu (#5816) 2022-07-19 08:41:07 +03:00
test-data add cluster icon migration code (#673) 2020-08-25 16:42:30 +03:00
troubleshooting Update jsonnet folder structure to default bundler format (#536) 2021-03-23 08:12:40 -04:00
types Making apiBase injectable (#6022) 2022-10-05 08:10:36 -04:00
webpack Revert "Remove mac-ca usage since it was only in tests (#6043)" (#6319) 2022-10-04 17:52:55 -04:00
.adr.json Initialize a cli-tool to maintain Architectural Decision Records and create initial ADR (#5712) 2022-08-10 14:36:26 +03:00
.bundled-extensions.json Don't bundle extension with eula on default build (#2542) 2021-04-20 09:35:37 -04:00
.eslintrc.js Turn on strict mode in tsconfig.json, some helpful lints, and required cleanup where strictness necessitates it (#5195) 2022-05-16 07:17:57 -04:00
.gitignore Bundle tray icons in repo (#5362) 2022-05-11 10:26:43 -04:00
.npmrc Add engine to strict node version in package.json (#144) 2020-03-23 16:31:28 +02:00
.swcrc Fix memory leak in unit tests (#5597) 2022-06-13 11:00:07 -04:00
.yarnrc Upgrade to electron@^19 (#5369) 2022-08-12 05:17:06 -07:00
CODE_OF_CONDUCT.md Add contributing/development pages (#1480) 2020-11-23 11:37:30 +02:00
CONTRIBUTING.md Add contributing/development pages (#1480) 2020-11-23 11:37:30 +02:00
LICENSE Update copyright to 2022 (#5624) 2022-06-14 11:22:38 -04:00
license-header Shorten license header to reduce amount of clutter in top of the files (#4709) 2022-01-18 10:18:10 +02:00
Makefile Stop overriding intree extension versions on build (#6239) 2022-10-03 10:36:47 -04:00
mkdocs.yml Support extending KubernetesCluster in extensions (#4702) 2022-01-19 14:57:42 +02:00
package.json Making apiBase injectable (#6022) 2022-10-05 08:10:36 -04:00
README.md Updated README file (#6225) 2022-09-13 15:56:06 +03:00
SECURITY.md Add security policy (#2387) 2021-03-25 17:19:45 +02:00
tailwind.config.js Shorten license header to reduce amount of clutter in top of the files (#4709) 2022-01-18 10:18:10 +02:00
tsconfig.json Turn on strict mode in tsconfig.json, some helpful lints, and required cleanup where strictness necessitates it (#5195) 2022-05-16 07:17:57 -04:00
typedoc.json Upgrade typedoc (#2940) 2021-06-07 09:51:43 -04:00
yarn.lock Making apiBase injectable (#6022) 2022-10-05 08:10:36 -04:00

Lens Open Source Project (OpenLens)

Build Status Chat on Slack

The Repository

This repository ("OpenLens") is where Team Lens develops the Lens IDE product together with the community. It is backed by a number of Kubernetes and cloud native ecosystem pioneers. This source code is available to everyone under the MIT license.

Lens - The Kubernetes IDE

Lens - The Kubernetes IDE ("Lens IDE") is a distribution of the OpenLens repository with Team Lens specific customizations released under a traditional EULA.

Lens IDE provides the full situational awareness for everything that runs in Kubernetes. It's lowering the barrier of entry for people just getting started and radically improving productivity for people with more experience.

Lens IDE a standalone application for MacOS, Windows and Linux operating systems. You can download it free of charge for Windows, MacOS, and Linux from Lens IDE website.

Screenshot

Installation

See Getting Started page.

Development

See Development page.

Contributing

See Contributing page.

License

See License.