1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Commit Graph

43 Commits

Author SHA1 Message Date
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
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
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
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
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
Jari Kolehmainen
b1274cbb33
Extensible welcome page (#2637)
* welcome/landing page

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

* fix integration tests

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-04-27 11:24:39 +03:00
Sebastian Malton
1f854d0a0f
Cherry-pick from 4.2.3 (#2628)
* Fix: logs data disapearing causing crashes (#2566)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Refactor helm-chart.api and improve kube validation and error handling (#2265)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix: HPA's not sortable by age (#2565)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Conditionally render status icon for kube meta (#2298)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix custom resource loading spinner appears above extensions' cluster menus (#2344)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Lens should point to the release docs (#2268)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Refactor the Extensions settings page (#2221)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* try and get jest to not core dump

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2021-04-27 08:11:50 +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
Jari Kolehmainen
8dde4a1ecb
Refactor cluster settings to catalog entity settings (#2525)
* fix cluster settings page layout

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

* cleanup

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

* refactor cluster settings to pluggable entity settings

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>

* fix gh actions network timeout on yarn install

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

* review changes

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-04-20 07:05:44 +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
df2d79173f
Fix extension command palette loading (#2351)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2021-03-17 15:13:03 +02:00
Sebastian Malton
1470103fd4
Add lens:// protocol handling with a routing mechanism (#1949)
- 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>
2021-02-25 09:32:40 -05:00
Jari Kolehmainen
75c70a1141
Fix extension loader race conditions (#1815)
* fix extension loader race conditions

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

* cleanup

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

* fix tests

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

* fix remove

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

* ensure symlinked (dev) extensions are installed on boot

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-12-23 11:56:11 +02:00
Panu Horsmalahti
432b00b8cc
Refactor ExtensionsStore (#1620)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-03 11:43:33 +02:00
Panu Horsmalahti
7798dce61d
Enable installed extensions by default (#1572)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-12-02 11:37:23 +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
Panu Horsmalahti
263d56b3c1
Disable Uninstall and Enable/Disable buttons while uninstalling. Add Notification for uninstall. (#1539)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-27 10:23:12 +02:00
Panu Horsmalahti
ccd38b5cbe
Add extension uninstall (#1524)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-26 10:45:47 +02:00
Panu Horsmalahti
4e02e086a9
Remove extension when folder is removed during runtime (#1518)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-26 09:40:37 +02:00
Sebastian Malton
4e6b8ee10e
Add designated folder for extensions (#1245)
* add store for mapping extension names to filesystem paths

- add extension mechinism for getting a folder to save files to

- add test to make sure that extensions are being loaded

- skip extension loading test

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-24 10:28:08 -05:00
Jari Kolehmainen
1be86b34f4
Add LensRendererExtension.isEnabledForCluster (#1502)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-24 16:15:14 +02:00
Panu Horsmalahti
c79cee0311
Watch for added/removed local extensions (#1482)
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-24 10:48:40 +02:00
Panu Horsmalahti
460dfe4d2b Use @typescript-eslint/semi.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
2020-11-19 18:12:52 +02: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
d60eee20cc
fix extensionLoader error on dev environments where renderer might start early (#1447)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-19 16:11:58 +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
df0f080380
Simplify pages/menus/registry extension api internal implementation (#1364)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
2020-11-13 17:04:39 +02:00
Roman
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
Lauri Nevala
85c4a10114
Implement KubeObjectStatusText extension API (#1188)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-11 08:57:15 +02:00
Roman
94ac081588
Extensions api fixes (#1233)
* fix: create extension instance only when enabled

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

* mark extension.isEnabled with private modifier

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

* try-catch errors for extension.disable()

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

* fixes & refactoring

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

* make ext.isBundled non optional

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-07 18:56:26 +02:00
Roman
f9578ba407
UI for enabling/disabling extensions (#1208)
* Extensions page and menu item

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Basic extension list view

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding get userExtensions filter

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Using WizardLayout at extension page

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding search to extension page

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Few style fixes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* clean up

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

* added folder-icon to open extensions in finder, refactoring

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

* remove export warnings in dev:main, tooltip.getPosition() fix

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

* refactoring base lens-extension.ts, added `isBundled` flag

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

* added enabled/disable buttons

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

* auto enable/disable extensions -- part 1

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

* auto enable/disable extensions -- part 2

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

* auto enable/disable extensions -- part 3

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

* auto enable/disable extensions -- part 4

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

* refactoring & fixes

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

* fix: use page-layout with fullsize viewport

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

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-04 19:25:36 +02:00
Jari Kolehmainen
70a8982c9f
Add missing kubeObjectDetailItems observable to LensRendererExtension (#1187)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 21:49:16 +02:00
Roman
67754ffbb9
Get rid of this.disposers while registering stuff in extensions (#1148)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-27 17:07:21 +02:00
Alex Andreev
e9ebd06664
Allowing any item for StatusBarRegistration (#1143)
* Adding extension's label text next to Icon

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing unused registerStatusBarItem()

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-26 17:29:54 +03:00
Roman
9b9bf47970
Refactor PageRegistration to separate registries/interfaces #1130 (#1144)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-26 15:40:34 +02:00
Jari Kolehmainen
62ae7771df
Allow extensions to define cluster features (#1125)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-26 08:21:22 +02:00
Roman
f3a0059355
Extension support page (#1112)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
2020-10-24 09:24:54 +03:00
Jari Kolehmainen
99db7aca19
Allow extensions to register kube-object menus + details (#1108)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-22 21:41:20 +03:00
Jari Kolehmainen
45abc740e9
Initial telemetry extension (#1067)
* initial telemetry extension

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

* Fix preferences saving and default value

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-13 12:57:38 +03:00
Jari Kolehmainen
4f98a01a8b
Improve how extension-api is exposed/loaded (#1055)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-09 14:12:40 +03:00
Jari Kolehmainen
aa864fc199
Support extensions in main process (#1032)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-08 11:52:45 +03:00
Jari Kolehmainen
2b6f283e1b
Allow extensions to have external dependencies (#1018)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-05 16:39:58 +03:00