Commit Graph
100 Commits
Author SHA1 Message Date
Roman a837311095 master-merge fix: added missing makeObservable(this) for extensions.tsx
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-23 16:01:15 +03:00
Roman 7559b7e5fd Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/renderer/components/+extensions/extensions.tsx
2021-05-23 15:55:35 +03:00
Roman c37aeab640 clean-up: remove app's injecting dependencies from extensions/kube-object-event-status/package.json
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-20 19:26:16 +03:00
Roman fd9a24fcd9 reverting splitted params for catalog's page route to "/catalog/:group?/:kind?"
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-20 19:22:32 +03:00
Roman 01fd4fd3c6 master-merge conflict fixes:
- proper handling and navigating into catalog's active category via URL-builder

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-20 18:35:09 +03:00
Roman f648597266 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/main/catalog-pusher.ts
#	src/main/index.ts
#	src/renderer/api/catalog-entity-registry.ts
#	src/renderer/components/+catalog/catalog.tsx
2021-05-20 17:38:49 +03:00
Roman c91fe40ff9 merge fixes
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-20 15:50:33 +03:00
Roman e97549205a Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/main/catalog/catalog-entity-registry.ts
2021-05-20 15:42:54 +03:00
Roman de11075d2d reverted some changes, removed auto-opening devtools in dev-mode
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-20 13:49:46 +03:00
Roman 7e0d2065f8 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-category-registry.ts
#	src/renderer/api/catalog-entity-registry.ts
2021-05-20 13:27:43 +03:00
Roman dc91605fb0 make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-19 20:09:12 +03:00
Roman 93e7febc94 master-merge fixes
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-19 20:05:56 +03:00
Roman 7fcc9fac46 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-entity-registry.ts
#	src/common/cluster-store.ts
#	src/extensions/registries/page-registry.ts
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/main/extension-filesystem.ts
#	src/renderer/api/endpoints/configmap.api.ts
#	src/renderer/api/endpoints/job.api.ts
#	src/renderer/api/endpoints/resource-quota.api.ts
#	src/renderer/api/endpoints/secret.api.ts
#	src/renderer/api/kube-object.ts
#	src/renderer/api/kube-watch-api.ts
#	src/renderer/components/+apps-releases/release-menu.tsx
#	src/renderer/components/+catalog/catalog-add-button.tsx
#	src/renderer/components/+cluster/cluster-issues.tsx
#	src/renderer/components/+custom-resources/crd-resources.tsx
#	src/renderer/components/+entity-settings/entity-settings.tsx
#	src/renderer/components/+storage-volumes/volume-details-list.tsx
#	src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx
#	src/renderer/components/+workloads-pods/pod-details-list.tsx
#	src/renderer/components/cluster-manager/cluster-view.tsx
#	src/renderer/components/cluster-settings/components/cluster-metrics-setting.tsx
#	src/renderer/components/cluster-settings/components/show-metrics.tsx
#	src/renderer/components/dock/__test__/dock-tabs.test.tsx
#	src/renderer/components/dock/log.store.ts
#	src/renderer/components/dock/logs.tsx
#	src/renderer/components/dock/upgrade-chart.store.ts
#	src/renderer/components/icon/icon.tsx
#	src/renderer/components/kube-object/kube-object-menu.tsx
#	src/renderer/components/notifications/notifications.store.tsx
#	src/renderer/hooks/useStorage.ts
#	src/renderer/navigation/page-param.ts
2021-05-19 19:53:31 +03:00
Roman 77de16c18b fix unit-tests
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-19 19:47:04 +03:00
Roman f4b0d63f71 master-merge clean up fix, updated package-lock.json for built-in extensions after make clean-extensions && make build-extensions
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-19 12:57:43 +03:00
Roman 9a702c46a6 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	extensions/kube-object-event-status/package-lock.json
#	extensions/metrics-cluster-feature/package-lock.json
#	extensions/node-menu/package-lock.json
#	extensions/node-menu/package.json
#	extensions/pod-menu/package-lock.json
#	extensions/pod-menu/package.json
2021-05-19 12:50:11 +03:00
Roman 61c144d3fb - added missing makeObservable(this) to metrics-settings.tsx
- updated package-lock.json for built-in extensions
- lint fixes

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-18 18:14:55 +03:00
Roman 47b145ed05 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/extensions/cluster-feature.ts
#	src/renderer/components/+catalog/catalog-add-button.tsx
#	src/renderer/components/+catalog/catalog.tsx
#	src/renderer/components/cluster-settings/components/cluster-prometheus-setting.tsx
#	src/renderer/components/cluster-settings/components/remove-cluster-button.tsx
2021-05-18 16:39:34 +03:00
Roman 03f0e38c75 Merge remote-tracking branch 'origin/master' into mobx6-migration 2021-05-18 14:54:04 +03:00
Roman d8e7823fec updated package.json for built-in extensions to use "*" version for packages served from main app
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-18 14:51:28 +03:00
Roman 448d1ccd61 fix: refresh visibility of active cluster-view on switching from hotbar/catalog
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-18 14:16:06 +03:00
Roman 8882e65456 fix: redirect to catalog when disconnecting active cluster
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-18 13:40:24 +03:00
Roman 267b070771 lint-fix/license check
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-18 13:20:19 +03:00
Roman 84f7ae0830 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/hotbar-store.ts
#	src/renderer/components/+catalog/catalog.tsx
2021-05-18 13:16:27 +03:00
Roman 7476bf9728 fix: HotBar's icon context menu items non-observable (no "disconnect cluster", etc.)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-17 15:48:54 +03:00
Roman 01968505e7 fix: Catalog is empty after closing main-window and re-opening app from Tray
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-17 15:16:36 +03:00
Roman 542194c609 fix: catalog's items stale/non-observable (after connection to the cluster status still "disconnected"), lint-fixes
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-17 14:28:23 +03:00
Roman 3d0504c2a9 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/jest.setup.ts
2021-05-17 12:48:49 +03:00
Roman 73ebf0a457 catalog-pusher clean up, replaced .observe_() to external observe() helper from "mobx"
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-16 15:36:02 +03:00
Roman 3405c49613 fix: app-crash when navigating to catalog from active cluster-view, refactoring catalog-entity-store
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-15 13:49:13 +03:00
Roman 97ad405f9f clean up / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-14 22:36:50 +03:00
Roman 456490cca0 update KubeObject class type definition
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-14 16:18:37 +03:00
Roman 6addce21fb - Merging interfaces & classses to avoid overwriting fields from parent's super(data)-call with Object.assign(this, data). Otherwise use "declare" keyword at class field definition.
- Revamping {useDefineForClassFields: true} to avoid issues with non-observable class fields in some cases (from previous commit):

