@k8slens/extensions 6.0.1-git.03d2389f01.0 → 6.0.1-git.052764b462.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/src/common/app-event-bus/app-event-bus.global-override-for-injectable.d.ts +5 -0
  2. package/dist/src/common/base-store.d.ts +1 -1
  3. package/dist/src/common/cluster/cluster.d.ts +2 -0
  4. package/dist/src/common/fs/stat/stat.global-override-for-injectable.d.ts +5 -0
  5. package/dist/src/common/fs/stat/stat.injectable.d.ts +2 -0
  6. package/dist/src/common/fs/validate-directory.injectable.d.ts +4 -0
  7. package/dist/src/common/fs/watch/watch.global-override-for-injectable.d.ts +5 -0
  8. package/dist/src/common/fs/watch/watch.injectable.d.ts +4 -0
  9. package/dist/src/common/get-configuration-file-model/get-configuration-file-model.injectable.d.ts +1 -1
  10. package/dist/src/common/ipc/broadcast-message.injectable.d.ts +2 -2
  11. package/dist/src/common/k8s-api/endpoints/daemon-set.api.d.ts +1 -1
  12. package/dist/src/common/k8s-api/endpoints/index.d.ts +1 -0
  13. package/dist/src/common/k8s-api/endpoints/job.api.d.ts +4 -3
  14. package/dist/src/common/k8s-api/endpoints/metrics.api.d.ts +5 -2
  15. package/dist/src/common/k8s-api/endpoints/pod.api.d.ts +13 -129
  16. package/dist/src/common/k8s-api/endpoints/replica-set.api.d.ts +1 -1
  17. package/dist/src/common/k8s-api/endpoints/stateful-set.api.d.ts +1 -1
  18. package/dist/src/common/k8s-api/endpoints/types/capabilities.d.ts +17 -0
  19. package/dist/src/common/k8s-api/endpoints/types/container-port.d.ts +11 -0
  20. package/dist/src/common/k8s-api/endpoints/types/container.d.ts +158 -0
  21. package/dist/src/common/k8s-api/endpoints/types/env-from-source.d.ts +13 -0
  22. package/dist/src/common/k8s-api/endpoints/types/env-source.d.ts +11 -0
  23. package/dist/src/common/k8s-api/endpoints/types/env-var-key-selector.d.ts +9 -0
  24. package/dist/src/common/k8s-api/endpoints/types/env-var-source.d.ts +13 -0
  25. package/dist/src/common/k8s-api/endpoints/types/env-var.d.ts +10 -0
  26. package/dist/src/common/k8s-api/endpoints/types/exec-action.d.ts +18 -0
  27. package/dist/src/common/k8s-api/endpoints/types/handler.d.ts +15 -0
  28. package/dist/src/common/k8s-api/endpoints/types/http-get-action.d.ts +32 -0
  29. package/dist/src/common/k8s-api/endpoints/types/http-header.d.ts +17 -0
  30. package/dist/src/common/k8s-api/endpoints/types/index.d.ts +35 -0
  31. package/dist/src/common/k8s-api/endpoints/types/lifecycle.d.ts +15 -0
  32. package/dist/src/{main/routes/metrics/metrics-query.d.ts → common/k8s-api/endpoints/types/object-field-selector.d.ts} +4 -3
  33. package/dist/src/common/k8s-api/endpoints/types/pod-security-context.d.ts +20 -0
  34. package/dist/src/common/k8s-api/endpoints/types/probe.d.ts +70 -0
  35. package/dist/src/common/k8s-api/endpoints/types/resource-field-selector.d.ts +9 -0
  36. package/dist/src/common/k8s-api/endpoints/types/se-linux-options.d.ts +25 -0
  37. package/dist/src/common/k8s-api/endpoints/types/seccomp-profile.d.ts +27 -0
  38. package/dist/src/common/k8s-api/endpoints/types/security-context.d.ts +45 -0
  39. package/dist/src/common/k8s-api/endpoints/types/tcp-socket-action.d.ts +17 -0
  40. package/dist/src/common/k8s-api/endpoints/types/volume-device.d.ts +17 -0
  41. package/dist/src/common/k8s-api/endpoints/types/volume-mount.d.ts +12 -0
  42. package/dist/src/common/k8s-api/endpoints/types/windows-security-context-options.d.ts +36 -0
  43. package/dist/src/common/protocol-handler/router.d.ts +2 -0
  44. package/dist/src/common/utils/singleton.d.ts +1 -1
  45. package/dist/src/common/vars/package-json.injectable.d.ts +4 -0
  46. package/dist/src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api-with-modifications.d.ts +1 -1
  47. package/dist/src/extensions/common-api/k8s-api.d.ts +1 -1
  48. package/dist/src/extensions/extension-api.js +692 -515
  49. package/dist/src/extensions/extension-discovery/extension-discovery.d.ts +9 -2
  50. package/dist/src/extensions/extension-store.d.ts +1 -1
  51. package/dist/src/extensions/renderer-api/theming.d.ts +7 -1
  52. package/dist/src/features/cluster/workload-overview.test.d.ts +5 -0
  53. package/dist/src/features/pod-logs/download-logs.test.d.ts +5 -0
  54. package/dist/src/features/telemetry/emit-telemetry-from-specific-function-calls.test.d.ts +1 -0
  55. package/dist/src/features/telemetry/renderer/emit-telemetry.injectable.d.ts +5 -0
  56. package/dist/src/features/telemetry/renderer/telemetry-decorator.injectable.d.ts +11 -0
  57. package/dist/src/features/telemetry/renderer/telemetry-white-list-for-functions.injectable.d.ts +2 -0
  58. package/dist/src/main/__test__/cluster.test.d.ts +0 -4
  59. package/dist/src/main/helm/helm-chart-manager-cache.injectable.d.ts +7 -0
  60. package/dist/src/main/helm/helm-chart-manager.d.ts +9 -3
  61. package/dist/src/main/helm/helm-chart-manager.injectable.d.ts +4 -0
  62. package/dist/src/main/kube-auth-proxy/kube-auth-proxy.d.ts +3 -1
  63. package/dist/src/main/kube-auth-proxy/wait-until-port-is-used/wait-until-port-is-used.global-override-for-injectable.d.ts +5 -0
  64. package/dist/src/main/kube-auth-proxy/wait-until-port-is-used/wait-until-port-is-used.injectable.d.ts +3 -0
  65. package/dist/src/main/prometheus/helm-14.d.ts +14 -0
  66. package/dist/src/main/prometheus/helm.d.ts +3 -3
  67. package/dist/src/main/protocol-handler/lens-protocol-router-main/lens-protocol-router-main.d.ts +2 -0
  68. package/dist/src/main/router/router.d.ts +1 -1
  69. package/dist/src/main/utils/channel/ipc-main/ipc-main.global-override-for-injectable.d.ts +5 -0
  70. package/dist/src/renderer/api/catalog/entity/registry.d.ts +2 -0
  71. package/dist/src/renderer/components/+helm-releases/release-details/release-details-model/release-details-model.injectable.d.ts +3 -3
  72. package/dist/src/renderer/components/+workloads-overview/overview-workload-status.d.ts +19 -1
  73. package/dist/src/renderer/components/+workloads-overview/workloads/workload-injection-token.d.ts +2 -1
  74. package/dist/src/renderer/components/+workloads-pods/__tests__/pod-container-env.test.d.ts +5 -0
  75. package/dist/src/renderer/components/+workloads-pods/details/volumes/variant-helpers.d.ts +1 -1
  76. package/dist/src/renderer/components/+workloads-pods/pod-container-env.d.ts +4 -10
  77. package/dist/src/renderer/components/+workloads-pods/pod-details-container.d.ts +2 -2
  78. package/dist/src/renderer/components/chart/chart.d.ts +1 -0
  79. package/dist/src/renderer/components/cluster-settings/components/cluster-local-terminal-settings.d.ts +2 -1
  80. package/dist/src/renderer/components/dock/create-resource/view.d.ts +1 -2
  81. package/dist/src/renderer/components/dock/edit-resource/view.d.ts +1 -2
  82. package/dist/src/renderer/components/dock/install-chart/view.d.ts +3 -4
  83. package/dist/src/renderer/components/dock/logs/controls.d.ts +1 -3
  84. package/dist/src/renderer/components/dock/logs/create-pod-logs-tab.injectable.d.ts +2 -2
  85. package/dist/src/renderer/components/dock/logs/download-all-logs.injectable.d.ts +4 -0
  86. package/dist/src/renderer/components/dock/logs/download-logs-dropdown.d.ts +10 -0
  87. package/dist/src/renderer/components/dock/logs/download-logs.injectable.d.ts +2 -0
  88. package/dist/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.d.ts +2 -0
  89. package/dist/src/renderer/components/dock/logs/logs-view-model.d.ts +6 -1
  90. package/dist/src/renderer/components/dropdown/dropdown.d.ts +11 -0
  91. package/dist/src/renderer/components/layout/sidebar-item.d.ts +0 -1
  92. package/dist/src/renderer/components/status-bar/status-bar-registration.d.ts +5 -0
  93. package/dist/src/renderer/components/switch/form-switcher.d.ts +9 -2
  94. package/dist/src/renderer/components/switch/switcher.d.ts +7 -8
  95. package/dist/src/renderer/components/test-utils/get-application-builder.d.ts +1 -0
  96. package/dist/src/renderer/navigation/index.d.ts +0 -4
  97. package/dist/src/renderer/navigation/match-route.injectable.d.ts +3 -1
  98. package/dist/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.d.ts +2 -5
  99. package/dist/src/renderer/themes/active.injectable.d.ts +2 -0
  100. package/dist/src/renderer/themes/lens-dark.d.ts +2 -2
  101. package/dist/src/renderer/themes/lens-light.d.ts +2 -2
  102. package/dist/src/renderer/themes/store.d.ts +4 -4
  103. package/dist/src/renderer/utils/channel/ipc-renderer.global-override-for-injectable.d.ts +5 -0
  104. package/dist/src/renderer/utils/storageHelper.d.ts +1 -1
  105. package/package.json +1 -1
  106. package/dist/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.d.ts +0 -11
  107. package/dist/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.injectable.d.ts +0 -2
  108. package/dist/src/main/helm/__mocks__/helm-chart-manager.d.ts +0 -11
