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

527 Commits

Author SHA1 Message Date
Janne Savolainen
6a9f77757f
Fix fake implementation for join paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:35 +03:00
Janne Savolainen
af3325e816
Switch to using abstraction for joining paths to control explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:34 +03:00
Janne Savolainen
c5b14c48d8
Introduce abstraction for joining paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:34 +03:00
Janne Savolainen
911481ea0f
Switch to using abstraction for getting absolute path to control explicit side effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:34 +03:00
Janne Savolainen
5ca3082572
Introduce abstraction for getting absolute paths
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:34 +03:00
Iku-turso
e2889c226b
Fix unit tests in CI by removing explicit side-effect
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:34 +03:00
Iku-turso
2e503b1698
Flag some side-effects and add general overrides
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:33 +03:00
Janne Savolainen
5113729e87
Remove unnecessary code style changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:33 +03:00
Janne Savolainen
76101023df
Make injecting legacy singleton always provide new instance
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:32 +03:00
Janne Savolainen
39795d8f35
Tweak logger interface to be more descriptive
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:32 +03:00
Iku-turso
9a5a210ed3
Migrate to actual typing for di.permitSideEffects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:30 +03:00
Iku-turso
03cd6aac87
Remove kludge in previous commit by explicitly permitting specific side effects where old unit tests require it
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:29 +03:00
Iku-turso
ec33125373
Specify id for all <Select /> to satisfy previous commit
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:28 +03:00
Iku-turso
b947568b14
Make a directory commonly available
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-03-31 15:13:28 +03:00
Janne Savolainen
5c8ca2c038
Implement a lot of technical requirements for behavioural unit tests
Note: the crux of this was to make routing env-agnostic, and not based on URLs as magic strings, but instead something type-enforced.

Note: extension-based routes comply to same exact interface by "late-registering" their routes when installed. Routes are just injectables.

Note: another chunk of global shared state is no more.

Note: a lot of explicit side effects have been cornered to injectables.