```
@observer
export class CommandContainer extends React.Component<CommandContainerProps> {
  // without some defined initial value "commandComponent" is non-observable for some reasons
  // when tsconfig.ts has {useDefineForClassFields:false}
  @observable.ref commandComponent: React.ReactNode = null;

  constructor(props: CommandContainerProps) {
    super(props);
    makeObservable(this);
  }
```

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-14 16:04:30 +03:00
Roman 291595d476 fix: CommandPalette doesn't appear from global menu by click/hotkey
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-14 14:29:24 +03:00
Roman b1ae284b3b fix: Catalog -> Browse all tab
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-13 16:46:54 +03:00
Roman 4cfe3b1521 catalog.tsx / catalog-entities.store.ts refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-13 16:38:24 +03:00
Roman 68a6ed52c0 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/renderer/components/hotbar/hotbar-icon.tsx
2021-05-13 13:16:28 +03:00
Roman ca49305014 master-merge lint-fixes
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-12 19:01:12 +03:00
Roman 88c9fe3210 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-category-registry.ts
#	src/common/catalog/catalog-entity-registry.ts
#	src/common/hotbar-store.ts
#	src/common/search-store.ts
#	src/common/utils/autobind.ts
#	src/common/utils/extended-map.ts
#	src/common/utils/toggle-set.ts
#	src/extensions/extension-api.ts
#	src/extensions/renderer-api/navigation.ts
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/renderer/api/catalog-entity-registry.ts
#	src/renderer/api/endpoints/cluster-role.api.ts
#	src/renderer/api/endpoints/endpoint.api.ts
#	src/renderer/api/endpoints/poddisruptionbudget.api.ts
#	src/renderer/api/endpoints/podsecuritypolicy.api.ts
#	src/renderer/api/endpoints/role-binding.api.ts
#	src/renderer/api/endpoints/service-accounts.api.ts
#	src/renderer/api/endpoints/service.api.ts
#	src/renderer/api/endpoints/storage-class.api.ts
#	src/renderer/api/websocket-api.ts
#	src/renderer/components/+catalog/catalog-entity.store.ts
#	src/renderer/components/+cluster/cluster-overview.store.ts
#	src/renderer/components/+config-autoscalers/hpa.store.ts
#	src/renderer/components/+config-limit-ranges/limit-ranges.store.ts
#	src/renderer/components/+custom-resources/crd-resource.store.ts
#	src/renderer/components/+custom-resources/crd.store.ts
#	src/renderer/components/+namespaces/namespace.store.ts
#	src/renderer/components/+network-ingresses/ingress.store.ts
#	src/renderer/components/+storage-volume-claims/volume-claim.store.ts
#	src/renderer/components/+user-management-service-accounts/service-accounts.store.ts
#	src/renderer/components/+workloads-daemonsets/daemonsets.store.ts
#	src/renderer/components/+workloads-deployments/deployments.store.ts
#	src/renderer/components/+workloads-replicasets/replicasets.store.ts
#	src/renderer/components/+workloads-statefulsets/statefulset.store.ts
#	src/renderer/components/command-palette/command-dialog.tsx
#	src/renderer/components/dock/dock-tab.store.ts
#	src/renderer/components/dock/edit-resource.store.ts
#	src/renderer/components/dock/install-chart.store.ts
#	src/renderer/components/dock/log.store.ts
#	src/renderer/components/dock/upgrade-chart.store.ts
#	src/renderer/components/item-object-list/page-filters.store.ts
#	src/renderer/navigation/page-param.ts
#	src/renderer/theme.store.ts
2021-05-12 18:57:52 +03:00
Roman 16d4fb1818 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/renderer/components/+user-management/user-management.tsx
#	src/renderer/components/layout/sidebar.tsx
#	yarn.lock
2021-05-12 17:19:26 +03:00
Roman df686a64b9 Reverted "use {useDefineForClassFields: true} in tsconfig.json" (various app-crash fixes)
This flag seems to be not possible to use with class-inheritance in some cases.