@@ -9,16 +9,23 @@ import type { ExtensionLoader } from "../extension-loader";
9
9
  import type { LensExtensionId, LensExtensionManifest } from "../lens-extension";
10
10
  import type { ExtensionInstallationStateStore } from "../extension-installation-state-store/extension-installation-state-store";
11
11
  import type { PackageJson } from "type-fest";
12
+ import type { ReadJson } from "../../common/fs/read-json-file.injectable";
13
+ import type { Logger } from "../../common/logger";
14
+ import type { PathExists } from "../../common/fs/path-exists.injectable";
15
+ import type { Watch } from "../../common/fs/watch/watch.injectable";
12
16
  interface Dependencies {
13
17
  extensionLoader: ExtensionLoader;
14
18
  extensionsStore: ExtensionsStore;
15
19
  extensionInstallationStateStore: ExtensionInstallationStateStore;
16
- isCompatibleBundledExtension: (manifest: LensExtensionManifest) => boolean;
17
20
  isCompatibleExtension: (manifest: LensExtensionManifest) => boolean;
18
21
  installExtension: (name: string) => Promise<void>;
19
22
  installExtensions: (packageJsonPath: string, packagesJson: PackageJson) => Promise<void>;
20
23
  extensionPackageRootDirectory: string;
21
24
  staticFilesDirectory: string;
25
+ readJsonFile: ReadJson;
26
+ pathExists: PathExists;
27
+ watch: Watch;
28
+ logger: Logger;
22
29
  }
