* 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>
* 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>
* Fix ERR_UNSAFE_PORT from LensProxy
- Use the current list of ports from chromium as it is much easier to
just reject using one of those instead of trying to handle the
ERR_UNSAFE_PORT laod error from a BrowserWindow.on("did-fail-load")
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move all port handling into LensProxy
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* don't use so many exceptions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Correctly catch and notify user about NodeShell pod failures
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix error throwing sometimes during Terminal.detach
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* detect log follow requests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor kube api to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to use node-fetch on both sides
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* improve logger
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix lint errors
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix/improve tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix node-fetch require error on prod build
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* preload fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* read serverAddress from apiBase
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
- 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>
- 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>
* flush response header always when proxy gets a response
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* force flush only when watch param exists
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint, micro-refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* more refactoring, clean up, responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* fix: remove extra check for cluster.allowedApi from processing buffered watch-api events
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring, detaching NamespaceStore from KubeObjectStore
Signed-off-by: Roman <ixrock@gmail.com>
* fix: wait for contextReady in NamespaceStore
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes: reloading context stores on NamespaceSelect-change
Signed-off-by: Roman <ixrock@gmail.com>
* optimize loading all resources when "all namespaces" selected -> single request per resource (when have rights)
Signed-off-by: Roman <ixrock@gmail.com>
* use native k8s api watches
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* retry watch when it makes sense
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workaround for browser connection limits
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>
* use always random subdomain for getResponse
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* resubscribe stores on contextNamespace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* modify watch event before calling callback
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
* Add more log entries on start up
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* And log entry about shell sync
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Refactoring
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add new line
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>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* 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>
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>