Note: a lot of stuff has become reactive as part if this.

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

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 15:13:26 +03:00
dependabot[bot]
f0978f02c9
Bump electron-updater from 4.6.1 to 4.6.5 (#5125)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-03-29 15:20:41 -04:00
dependabot[bot]
93069e8600
Bump @types/http-proxy from 1.17.7 to 1.17.8 (#5126)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-03-29 15:20:30 -04:00
dependabot[bot]
5ce0ef31c4
Bump @types/node from 14.17.33 to 14.18.12 (#5127)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-03-29 15:20:17 -04:00
Jari Kolehmainen
b3574e1a21
TLS cert per cluster for lens-k8s-proxy (#5081)
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-03-28 08:39:57 -04:00
Jari Kolehmainen
c48527b44f
Fix winston logger missing splat format (#5070) 2022-03-23 10:34:43 -04:00
Jari Kolehmainen
0fa89ecbfa
Enable TLS on lens-k8s-proxy (#4941)
* wip: enable tls on lens-k8s-proxy

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

* cleanup

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

* type -> interface

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

* more dependencies

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

* refactor

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

* run di.runSetups() after app is ready

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

* tls fixes & refactor

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>

* refactor

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

* refactor

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2022-03-17 15:07:40 +02:00
Iku-turso
6b28f9e9c3
Bump injectable to 5.1.2 (#5010) 2022-03-17 08:15:21 -04:00
Janne Savolainen
38af26efc9
Make routes in back-end comply to Open Closed Principle (#4859)
* Make registration of back-end routes happen using injectable

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

* Switch to using injectable to setup route for list charts

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

* Switch to using injectable to setup route for get chart

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

* Switch to using injectable to setup route for get chart values

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

* Switch to using injectable to setup route for installing chart

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

* Switch to using injectable to setup route for updating release

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

* Switch to using injectable to setup route for rollbacking release

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

* Switch to using injectable to setup route for listing releases

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

* Switch to using injectable to setup route for getting release

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

* Switch to using injectable to setup route for getting release values

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

* Switch to using injectable to setup route for getting release history

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

* Switch to using injectable to setup route for deleting release

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

* Remove HelmRoute for not being used anymore

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

* Switch to using injectable to setup route for applying resource

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

* Switch to using injectable to setup route for patching resource

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

* Switch to using injectable to setup route for stopping current port forward

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

* Switch to using injectable to setup route for getting current port forward

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

* Consolidate start port forward route to use injection token for registering route

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

* Switch to using injectable to setup route for metrics

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

* Switch to using injectable to setup route for getting service account

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

* Switch to using injectable to setup route for getting version

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

* Add global override for reading file to make it not required where not interesting

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

* Switch to using injectable to setup route for serving static files

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

* Make adding routes private for router

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

* Make routes wait until all asynchronous stuff are done

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

* Introduce healthy abstraction between back-end routes and route handlers

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

* Make response of route typed

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

* Fix incorrect return value of updateRelease

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

* Make typing of routes support synchronous values

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

* Make code cleaner

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

* Rename test for accuracy

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

* Add test for throwing route handler

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

* Remove duplicate license header

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

* Make mechanism of creating HTTP response an implementation detail

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

* Remove not needed properties from test

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

* Fix code style

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

* Fix typing and codestyle

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

* Fix typing error

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

* Fix merge conflicts

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

* Organize all router related files under directory

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-11 12:20:00 +02:00
Sebastian Malton
a19f094a0d
Consolidate downloading binaries into one script (#4942)
* Consolidate downloading binaries into one script

- Upgrade lens-k8s-proxy to 0.1.5 which allows us to remove the trailing
  slash in KubeAuthProxy

- Consolidate nromalizing arch and os strings

- Remove LensBinary as HelmCli is not just a raw object since it is
  always bundled

- Introduce OnceCell and use it for the binary paths

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

* Fully remove helmCli, move associated variable to vars

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

* Fix helm downloading on windows

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

* Don't download binaries for unsupported windows

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

* Arch specific paths

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

* Fix downloading helm on windows

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

* rename once-cell file to lazy-initialized

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-03-09 17:51:51 -05:00
Alex Andreev
dd5dfb393d
Add 'Sync with computer' theme option (#4973) 2022-03-09 08:08:24 -05:00
Jari Kolehmainen
a4954b9f8d
Webpack quality of life improvements for dev mode (#4980) 2022-03-08 09:48:16 -05:00
Sebastian Malton
d72ebac5f3
Bump lens-k8s-proxy to v0.1.5 (#4946)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-03-02 17:21:32 -05:00
Sebastian Malton
0b32775d40
Enforce some naming conventions (#4813) 2022-03-01 13:06:53 -05:00
Jari Kolehmainen
c04a3b8d33
Replace kubectl-proxy with lens-k8s-proxy (#4924) 2022-02-28 09:37:29 -05:00
Janne Savolainen
b65f6e00ec
Update injectable library (#4842)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
2022-02-25 11:10:13 -05:00
Roman
ff55719ffa
Upgrade to webpack@5 (#4894) 2022-02-25 10:20:06 -05:00
Jari Kolehmainen
12a6bd8512
Fix catalog syncer long delay (#4911)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2022-02-23 06:52:43 +02:00
Steven Johnstone
625b00c247
Introduce and use "openBrowser" (#4876)
Co-authored-by: Steven Johnstone <sjohntone@mirantis.com>
2022-02-17 08:37:34 -05:00
Sebastian Malton
8088d3b5c2
Remove ExtenedMap, ToggleSet, and observable versions (#3310)
- Switch to helper functions instead. They don't impact the prototype
  tree and it means that we don't need to introduce versions that are
  both observable and "normal"

- Tidy <ItemListLayout> and hiddenTableColumns to not need
  pre-initialization

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-02-16 18:20:22 -05:00
Sebastian Malton
ed91ef2d03
Cleanup HelmRepoManager and <HelmCharts> (#4564) 2022-02-16 14:43:26 -05:00
Sebastian Malton
600bd659f6
Enforce member-delimiter-style using eslint (#4870) 2022-02-16 14:43:03 -05:00
Jim Ehrismann
733bb543c9
Revert "Upgrade to webpack@5 (#4725)" (#4872) 2022-02-16 09:14:14 -05:00
Roman
d656a9e289
Upgrade to webpack@5 (#4725)
* attempt to upgrade webpack@5 and all relevant packages to latest version -- part 1

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

* debugging webpack@5 usage -- part 1

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

* - attempt to use "react-refresh-typescript" with webpack@5 thingy
- extending getTSLoader() to accept more options from ts-loader

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

* more fixes, updating webpack loaders

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

* merge-fixes, using internal webpack@5 asset handlers (type: "asset/*")

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

* fix: raw-loader / <Icon svg="./*">, updated mocked types for importing resources via webpack

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

* removing webpack-dev-server, clean up

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

* fix master-merge conflict

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

* fix/reverted: use sourceMap for styles

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

* fix lint

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

* fix: loading svg icons inline as data-url (workaround for "?raw" as it fails in tests and "!!raw-loader!" seems doesn't work at all in webpack@5)

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

* attempt to use webpack-dev-server via node-api -- part 1

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

* attempt to use webpack-dev-server via node-api -- part 2

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

* fix: incorrect parsing svg-icon xml-content by <HotbarEntityIcon/>

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

* fix: more random fixes related to incorrect parsing svg-icon content, added static Icon.isSvg(content: string)

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

* attempt to fix: "Uncaught (in promise) DOMException: A network error occurred." when loading cluster frame -- part 1

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

* fix: loading cluster frame + error in loading terminal default font (which was causing network exception error and hidden cluster-view)
fix: proxying websockets (e.g. terminal)

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

* fix: wait lensProxy.listen() to obtain lensProxy.port for webpack-dev-server

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

* fix lint

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

* fix unit tests

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

* reverted auto-formatted imports with 2 lines (.idea/webstorm)

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

* fix: handle warnings in main-process compilation files

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

* fix: handle warnings in "renderer" compilation

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

* fix: move app fonts preloading into html/css files, clean up

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

* update "webpack@5", "typescript@4.5" in bundled extensions / attempt to fix weird errors in build pipeline:

ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts
6:27-35
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts(6,28)
      TS1005: ',' expected.

ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts
8:14-28
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts(8,15)
      TS1005: ',' expected.

ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts
8:14-22
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts(8,15)
      TS1005: ',' expected.

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

* fix: handle errors in bundled extensions compilation process

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

* fix: "webpack" not found in production

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

* fix: removed preloading fonts in template via <link preload> since it's not bundled with HtmlWebpackPlugin() anyway anda all fonts loaded via css @font-face rule

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

* apply HMR at least for css/styles and use manual page reload on app/scripts change

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

* use `react-refresh-typescript` and `@pmmmwh/react-refresh-webpack-plugin` to support HMR in most cases

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

* responding to comments

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

* revered extension version in package-lock.json (autoupdated on `make dev`)

Signed-off-by: Roman <ixrock@gmail.com>
2022-02-15 17:04:12 +02:00
Jim Ehrismann
9b9b8e0d05
ShellEnv extension api (#4802)
* adding extension api for terminal environment variables

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

* modified shell env api to work as a transformer (WIP)

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

* address some review comments

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

* shell env modifiers now take a CatalogEntity in ShellEnvContext param

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

* tweaks and bug fix

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

* refactored to remove ShellEnvModifier code from shell-session to local-shell-session

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

* further refactoring and documentation

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

* added comment

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2022-02-10 16:01:59 -05:00
Sebastian Malton
81e6dc5d8e
Allow better typings for extending type of KubernetesCluster (#4843) 2022-02-10 15:55:03 -05:00
Jari Kolehmainen
c46d0036cc
Bundle kubectl 1.23.3 (#4837) 2022-02-10 09:38:21 -05:00
Sebastian Malton
0745f9c063
Fix Cluster.refresh sometimes taking upwards of 20s (#4826)
- Only read and parse the proxy config once

- Reuse the AuthorizationV1Api instance for the entire refresh instead
  of recreating it between 32 and 302 times, this should allow for
  reusing sockets

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-02-08 15:37:46 +02:00
Jari Kolehmainen
6ebfd76644
Use system-node-critical priorityClassName for node shell (#4800)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2022-02-03 07:37:21 +02:00
Janne Savolainen
e8205a64b9
Fix bugs in helm releases (#4785)
* Fix opening of upgrade release tab

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

* Bring back ability to rollback to specific revision

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

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

* Fix helm releases not updating after rollback

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

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

* Fix helm releases not updating after upgrade

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

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-02-01 16:18:43 +02:00
Juho Heikka
a0f474a676
Disable native window open (#4778)
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
2022-01-31 17:59:49 +02:00
Sebastian Malton
0ce4e3d793
Full dependency inversion of <Dock> and all current tab kinds (#4757)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
2022-01-31 09:49:36 -05:00
Sebastian Malton
38790eb886
Upgrade to latest for all linting deps (#4755)
* Upgrade to eslint latest

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

* Fix OOM error

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

* resolve PR comments

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-01-29 07:46:37 -05:00
Sebastian Malton
8d8491a035
Ensure that CatalogEntity.getName() and CatalogEntity.getId() are always used (#4763) 2022-01-27 14:42:19 -05:00
Jari Kolehmainen
1cac3ca74c
Upgrade to Electron 14.2.4 (#4625)
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Jim Ehrismann <jehrismann@mirantis.com>
2022-01-27 10:23:36 -05:00
Jim Ehrismann
6cba82c491
redid changes after large refactor on master (#4688)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2022-01-20 09:38:16 -05:00