23
30
  export interface InstalledExtension {
24
31
  id: LensExtensionId;
@@ -47,7 +54,7 @@ interface LoadFromFolderOptions {
47
54
  * - "remove": When extension is removed. The event is of type LensExtensionId
48
55
  */
49
56
  export declare class ExtensionDiscovery {
50
- protected dependencies: Dependencies;
57
+ protected readonly dependencies: Dependencies;
51
58
  protected bundledFolderPath: string;
52
59
  private loadStarted;
53
60
  private extensions;
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { BaseStore } from "../common/base-store";
6
6
  import type { LensExtension } from "./lens-extension";
7
- export declare abstract class ExtensionStore<T> extends BaseStore<T> {
7
+ export declare abstract class ExtensionStore<T extends object> extends BaseStore<T> {
8
8
  readonly displayName = "ExtensionStore<T>";
9
9
  protected extension?: LensExtension;
10
10
  loadExtension(extension: LensExtension): void;
@@ -2,4 +2,10 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- export declare function getActiveTheme(): import("../../renderer/themes/store").Theme;
5
+ import type { LensTheme } from "../../renderer/themes/store";
6
+ export declare const activeTheme: import("mobx").IComputedValue<LensTheme>;
7
+ /**
8
+ * @deprecated This hides the reactivity of active theme, use {@link activeTheme} instead
9
+ */
10
+ export declare function getActiveTheme(): LensTheme;
11
+ export type { LensTheme };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ declare const emitTelemetryInjectable: import("@ogre-tools/injectable").Injectable<({ action, args }: {
2
+ action: string;
3
+ args: any[];
4
+ }) => void, unknown, void>;
5
+ export default emitTelemetryInjectable;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import type { DiContainerForInjection, Injectable } from "@ogre-tools/injectable";
6
+ declare const telemetryDecoratorInjectable: Injectable<{
7
+ decorate: (instantiateToBeDecorated: any) => (di: DiContainerForInjection, instantiationParameter: any) => any;
8
+ }, {
9
+ decorate: (toBeDecorated: any) => any;
10
+ }, unknown>;
11
+ export default telemetryDecoratorInjectable;
@@ -0,0 +1,2 @@
1
+ declare const telemetryWhiteListForFunctionsInjectable: import("@ogre-tools/injectable").Injectable<string[], unknown, void>;
2
+ export default telemetryWhiteListForFunctionsInjectable;
@@ -1,5 +1 @@
1
- /**
2
- * Copyright (c) OpenLens Authors. All rights reserved.
3
- * Licensed under MIT License. See LICENSE in root directory for more information.
4
- */
5
1
  export {};
@@ -0,0 +1,7 @@
1
+ export interface ChartCacheEntry {
2
+ data: string;
3
+ mtimeMs: number;
4
+ }
5
+ export declare type HelmChartManagerCache = Map<string, ChartCacheEntry>;
6
+ declare const helmChartManagerCacheInjectable: import("@ogre-tools/injectable").Injectable<HelmChartManagerCache, unknown, void>;
7
+ export default helmChartManagerCacheInjectable;
@@ -5,15 +5,20 @@
5
5
  import type { RepoHelmChartList } from "../../common/k8s-api/endpoints/helm-charts.api";
6
6
  import type { SetRequired } from "type-fest";
7
7
  import type { HelmRepo } from "../../common/helm/helm-repo";
8
+ import type { HelmChartManagerCache } from "./helm-chart-manager-cache.injectable";
9
+ import type { Logger } from "../../common/logger";
8
10
  export interface HelmCacheFile {
9
11
  apiVersion: string;
10
12
  entries: RepoHelmChartList;
11
13
  }
14
+ interface Dependencies {
15
+ cache: HelmChartManagerCache;
16
+ logger: Logger;
17
+ }
12
18
  export declare class HelmChartManager {
13
- #private;
19
+ private dependencies;
14
20
  protected readonly repo: SetRequired<HelmRepo, "cacheFilePath">;
15
- private constructor();
16
- static forRepo(repo: HelmRepo): HelmChartManager;
21
+ constructor(repo: HelmRepo, dependencies: Dependencies);
17
22
  chartVersions(name: string): Promise<import("../../common/k8s-api/endpoints/helm-charts.api").RawHelmChart[]>;
18
23
  charts(): Promise<RepoHelmChartList>;
19
24
  private executeCommand;
@@ -25,3 +30,4 @@ export declare class HelmChartManager {
25
30
  }>;
26
31
  protected cachedYaml(): Promise<RepoHelmChartList>;
27
32
  }
33
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { HelmRepo } from "../../common/helm/helm-repo";
2
+ import { HelmChartManager } from "./helm-chart-manager";
3
+ declare const helmChartManagerInjectable: import("@ogre-tools/injectable").Injectable<HelmChartManager, unknown, HelmRepo>;
4
+ export default helmChartManagerInjectable;
@@ -9,11 +9,13 @@ import type { Cluster } from "../../common/cluster/cluster";
9
9
  import type { SelfSignedCert } from "selfsigned";
10
10
  import type { Spawn } from "../child-process/spawn.injectable";
11
11
  import type { Logger } from "../../common/logger";
12
+ import type { WaitUntilPortIsUsed } from "./wait-until-port-is-used/wait-until-port-is-used.injectable";
12
13
  export interface KubeAuthProxyDependencies {
13
14
  readonly proxyBinPath: string;
14
15
  readonly proxyCert: SelfSignedCert;
15
- spawn: Spawn;
16
+ readonly spawn: Spawn;
16
17
  readonly logger: Logger;
18
+ readonly waitUntilPortIsUsed: WaitUntilPortIsUsed;
17
19
  }
18
20
  export declare class KubeAuthProxy {
19
21
  private readonly dependencies;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ injectable: import("@ogre-tools/injectable").Injectable<import("./wait-until-port-is-used.injectable").WaitUntilPortIsUsed, unknown, void>;
3
+ overridingInstantiate: import("@ogre-tools/injectable").Instantiate<import("./wait-until-port-is-used.injectable").WaitUntilPortIsUsed, void>;
4
+ };
5
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export declare type WaitUntilPortIsUsed = (port: number, retryAfterMs: number, timeoutAfterMs: number) => Promise<void>;
2
+ declare const waitUntilPortIsUsedInjectable: import("@ogre-tools/injectable").Injectable<WaitUntilPortIsUsed, unknown, void>;
3
+ export default waitUntilPortIsUsedInjectable;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import { PrometheusLens } from "./lens";
6
+ import type { CoreV1Api } from "@kubernetes/client-node";
7
+ import type { PrometheusService } from "./provider-registry";
8
+ export declare class PrometheusHelm14 extends PrometheusLens {
9
+ readonly id: string;
10
+ readonly name: string;
11
+ readonly rateAccuracy: string;
12
+ readonly isConfigurable: boolean;
13
+ getPrometheusService(client: CoreV1Api): Promise<PrometheusService>;
14
+ }
@@ -2,13 +2,13 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import { PrometheusLens } from "./lens";
6
5
  import type { CoreV1Api } from "@kubernetes/client-node";
7
- import type { PrometheusService } from "./provider-registry";
8
- export declare class PrometheusHelm extends PrometheusLens {
6
+ import { PrometheusProvider, type PrometheusService } from "./provider-registry";
7
+ export declare class PrometheusHelm extends PrometheusProvider {
9
8
  readonly id: string;
10
9
  readonly name: string;
11
10
  readonly rateAccuracy: string;
12
11
  readonly isConfigurable: boolean;
13
12
  getPrometheusService(client: CoreV1Api): Promise<PrometheusService>;
13
+ getQuery(opts: Record<string, string>, queryName: string): string;
14
14
  }
@@ -6,11 +6,13 @@ import * as proto from "../../../common/protocol-handler";
6
6
  import URLParse from "url-parse";
7
7
  import type { LensExtension } from "../../../extensions/lens-extension";
8
8
  import type { LensProtocolRouterDependencies, RouteAttempt } from "../../../common/protocol-handler";
9
+ import type { BroadcastMessage } from "../../../common/ipc/broadcast-message.injectable";
9
10
  export interface FallbackHandler {
10
11
  (name: string): Promise<boolean>;
11
12
  }
12
13
  export interface LensProtocolRouterMainDependencies extends LensProtocolRouterDependencies {
13
14
  showApplicationWindow: () => Promise<void>;
15
+ broadcastMessage: BroadcastMessage;
14
16
  }
15
17
  export declare class LensProtocolRouterMain extends proto.LensProtocolRouter {
16
18
  protected readonly dependencies: LensProtocolRouterMainDependencies;
@@ -21,7 +21,7 @@ interface Dependencies {
21
21
  }
22
22
  export declare class Router {
23
23
  private dependencies;
24
- protected router: Call.Router<(request: LensApiRequest<string>, response: http.ServerResponse) => Promise<void>>;
24
+ protected router: Call.Router<(request: LensApiRequest<string>, response: http.ServerResponse<http.IncomingMessage>) => Promise<void>>;
25
25
  constructor(routes: Route<unknown, string>[], dependencies: Dependencies);
26
26
  route(cluster: Cluster | undefined, req: ServerIncomingMessage, res: http.ServerResponse): Promise<boolean>;
27
27
  protected getRequest(opts: RouterRequestOpts): Promise<LensApiRequest<string>>;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ injectable: import("@ogre-tools/injectable").Injectable<Electron.IpcMain, unknown, void>;
3
+ overridingInstantiate: import("@ogre-tools/injectable").Instantiate<Electron.IpcMain, void>;
4
+ };
5
+ export default _default;
@@ -7,11 +7,13 @@ import "../../../../common/catalog-entities";
7
7
  import type { Disposer } from "../../../utils";
8
8
  import { CatalogRunEvent } from "../../../../common/catalog/catalog-run-event";
9
9
  import type { Navigate } from "../../../navigation/navigate.injectable";
10
+ import type { Logger } from "../../../../common/logger";
10
11
  export declare type EntityFilter = (entity: CatalogEntity) => any;
11
12
  export declare type CatalogEntityOnBeforeRun = (event: CatalogRunEvent) => void | Promise<void>;
12
13
  interface Dependencies {
13
14
  navigate: Navigate;
14
15
  readonly categoryRegistry: CatalogCategoryRegistry;
16
+ logger: Logger;
15
17
  }
16
18
  export declare class CatalogEntityRegistry {
17
19
  protected readonly dependencies: Dependencies;
@@ -1,7 +1,7 @@
1
- import type { IObservableValue } from "mobx";
1
+ import type { IComputedValue, IObservableValue } from "mobx";
2
2
  import type { TargetHelmRelease } from "../target-helm-release.injectable";
3
3
  import type { CallForHelmRelease } from "./call-for-helm-release/call-for-helm-release.injectable";
4
- import type { ThemeStore } from "../../../../themes/store";
4
+ import type { LensTheme } from "../../../../themes/store";
5
5
  import type { CallForHelmReleaseConfiguration } from "./call-for-helm-release-configuration/call-for-helm-release-configuration.injectable";
6
6
  import type { GetResourceDetailsUrl } from "./get-resource-details-url.injectable";
7
7
  import type { CallForHelmReleaseUpdate } from "../../update-release/call-for-helm-release-update/call-for-helm-release-update.injectable";
@@ -25,7 +25,7 @@ export interface ConfigurationInput {
25
25
  interface Dependencies {
26
26
  callForHelmRelease: CallForHelmRelease;
27
27
  targetRelease: TargetHelmRelease;
28
- themeStore: ThemeStore;
28
+ activeTheme: IComputedValue<LensTheme>;
29
29
  callForHelmReleaseConfiguration: CallForHelmReleaseConfiguration;
30
30
  getResourceDetailsUrl: GetResourceDetailsUrl;
31
31
  updateRelease: CallForHelmReleaseUpdate;
@@ -4,7 +4,25 @@
4
4
  */
5
5
  import "./overview-workload-status.scss";
6
6
  import React from "react";
7
+ import type { PascalCase } from "type-fest";
8
+ import type { Workload } from "./workloads/workload-injection-token";
9
+ export declare type LowercaseOrPascalCase<T extends string> = Lowercase<T> | PascalCase<T>;
10
+ export declare type WorkloadStatus = Partial<Record<LowercaseOrPascalCase<keyof typeof statusBackgroundColorMapping>, number>>;
7
11
  export interface OverviewWorkloadStatusProps {
8
- status: Partial<Record<string, number>>;
12
+ workload: Workload;
9
13
  }
14
+ declare const statusBackgroundColorMapping: {
15
+ readonly running: "colorOk";
16
+ readonly scheduled: "colorOk";
17
+ readonly pending: "colorWarning";
18
+ readonly suspended: "colorWarning";
19
+ readonly evicted: "colorError";
20
+ readonly succeeded: "colorSuccess";
21
+ readonly failed: "colorError";
22
+ readonly terminated: "colorTerminated";
23
+ readonly terminating: "colorTerminated";
24
+ readonly unknown: "colorVague";
25
+ readonly complete: "colorSuccess";
26
+ };
10
27
  export declare const OverviewWorkloadStatus: React.FunctionComponent<OverviewWorkloadStatusProps>;
28
+ export {};
@@ -1,9 +1,10 @@
1
1
  import type { IComputedValue } from "mobx";
2
+ import type { WorkloadStatus } from "../overview-workload-status";
2
3
  export interface Workload {
3
4
  resourceName: string;
4
5
  open: () => void;
5
6
  amountOfItems: IComputedValue<number>;
6
- status: IComputedValue<Partial<Record<string, number>>>;
7
+ status: IComputedValue<WorkloadStatus>;
7
8
  title: string;
8
9
  orderNumber: number;
9
10
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ export {};
@@ -21,4 +21,4 @@ export interface LocalRefProps {
21
21
  kubeRef: LocalObjectReference | SecretReference | undefined;
22
22
  api: LocalRefPropsApi;
23
23
  }
24
- export declare const LocalRef: ({ pod, title, kubeRef: ref, api }: LocalRefProps) => JSX.Element | null;
24
+ export declare const LocalRef: ({ pod, title, kubeRef, api }: LocalRefProps) => JSX.Element | null;
@@ -3,16 +3,10 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import "./pod-container-env.scss";
6
- import type { PodContainer } from "../../../common/k8s-api/endpoints";
6
+ import React from "react";
7
+ import type { Container } from "../../../common/k8s-api/endpoints";
7
8
  export interface ContainerEnvironmentProps {
8
- container: PodContainer;
9
- namespace: string;
10
- }
11
- export declare const ContainerEnvironment: (props: ContainerEnvironmentProps) => JSX.Element;
12
- export interface SecretKeyProps {
13
- reference: {
14
- name: string;
15
- key: string;
16
- };
9
+ container: Container;
17
10
  namespace: string;
18
11
  }
12
+ export declare const ContainerEnvironment: React.FunctionComponent<ContainerEnvironmentProps>;
@@ -4,11 +4,11 @@
4
4
  */
5
5
  import "./pod-details-container.scss";
6
6
  import React from "react";
7
- import type { PodContainer, Pod } from "../../../common/k8s-api/endpoints";
7
+ import type { Container, Pod } from "../../../common/k8s-api/endpoints";
8
8
  import type { MetricData } from "../../../common/k8s-api/endpoints/metrics.api";
9
9
  export interface PodDetailsContainerProps {
10
10
  pod: Pod;
11
- container: PodContainer;
11
+ container: Container;
12
12
  metrics?: Partial<Record<string, MetricData>>;
13
13
  }
14
14
  export declare const PodDetailsContainer: React.FunctionComponent<PodDetailsContainerProps>;
@@ -27,6 +27,7 @@ export interface ChartProps {
27
27
  redraw?: boolean;
28
28
  title?: string;
29
29
  className?: string;
30
+ "data-testid"?: string;
30
31
  }
31
32
  export declare enum ChartKind {
32
33
  PIE = "pie",
@@ -2,8 +2,9 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
+ import React from "react";
5
6
  import type { Cluster } from "../../../../common/cluster/cluster";
6
7
  export interface ClusterLocalTerminalSettingProps {
7
8
  cluster: Cluster;
8
9
  }
9
- export declare const ClusterLocalTerminalSetting: ({ cluster }: ClusterLocalTerminalSettingProps) => JSX.Element | null;
10
+ export declare const ClusterLocalTerminalSetting: React.FunctionComponent<ClusterLocalTerminalSettingProps>;
@@ -3,8 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import React from "react";
6
- import type { DockTab } from "../dock/store";
7
6
  export interface CreateResourceProps {
8
- tab: DockTab;
7
+ tabId: string;
9
8
  }
10
9
  export declare const CreateResource: React.FunctionComponent<CreateResourceProps>;
@@ -3,8 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import React from "react";
6
- import type { DockTab } from "../dock/store";
7
6
  export interface EditResourceProps {
8
- tab: DockTab;
7
+ tabId: string;
9
8
  }
10
9
  export declare const EditResource: React.FunctionComponent<EditResourceProps>;
@@ -4,8 +4,7 @@
4
4
  */
5
5
  import "./install-chart.scss";
6
6
  import React from "react";
7
- import type { DockTab } from "../dock/store";
8
- export interface InstallCharProps {
9
- tab: DockTab;
7
+ export interface InstallChartProps {
8
+ tabId: string;
10
9
  }
11
- export declare const InstallChart: React.FunctionComponent<InstallCharProps>;
10
+ export declare const InstallChart: React.FunctionComponent<InstallChartProps>;
@@ -2,10 +2,8 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import "./controls.scss";
6
- import React from "react";
7
5
  import type { LogTabViewModel } from "./logs-view-model";
8
6
  export interface LogControlsProps {
9
7
  model: LogTabViewModel;
10
8
  }
11
- export declare const LogControls: React.FunctionComponent<LogControlsProps>;
9
+ export declare const LogControls: ({ model }: LogControlsProps) => JSX.Element | null;
@@ -1,8 +1,8 @@
1
- import type { PodContainer, Pod } from "../../../../common/k8s-api/endpoints";
1
+ import type { Container, Pod } from "../../../../common/k8s-api/endpoints";
2
2
  import type { TabId } from "../dock/store";
3
3
  export interface PodLogsTabData {
4
4
  selectedPod: Pod;
5
- selectedContainer: PodContainer;
5
+ selectedContainer: Container;
6
6
  }
7
7
  declare const createPodLogsTabInjectable: import("@ogre-tools/injectable").Injectable<({ selectedPod, selectedContainer }: PodLogsTabData) => TabId, unknown, void>;
8
8
  export default createPodLogsTabInjectable;
@@ -0,0 +1,4 @@
1
+ import type { PodLogsQuery } from "../../../../common/k8s-api/endpoints";
2
+ import type { ResourceDescriptor } from "../../../../common/k8s-api/kube-api";
3
+ declare const downloadAllLogsInjectable: import("@ogre-tools/injectable").Injectable<(params: ResourceDescriptor, query: PodLogsQuery) => Promise<void>, unknown, void>;
4
+ export default downloadAllLogsInjectable;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ interface DownloadLogsDropdownProps {
6
+ downloadVisibleLogs: () => void;
7
+ downloadAllLogs: () => Promise<void> | undefined;
8
+ }
9
+ export declare function DownloadLogsDropdown({ downloadAllLogs, downloadVisibleLogs }: DownloadLogsDropdownProps): JSX.Element;
10
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const downloadLogsInjectable: import("@ogre-tools/injectable").Injectable<(filename: string, logs: string[]) => void, unknown, void>;
2
+ export default downloadLogsInjectable;
@@ -0,0 +1,2 @@
1
+ declare const getRandomIdForPodLogsTabInjectable: import("@ogre-tools/injectable").Injectable<() => string, unknown, void>;
2
+ export default getRandomIdForPodLogsTabInjectable;
@@ -6,10 +6,11 @@ import type { LogTabData } from "./tab-store";
6
6
  import type { IComputedValue } from "mobx";
7
7
  import type { TabId } from "../dock/store";
8
8
  import type { SearchStore } from "../../../search-store/search-store";
9
- import type { Pod } from "../../../../common/k8s-api/endpoints";
9
+ import type { Pod, PodLogsQuery } from "../../../../common/k8s-api/endpoints";
10
10
  import type { GetPodById } from "../../+workloads-pods/get-pod-by-id.injectable";
11
11
  import type { GetPodsByOwnerId } from "../../+workloads-pods/get-pods-by-owner-id.injectable";
12
12
  import type { LoadLogs } from "./load-logs.injectable";
13
+ import type { ResourceDescriptor } from "../../../../common/k8s-api/kube-api";
13
14
  export interface LogTabViewModelDependencies {
14
15
  getLogs: (tabId: TabId) => string[];
15
16
  getLogsWithoutTimestamps: (tabId: TabId) => string[];
@@ -23,6 +24,8 @@ export interface LogTabViewModelDependencies {
23
24
  getPodById: GetPodById;
24
25
  getPodsByOwnerId: GetPodsByOwnerId;
25
26
  areLogsPresent: (tabId: TabId) => boolean;
27
+ downloadLogs: (filename: string, logs: string[]) => void;
28
+ downloadAllLogs: (params: ResourceDescriptor, query: PodLogsQuery) => Promise<void>;
26
29
  searchStore: SearchStore;
27
30
  }
28
31
  export declare class LogTabViewModel {
@@ -42,4 +45,6 @@ export declare class LogTabViewModel {
42
45
  reloadLogs: () => Promise<void>;
43
46
  renameTab: (title: string) => void;
44
47
  stopLoadingLogs: () => void;
48
+ downloadLogs: () => void;
49
+ downloadAllLogs: () => Promise<void> | undefined;
45
50
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import type { HTMLAttributes } from "react";
6
+ import React from "react";
7
+ interface DropdownProps extends HTMLAttributes<HTMLDivElement> {
8
+ contentForToggle: React.ReactNode;
9
+ }
10
+ export declare function Dropdown(props: DropdownProps): JSX.Element;
11
+ export {};
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import "./sidebar-item.scss";
6
5
  import React from "react";
7
6
  import type { HierarchicalSidebarItem } from "./sidebar-items.injectable";
8
7
  export interface SidebarItemProps {
@@ -3,6 +3,7 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  /// <reference types="react" />
6
+ import type { IComputedValue } from "mobx";
6
7
  /**
7
8
  * The props for StatusBar item component
8
9
  */
@@ -35,4 +36,8 @@ export interface StatusBarRegistration {
35
36
  * The newer API, allows for registering a component instead of a ReactNode
36
37
  */
37
38
  components?: StatusBarComponents;
39
+ /**
40
+ * If specified, controls item visibility
41
+ */
42
+ visible?: IComputedValue<boolean>;
38
43
  }
@@ -2,8 +2,15 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import type { FormControlLabelProps } from "@material-ui/core/FormControlLabel";
5
+ import React from "react";
6
+ interface FormControlLabelProps {
7
+ control: React.ReactElement<any, any>;
8
+ label: React.ReactNode;
9
+ }
6
10
  /**
7
11
  * @deprecated Use <Switch/> instead from "../switch.tsx".
8
12
  */
9
- export declare function FormSwitch(props: FormControlLabelProps): JSX.Element;
13
+ export declare function FormSwitch(props: FormControlLabelProps & {
14
+ children?: React.ReactNode;
15
+ }): React.FunctionComponentElement<any>;
16
+ export {};
@@ -3,15 +3,14 @@
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
5
  import React from "react";
6
- import type { SwitchClassKey, SwitchProps } from "@material-ui/core/Switch";
7
- interface Styles extends Partial<Record<SwitchClassKey, string>> {
8
- focusVisible?: string;
9
- }
10
- export interface SwitcherProps extends SwitchProps {
11
- classes: Styles;
6
+ export interface SwitcherProps {
7
+ disabled?: boolean;
8
+ children?: React.ReactNode;
9
+ checked?: boolean;
10
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
11
+ name?: string;
12
12
  }
13
13
  /**
14
14
  * @deprecated Use <Switch/> instead from "../switch.tsx".
15
15
  */
16
- export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "id" | "name" | "key" | "value" | "className" | "form" | "slot" | "style" | "title" | "size" | "type" | "action" | "ref" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
17
- export {};
16
+ export declare function Switcher({ disabled, checked, onChange, name, children }: SwitcherProps): JSX.Element;
@@ -65,6 +65,7 @@ export interface ApplicationBuilder {
65
65
  helmCharts: {
66
66
  navigate: NavigateToHelmCharts;
67
67
  };
68
+ navigateWith: (token: Injectable<() => void, any, void>) => void;
68
69
  select: {
69
70
  openMenu: (id: string) => {
70
71
  selectOption: (labelText: string) => void;