Commit Graph
25 Commits
Author SHA1 Message Date
Sebastian Malton 5ed4537979 Turn on noUnusedLocals, noImplicitReturns, importsNotUsedAsValues: error, and isolatedModules (#2777) 2021-05-19 12:11:54 -04:00
Jari Kolehmainen 2d0609ed24 Check source files for license header (#2763)
* check source files for license header

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

* tweak

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

* add license header to all relevant source files

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-05-12 18:33:26 +03:00
Sebastian Malton f4ff28e51c Switch main's route handlers to be static functions (#2712) 2021-05-12 08:08:42 -04:00
Jari KolehmainenandSebastian Malton 8fff064e0c Fix kubeconfig-sync issues (#2692)
- Removed `getFreePort` as its use is always a race condition. Change
  all uses of it to retrive the port after listening

- Added `getPortFrom` as a helper function to read a port from a stream

- Remove `Cluster.ownerRef` as it is outdated and no longer needed for 5.0

- Remove `Cluster.enabled`, no longer needed because of above

- Removed `Cluster.init`, moved its contents into `Cluster.constructor`
  as nothing in that function is asyncronous. Currently only being run
  on `main` as a stop gap until `renderer` gets its own version of
  `Cluster`

- Refactored `LensProxy` so as to prevent `pty.node` (a NodeJS
  extension) being included in `webpack.extension.ts`'s run

- Removed the passing around of the proxy port as that can now be
  accessed from an instance of `LensProxy`

- purge ContextHandler's cache on disconnect

Co-authored-by: Sebastian Malton <sebastian@malton.name>
2021-05-04 15:21:15 -04:00
Sebastian Malton b63fdfaff3 Improve documentation of Singleton functions, change to createInstance (#2585)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-04-22 10:05:29 +03:00
Jari Kolehmainen 33ca6c9c17 Reserve cluster proxy port just in time (#2554)
* reserve cluster proxy port just in time

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

* fix

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

* refactor

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-04-22 07:18:53 +03:00
Sebastian Malton 9563ead2e6 Fixing Singleton typing to correctly return child class (#1914)
- Add distinction between `getInstance` and `getInstanceOrCreate` since
  it is not always possible to create an instance (since you might not
  know the correct arguments)

- Remove all the `export const *Store = *Store.getInstance<*Store>();`
  calls as it defeats the purpose of `Singleton`. Plus with the typing
  changes the appropriate `*Store.getInstance()` is "short enough".

- Special case the two extension export facades to not need to use
  `getInstanceOrCreate`. Plus since they are just facades it is always
  possible to create them.

- Move some other types to be also `Singleton`'s: ExtensionLoader,
  ExtensionDiscovery, ThemeStore, LocalizationStore, ...

- Fixed dev-run always using the same port with electron inspect

- Update Store documentation with new recommendations about creating
  instances of singletons

- Fix all unit tests to create their dependent singletons

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-04-21 09:59:59 -04:00
Jim Ehrismann bbfad2f35f Modified kubeconfig manager test to avoid intermittent ENXIO error (#2516)
* modified kubeconfig manager test to avoid intermittent ENXIO error

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

* fix lint

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2021-04-13 06:57:56 +03:00
Jari Kolehmainen 99a464c61d Catalog & Hotbar - initial groundwork (#2418)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-04-09 09:11:58 +03:00
Jari Kolehmainen 4856fdda2f Fix path traversal bug in router (#2398)
* fix path traversal bug in router

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

* add tests

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-03-26 14:53:53 +02:00
Lauri Nevala 4afec72ceb Fix: Recreate proxy kubeconfig if it is deleted (#2372) 2021-03-23 08:12:01 -04:00
Sebastian Malton 7d14ba5e48 Move clearKubeconfigEnvVars to separate file (#2337)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-03-16 08:05:28 -04:00
Sebastian Malton 6c872c1aad Fix Lens not clearing other KUBECONFIG env vars (#2297) 2021-03-15 11:28:14 -04:00
Roman 5287e7e528 KubeObjectStore & KubeWatchApi fixes and optimizations (#2063)
* Detach NamespaceStore from KubeWatchApi, proper KubeObjectStore.loadAll (rebase of #2033)

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

* Watch-api requests optimization (#2066)

* subscribe for watching resources in single request when has admin-like access rights

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

* responding to comments

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

* fix unit-tests

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

* fix: reloading stores when preloading enabled and waitUntilLoaded=false

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

* mark Cluster.canUseWatchApi() and Cluster.refreshAccessibility() as private

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

* fix unit test: make public Cluster.canUseWatchApi()

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

* responding to comments in #2066

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-04 11:51:35 +02:00
Jari Kolehmainen 67f3f83610 Performance fix when cluster has lots of namespaces (#1640)
* performance fix when cluster has lots of namespaces

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

* fix tests

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-03 14:56:32 +02:00
Lauri Nevala b128f55006 Add run tests step to Windows pipeline (#1610)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-12-02 16:44:44 +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
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
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 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 ce995f3deb Implement cluster metadata detectors (#1106)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-22 21:45:54 +03:00
Lauri Nevala 81575b333a Fix KubeAuthProxy unit tests (#1084)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-14 17:10:58 +03:00
Sebastian Malton 0960259279 Add some basic unit tests for the following files: (#1050)
* Add some basic unit tests for cluster, kube-auth-proxy, and kubeconfig-manager

- src/main/cluster.ts
- src/main/kube-auth-proxy.ts
- src/main/kubeconfig-manager.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-09 11:25:20 -04:00