Example / demo:
`KubeObject` class has initial type definitions for the fields like: "metadata", "kind", etc.
and constructor() has Object.assign(this, data);
Meanwhile child class, e.g. KubeEvent inherited from KubeObject and has it's own extra type definitions for underlying resource, e.g. "involvedObject", "source", etc.

So calling super(data) doesn't work as expected for child class as it's own type definitions overwrites data from parent's constructor with `undefined` at later point.

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-12 17:13:13 +03:00
Roman 0c83513e51 fix: various app-crashes related to kube-events (events page, some details page, overview, etc.)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-12 14:44:51 +03:00
Roman b15713cc42 refactoring: extensions-api exports clarification for "@k8slens/extensions"
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-12 14:04:42 +03:00
Roman b9354584cf fix: crd definitions -> groups selector couldn't deselect last selected option
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-11 14:39:26 +03:00
Roman a3a9be4a4f fix: crd definition details -> crashing with <AceEditor mode="json"> (added missing mode-file in ace-editor.tsx)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-11 13:27:57 +03:00
Roman cf664de29b - fix: persist table-sort params and cluster-view's sidebar state to lens-local-storage
- new-feature: auto-open main-window's devtools in development-mode (yes/no/ugly?)

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 23:22:36 +03:00
Roman 749eb4a42b fix: restore "all namespaces" on page reload
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 21:22:00 +03:00
Roman 5c67bb7ae2 fix: app-crash on editing k8s resource
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 20:26:13 +03:00
Roman ed1f88b5d8 fix: don't cache mobx.when(() => this.someObservable) cause might not work as expected due later call of makeObservable(this) in constructor
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 17:35:20 +03:00
Roman 3357269c5d fix: namespace-store refactoring / saving selected-namespaces to external json-file
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-10 15:55:07 +03:00
Roman f96b789280 fix: various app-crashes related to KubeObject.spec.* access from "undefined"
fix: config-map-details crash

