- Remove all async click handlers as the typing of the expected method
is that of `void` so it doesn't know how to handle `Promise<void>`
- Replace the above with promise chains with correctly handle any errors
by logging them
- Fix the tray menu update logic to actually produce a new menu when the
reaction is run
- Improve the Clusters submenu generation to involve less work and to
utilize the built-in checkmark rendering
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Wrap app into emotion CacheProvider to isolate styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix CacheProvider key
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving CacheProvider into more specific components
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Align @emotion/react & @emotion/cache version with ones inside react-select
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Covering more components with CacheProvider
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Changing emotion versions a bit more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving CacheProvider into bootstrap
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating react-select types
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* A bit of cleaning up types
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Specifying types a bit more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix gradients in namespace selector
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Importing types separately
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using generic NonceProvider in bootstrap
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* - fix: highlight active sidebar section / link
- fix: caching crd definitions to prevent sidebar's scroll jumps
- refactored & simplified `Sidebar` and `SidebarItem`
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* adding @jsdoc comments to SidebarItem
Signed-off-by: Roman <ixrock@gmail.com>
* basic workspace overview
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* css tweaks for landing page as a PageLayout
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more review comment addressing, added overview to workspace command palette
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added back the landing page startup hint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactoring as per review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added original landing page back only for default workspace with no clusters
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Workspace overview layout tweaks (#2302)
* tweaks workspace overview layout
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cluster settings on top
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* header logo for add cluster page
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak landing page
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* combine left menu icons
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* always show bottom status bar
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* integration test fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* change cluster menu
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* first attempt to fix integration test
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* lint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* get selectors right for integration test
Signed-off-by: Jim Ehrismann <jehrismann@miranits.com>
Co-authored-by: Jim Ehrismann <jehrismann@mirantis.com>
Co-authored-by: Jim Ehrismann <jehrismann@miranits.com>
* address review comments, and rebased to master
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Jim Ehrismann <jehrismann@miranits.com>
* Add configuration for debugging integration tests
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Add launch configuration for debugging main process
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Continue polishing debug configurations
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Remove unnecessary dependency
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Add debug configuration for unit tests + cleanup vscode tasks
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Add `await` keyword to debugger attachment
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Use existing variable to wait for chrome debugger attachment
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Use available helper function instead of raw promise
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Import delay utility
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Move async function to async context (attaching debugger)
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
Co-authored-by: Alex Culliere <alozhkin@mirantis.com>
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* broadcast update available only after downloading update
* remove unnecessary downloads, force silent and restart modes if user chooses to install update immediately
* add app.exit() for installing (fixes bug on Windows)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Removing @observer decorator from <App/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add observer wrapper to <MainLayoutHeader/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix eslint claim
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving extension route renderers to components
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing external observables out from App render()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fetching hosted cluster inside Command Palette
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting route lists explicitly
To avoid using observable data within tabRoutes arrays
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Review fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Remove mixing of async and promises
- Remove unnecessary instance close method
- Use condition call syntax
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Render only secret name on pod details without access to secrets
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Preserving layout when amount of secrets passed
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refactor secrets to observable map
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Ignore clusters with invalid kubeconfig
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Improve error message
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Mark cluster as dead if kubeconfig loading fails
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix tests
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Validate cluster object in kubeconfig when constructing cluster
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add unit tests for validateKubeConfig
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Refactor validateKubeconfig unit tests
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Extract ValidationOpts type
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add default value to validationOpts param
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Change isDead to property
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix lint issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add missing new line
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Update validateKubeConfig in-code documentation
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Remove isDead property
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Display warning notification if invalid kubeconfig detected (#2233)
* Display warning notification if invalid kubeconfig detected
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* 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>
- Add lens:// protocol handling with a routing mechanism
- document the methods in an extension guide
- remove handlers when an extension is deactivated or removed
- make sure that the found extension when routing a request is currently enabled (as a backup)
- added documentation about the above behaviour to the guide
- tweaked the naming convention so that it is clearer that the router uses extension names as not IDs (which currently are folder paths)
- Convert the extension API to use an array for registering handlers
- switch design to execute both main and renderer handlers simultaneously, without any overlap checking
- change open to be a dev dep
- improve docs, export types for extensions, skip integration tests
- switch to event emitting renderer being ready
- Add logging and fix renderer:loaded send to main
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* the select all checkbox should not select disabled items
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* remove improper bullet-proofing
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added default for customizeTableRowProps
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Refactor of excludeDeprecated helm service method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Pick first helm chart from the list on load
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing helm filtering in UI
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up type definitions
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding sorting charts by version
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tests for methods that manipute chart listing
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up tests a bit
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding semver coercion before comparing versions
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Move all strings of the form {`...`} to use just ""
- Fix RoleBindingDetails not rendering the name of the role binding
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Fix auto update on quit with newer version
- If the user specifies that Lens should auto update on quit to a specific version, and before they quit the auto-updater finds a newer version. Then disregard the previous request to update
- reset broadcast-ed version if failed to broadcast
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* - fix: proper sorting for resource age column
- use Date.now() instead of new Date().getTime() (#2141 follow-up)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: proper bar-chart tooltip callback
Signed-off-by: Roman <ixrock@gmail.com>
* fix: sorting in cronjobs, more Date.now() replacements
Signed-off-by: Roman <ixrock@gmail.com>
* fix: use default sorting for <Events/> as on "timeline" (fresh on top)
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* convert comments to jsdoc (table.tsx)
Signed-off-by: Roman <ixrock@gmail.com>
* fix isLoadingAll within KubeObjectStore.loadItems
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix isLoadingAll within KubeObjectStore.loadItems
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Load releases for all namespaces at once
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Check for accessibleNamespaces length
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing loadAll() to loadFromContextNamespaces()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update store key after api's apiBase change
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Re-register existing store when registering API
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Revert kube-api changes
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* improve kube watch error handling
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* review fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* no more object.assign
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* keep only items from non-loaded namespaces
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix sleep/resume
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fallback retry only on error
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>
* Replace placeholder component in NamespaceSelectFilter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Saving apiManager store keys with string type
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing stores key from "kind" to "apiBase"
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* add auto-update notifications and confirmation
* Show single update notification (#1985)
* Moving notification icons to top (#1987)
* Switch to EventEmitter (producer&consumer) model
* Add `onCorrect` and `onceCorrect` to ipc module for typechecking ipc messages
* move type enforced ipc methods to seperate file, add unit tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* 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>
* Convert StatusBarRegistration to use components field
- More similar to all other *Registration types for extensions
- Simpler fix for using the components.Icon type, now accepts functions
that return component instance like all other *Registration types
- Kept old fix for backwards compatability
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix docs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* 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>
* allow to quick select/deselect all namespaces in `NamespaceSelect`
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* Allow users to specify the namespace when creating a custom role.
* Default role namespace remains the "global" namespace allowing for
cluster role creatoin.
Signed-off-by: Jameel Al-Aziz <me@jalaziz.io>
* wip: command palette
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* register shortcut to global menu
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* introduce openCommandDialog & closeCommandDialog
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ipc broadcast to frames from renderer
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add more commands
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* implement workspace edit
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workspace edit fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make tests green
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes from code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup ipc
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup CommandRegistry
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ClusterManager cluster auto-init
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ensure cluster view is active before sending a command
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to last active cluster when workspace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* run integration tests serially
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes based on code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup more
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add workspace fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* chore / small fixes
Signed-off-by: Roman <ixrock@gmail.com>
* Watch api does not work for non-admins with lots of namespaces #1898 -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
* reset store on loading error
Signed-off-by: Roman <ixrock@gmail.com>
* added new cluster method: cluster.isAllowedResource
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading namespaces optimizations
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix: parse multiple kube-events from stream's chunk
Signed-off-by: Roman <ixrock@gmail.com>
* fix: mobx issue with accessing empty observable array by index (removes warning), use common logger
Signed-off-by: Roman <ixrock@gmail.com>
* fine-tuning
Signed-off-by: Roman <ixrock@gmail.com>
* fix: parse json stream chunks at client-side (might be partial, depends on network speed)
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 4
Signed-off-by: Roman <ixrock@gmail.com>
* auto-reconnect on online/offline status change, interval connection check
Signed-off-by: Roman <ixrock@gmail.com>
* check connection every 5m
Signed-off-by: Roman <ixrock@gmail.com>
* split concurrent watch-api requests by 10 at a time + 150ms delay before next call
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring / clean up
Signed-off-by: Roman <ixrock@gmail.com>
* use `plimit` + delay for k8s watch requests
Signed-off-by: Roman <ixrock@gmail.com>
* lint fix
Signed-off-by: Roman <ixrock@gmail.com>
* added explicit `preload: true` when subscribing stores
Signed-off-by: Roman <ixrock@gmail.com>
* kubeWatchApi refactoring / fine-tuning
Signed-off-by: Roman <ixrock@gmail.com>
* clean up
Signed-off-by: Roman <ixrock@gmail.com>
* Configurable columns in Deployments table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in DaemonSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in StatefulSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ReplicaSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Jobs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in CronJobs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Nodes table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ConfigMaps table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Secrets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ResourceQuota table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in LimitRanges table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in HPAs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in PodDistributionBudget table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Services table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Endpoints table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Ingresses table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in NetworkPolicies table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Storage section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Namespaces table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Events table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Apps section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Access Control section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in CRDs tables
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding LogTabStore
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding Pod selector in logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refresh containers on pod change
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding <LogResourceSelector /> tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding LogTabStore tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clearn getPodsByOwnerId method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Extracting dummy pods into mock file
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Eliminating containers and initContainers from store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refreshing tab pods if pod amount is changed in store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* A bit of cleaning up, fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix lint newline errors
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Return getPodsByOwner() method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Rename log tab when pod changes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix extension cluster pages re-render when they are registered as a sub-menu item
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* lint fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* chore / small fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
* reset store on loading error
Signed-off-by: Roman <ixrock@gmail.com>
* added new cluster method: cluster.isAllowedResource
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading namespaces optimizations
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* Expanding tolerations div width
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tolerations table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tolerations table styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding <PodTolerations/> tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add new line at the end of the file for linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Making "since" date visible as bolded text
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing colors in log tab elements
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* enable default workspace on first boot
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use get/set
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Prevent initializing clusters multiple times
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Do not expose intializing to cluster state
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Convert initializing to observable and ensure it is set to false after init
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Adding bottom toolbar to logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Making bottom toolbar responsive
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using generic search input clear button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing log test selectors
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix fill the gaps logic in normalize metrics
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use pid+frameId
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use correct process id
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>