* Added ability to add custom port on pod and service port forwarding (#3295)
* Added ability to add custom port on pod and service port forwarding
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* Added ability to add custom port on pod and service port forwarding
- pod-container-port fixed init async and active port checking
- service-port-component fixed init async and active port checking
- port-forward-route promise and response fix
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* Added ability to add custom port on pod and service port forwarding
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* - Added Custom Port Selection for port forwarding
- Implemented Random Port if custom port is not provided
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
Co-authored-by: Saumya Shovan Roy <saumyashovanroy@gmail.com>
* cherry-pick of hackweek work plus merge conflicts/build errors
added a route to get all port forwards
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Added Forwarded Ports to cluster dashboard
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
working port-forward page (open, edit, remove)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
added local storage to the port-forward store
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
automatically restore port-forward after pod is restarted
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
start port-forwards using random local port by default, rearranged pod and service port-forward UI
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactor
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more refactoring, don't always open port-forwards in browser, refined reused port-forward dialog
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* removed unimplemented forwarded port details page,modified logging
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* addressed some review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* made port and forwardPort query params and cleaned up port-forward routing paths
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address more review comments and change dashboard tab name to 'Port Forwarding'
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* changed port and forwardPort fields to be Numbers
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* removed extraneous reset() call, reorder field declarations
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* port-forward now gets the bundled kubectl path without going through the 'ensureKubectl' hoops
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more cleanup/tweaking
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix bug where port-forward info did not update on pod details page when different pod (in same deployment?) is clicked
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Co-authored-by: Saumya Shovan Roy (Deep) <12953177+rdeepc@users.noreply.github.com>
Co-authored-by: Saumya Shovan Roy <saumyashovanroy@gmail.com>
* Redirect from /catalog to last catalog page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Splitting url params to pass in catalogURL()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix local cluster delete flow
- Now checks for the cluster being the current cluster and confirms the
action
- <ConfirmDialog> is fixed to work with several confirmations happinging
at once
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Custom delete cluster dialog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Saving kubeconfig file refactoring
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Switching current-context from dialog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up css styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Show Delete menu item only for local cluster
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make all dialogs rounded
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Releasing kubeconfig file after lock
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding delete cluster dialog tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Delete cluster dialog refactoring
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing typo
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing temp file on error
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Do not switch context if select is hidden
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing spread symbols
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving cluster delete event from catalog initializer to ipc
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refactor warning messages
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Getting spread (...) back to fix Select render
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using async form without promises
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Do not show context switcher if no contexts left
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating the tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* don't allow delete of the active cluster before setting to new active cluster (#3749)
* don't allow user to delete the active cluster before setting to new active cluster
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix lint issues
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Show delete button if no more contexts available
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
* Adding home button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight catalog entity on route match
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Wait for general entites to load
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding WelcomePage catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight general entities in hotbar if their route matches
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving active entities sync to helper function
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix welcome page test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Improve typing, print better error message instead of stop at throwing at view.getType(); continue to send to subframe even if one throws
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Remove console.log
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Remove extra line
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Allow to configure default namespace used in terminal
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix lint issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Support filtering catalog entities
- This allows extensions and OpenLens to restrict which of the entities
the sources have provied are "visible" to the rest of Lens
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* switch to filtering only for catalog view
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Add test to iter reduce
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
Co-authored-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
Upgrade to electron 12 and Node 14
- Compute cluster ID for tests
- Switch to temporary appData path while testing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix KubeApi.watch leak on abort
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make linter happy
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* allow to pass KubeObjectStore.api via constructor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* remove throw for backward compat reasons
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Kubeconfig syncs from Catalog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Allow to select directory to sync
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Convert Preferences to Route-based component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Jump from notification to Preferences
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding navigateWithoutHistoryChange() method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests (no check for Telemetry tab)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests harder
Signed-off-by: Alex Andreev <alex.andreev.email@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>
* Make sure that there are only ever 12 slots in a hotbar
- Send notification if hotbar is full
- Filter out on every fromStore call
- Switch to broadcast on error
- Fix addToHotbar index check
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change when to/fromStore are located
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- If an KubernetesCluster entity is being deleted then the
catalogEntityRegistry.getById() will return undefined. This leads to
an unhandled exception in the handler because we tried to read
apiVersion. This commit changes it so that we get the apiVersion and
kind from KubernetesCluster class itself
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Explicitly don't save to disk if the value in the store is the same as
the default. That way we can change the defaults between versions
- Calculate the PreferencesModel on demand
- In the future, when we turn on strict null checking, we can enforce
that the UserStore expects the correct types too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
simplify default check, remove defaults from UserStore
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- kubeConfigPath was erroniously set to cluster.id
- Skip empty workspace hotbars
- Output a warn if updating or creating a cluster throws in
cluster-store
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Adding General Entities and General Category
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Usign material icons for general entities
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting background for hotbar icon explicitly
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding Catalog initially to first hotbar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Tuning hotbar store tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Changing type from GeneralEntity to General
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Search for catalog hotbar item in tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing Catalog link from bottom bar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Waiting for hotbar catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Opening cluster list by data-testId
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing types on interfaces
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding general entities throught initializers
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing icon refs from CatalogEntitySpec
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Transition workspace's to be labels
- Fix migrations to support multiple migrations for the same version
Signed-off-by: Sebastian Malton <sebastian@malton.name>