Signed-off-by: Roman <ixrock@gmail.com>
2021-05-09 23:57:08 +03:00
Roman e5c0fe5d65 fix: refreshing cluster-view on ready
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-09 23:22:01 +03:00
Roman 995e032be4 debugging cluster-view error -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-09 18:39:51 +03:00
Roman 6ee2385d3c refactoring, more possible branch fixes + lint
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-08 15:06:27 +03:00
Roman 0c8ff6a1d6 normalize usages of #observable-value.toJSON() / attempt to catch the wind
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-08 13:52:12 +03:00
Roman d4d03532d7 storage-helper refactoring
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-07 14:16:11 +03:00
Roman 81a6b3ce17 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/renderer/kube-object.store.ts
2021-05-07 12:29:55 +03:00
Roman d60f1a775a fix: removed makeObservable(this) from "terminal-tab.tsx"
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-07 12:26:51 +03:00
Roman 8e6770114b use {useDefineForClassFields: true} in tsconfig.json
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 19:52:50 +03:00
Roman e1af76754a removed @observable static
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 19:41:15 +03:00
Roman 5d09d7a126 mobx-6: use toJS()-wrapper since monkey-patching require(mobx).toJS doesn't work
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 18:55:14 +03:00
Roman 4a9178e8ea mobx-6: replacing @autobind() as method-decorator to @boundMethod
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 17:24:11 +03:00
Roman 884f8ae523 mobx-6 migration -- remove @autobind as class-decorator
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 17:07:57 +03:00
Roman ecc3aa0820 unwrap possible observables from IPC-messaging
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 16:23:04 +03:00
Roman 02aa3217c3 mobx-6 migration -- part 3 (more fixes)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 15:59:48 +03:00
Roman ae1b840df7 mobx-6 migration -- part 2 (npx mobx-undecorate --keepDecorators)
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 15:49:22 +03:00
Roman a0fb8b5933 mobx-6 migration -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
2021-05-06 15:09:24 +03:00
Roman 2c50e7aa1c refactoring: get rid of SidebarItem.props.subMenus in favour of props.children only (#2384)
Signed-off-by: Roman <ixrock@gmail.com>
2021-03-25 13:19:58 +02:00
Roman 6789815217 Set initial cursor position for the editor to beginning (#2385)
Signed-off-by: Roman <ixrock@gmail.com>
2021-03-24 13:22:17 -04:00
Roman 4303700bb2 Fix: highlight sidebar's active section (#2366)
* - 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>
2021-03-24 15:17:56 +02:00
RomanandSebastian Malton 62c3501011 Fix: incorrect subscribing event name to navigate in cluster view (#2363)
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2021-03-23 11:04:31 -04:00
Roman e70ac87c52 Fix: editing resource is broken when another resource is being editing (#2364)
Signed-off-by: Roman <ixrock@gmail.com>
2021-03-23 08:11:11 -04:00
Roman aedcc6d70e Persist local-storage in external json-file (#2279) 2021-03-18 08:36:34 -04:00
Roman c815396622 Fix: cluster-settings page back-button navigation is broken (#2330)
Signed-off-by: Roman <ixrock@gmail.com>
2021-03-12 12:48:09 -05:00
Roman 9bb9e23d55 fix: allow scrolling in main-layout's content area (#2201)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-22 20:29:26 +02:00
Roman 25f4833117 - fix: don't reset selected "all namespaces" on page reload (#2185)
- fix: don't reload namespaces on every page visit / NamespaceSelect.render()

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-22 14:44:21 +02:00
Roman 82d8181938 Fix: proper sorting resources by age column (#2182)
* - 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>
2021-02-19 14:21:07 +02:00
Roman 5029196d15 Fix: events sorting with compact=true is broken (#2141)
* 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>
2021-02-18 12:21:41 +02:00
Roman b8c78cd18f fix: keep last selected row during navigation in the details panel (#2165)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-17 13:39:27 +02:00
Roman b873ba76bd Fix: compact-mode for Workloads overview -> Events (#2113)
fix: proper event-type column + default sorting by warning events

Signed-off-by: Roman <ixrock@gmail.com>
2021-02-11 13:56:20 +02:00
Roman 741973dd29 Fix: export Dialog to extensions-api (#2105)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-09 17:33:27 +02:00
Roman b514e5c833 proper select-all option for NamespaceSelect (#2084)
Signed-off-by: Roman <ixrock@gmail.com>
2021-02-04 19:24:39 +02: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
Roman 1b492f27ad Allow to quick select/deselect all namespaces in NamespaceSelect (#2068)
* 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>
2021-02-03 19:01:45 +02:00
Roman 078f952b36 Watch-api streaming reworks (#1990)
* 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>
2021-02-01 15:49:32 +02:00
Roman f8c111ddd8 Load k8s resources only for selected namespaces (#1918)
* 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>
2021-01-22 13:18:46 +02:00
Roman d8e088f352 fix: chart.digest is the same for all charts and not suited as unique id (#1964)
Signed-off-by: Roman <ixrock@gmail.com>
2021-01-19 14:15:37 +02:00
Roman b547541ea8 fix: events pages renders incorrect tooltip as non-parsed template (#1919)
Signed-off-by: Roman <ixrock@gmail.com>
2021-01-08 17:01:23 +02:00
Roman b8752f7127 Don't open Lens at OS login by default, close #1697 (#1859)
Signed-off-by: Roman <ixrock@gmail.com>
2020-12-30 01:56:46 +02:00
Roman be4e1aa15c Navigation refactoring, handling extension page params (#1651)
* decentralizing page url-params management -- PoC / tsc 4.1 random fixes

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

* fixes, tweak example-extension for demo

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

* lint fixes, revert tests

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

* removed occasional changes related to typescript 4.1

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

* updated example with 2 menu-items targeting same page with different params

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

* fix: merge page url chunks with native URL()-api, simplified default page-params registration

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

* fix: make lint happy

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

* fix: unit-tests

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

* renaming by jim's request: UrlParam => PageParam (type), createUrlParam => createPageParam (helper)

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

* fix: reverting NamespaceStore public-api breaking changes

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

* lint fix

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

* fine-tuning

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

* yes, lint always unhappy

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

* fix build

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

* small fixes

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

* fix merge-conflicts

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

* removed `isSystem` page-param's init field exposed to extensions-api

Signed-off-by: Roman <ixrock@gmail.com>
2020-12-22 15:29:25 +02:00
Roman d281ff4a21 Fix: missing dependent types for Select and Slider components (#1828)
* Types for Select and Slider components are not fully exported, fix #1824

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

* remove unused @types/material-ui package

Signed-off-by: Roman <ixrock@gmail.com>
2020-12-22 14:38:06 +02:00
Roman 10eb082854 Fix: add-cluster page D&D is broken (#1549)
* fix: add-cluster page D&D kube-config don't work: Error-info: <DropFileInput/> must contain only single child element

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

* renaming

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-27 15:10:58 +02:00
Roman 7243dfdce4 Installing extensions UI improvements (#1522)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-25 16:42:19 +02:00
Roman 4474d87ed2 Fix: Unhandled exception for <DropFileInput disabled={true}/> (#1512)
* fix: invalid handling disabled={false} causing app crash

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

* re-fix: put React.Children.only() validation inside try-catch to avoid crash as well

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-25 11:55:30 +02:00
Roman 77ae31550a Allow to install packed extensions from URL or local file (#1456)
* Option to install an extension from filesystem/url #1227 -- part 1 (UI)

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

* DropFileInput: common component to handle droped files (replaced also in add-cluster-page)

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

* fix: install via url-string on input.submit

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

* ui tweaks & minor fixes

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

* more ui/ux tweaks & fixes

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

* layout fixes

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

* component renaming: `copy-to-click` => `copy-to-clipboard` => `clipboard`

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

* reworks -- part 1

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

* fix downloading file, added common/utils/downloadFile

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

* confirm before install, unpack tar first steps

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

* installation flow, extracting .tgz

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

* clean up, fix lint issues

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

* update .azure-pipelines.yml

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

* fixes & refactoring

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

* fix lint harder :/

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

* fix validation

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

* fix validation harder

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

* responding to comments, fixed package validation

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

* common/utils/tar.ts: reject with Error-type

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

* fix: unit-tests

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-25 09:55:28 +02:00
Roman 13dbdac2f2 PageRegistration / PageMenuRegistration fixes & more simplification (#1386)
* PageRegistration & PageMenuRegistration fixes & more simplification, fix #1383

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

* clean up test, deprecate page.routePath

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

* fix: proper `isActive` state matching for page-menu-target to page considering current document location

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-16 15:18:53 +02:00
RomanandJari Kolehmainen faa1cef307 PageRegistration & BaseRegistry refactoring (#1334)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 16:29:02 +02:00
Roman 1f88c05e82 Refactoring: removed kube versioned api (#1328)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-12 08:39:50 +02:00
Roman c67dad54e3 fix: allow to select kube-api objects with label & field selectors (#1327)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-11 13:42:36 +02:00
Roman f69f8c793f Export more UI components via extensions-api (#1285)
* export more UI components via extensions-api, touches #1277 #1284

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

* fix build, added table + notification-store exports

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 15:16:32 +02:00