@k8slens/extensions 5.3.1-git.7ce4a87ac8.0 → 5.3.1-git.7e498d52d0.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.
- package/dist/src/common/catalog/catalog-entity.d.ts +51 -0
- package/dist/src/common/cluster-types.d.ts +5 -1
- package/dist/src/{extensions/registries/menu-registry.d.ts → common/ipc/catalog.d.ts} +9 -6
- package/dist/src/{renderer/utils/copyToClipboard.d.ts → common/ipc/extension-loader.ipc.d.ts} +1 -7
- package/dist/src/common/ipc/index.d.ts +1 -0
- package/dist/src/common/ipc/update-available.ipc.d.ts +2 -0
- package/dist/src/common/k8s-api/endpoints/daemon-set.api.d.ts +2 -5
- package/dist/src/common/k8s-api/endpoints/deployment.api.d.ts +2 -5
- package/dist/src/common/k8s-api/endpoints/job.api.d.ts +2 -5
- package/dist/src/common/k8s-api/endpoints/network-policy.api.d.ts +72 -32
- package/dist/src/common/k8s-api/endpoints/nodes.api.d.ts +6 -6
- package/dist/src/common/k8s-api/endpoints/persistent-volume-claims.api.d.ts +3 -16
- package/dist/src/common/k8s-api/endpoints/poddisruptionbudget.api.d.ts +2 -6
- package/dist/src/common/k8s-api/endpoints/replica-set.api.d.ts +2 -5
- package/dist/src/common/k8s-api/endpoints/stateful-set.api.d.ts +2 -5
- package/dist/src/common/k8s-api/kube-api-parse.d.ts +2 -2
- package/dist/src/common/k8s-api/kube-api.d.ts +35 -8
- package/dist/src/common/k8s-api/kube-json-api.d.ts +1 -2
- package/dist/src/common/k8s-api/kube-object.d.ts +22 -0
- package/dist/src/common/protocol-handler/error.d.ts +3 -3
- package/dist/src/common/protocol-handler/router.d.ts +13 -7
- package/dist/src/common/user-store/preferences-helpers.d.ts +14 -0
- package/dist/src/common/user-store/user-store.d.ts +2 -1
- package/dist/src/common/utils/index.d.ts +1 -0
- package/dist/src/common/utils/promise-exec.d.ts +1 -2
- package/dist/src/common/utils/readableStream.d.ts +2 -2
- package/dist/src/extensions/extension-api.js +957 -851
- package/dist/src/extensions/extension-compatibility.d.ts +3 -1
- package/dist/src/extensions/extension-discovery.d.ts +3 -1
- package/dist/src/extensions/{extension-loader.d.ts → extension-loader/extension-loader.d.ts} +15 -7
- package/dist/src/extensions/extension-loader/extension-loader.injectable.d.ts +24 -0
- package/dist/src/{main/initializers/registries.d.ts → extensions/extension-loader/index.d.ts} +1 -1
- package/dist/src/extensions/extensions.injectable.d.ts +28 -0
- package/dist/src/extensions/getDiForUnitTesting.d.ts +22 -0
- package/dist/src/extensions/lens-extension.d.ts +2 -1
- package/dist/src/extensions/lens-main-extension.d.ts +1 -1
- package/dist/src/extensions/lens-renderer-extension.d.ts +6 -3
- package/dist/src/extensions/registries/index.d.ts +0 -1
- package/dist/src/extensions/registries/status-bar-registry.d.ts +6 -0
- package/dist/src/extensions/renderer-api/k8s-api.d.ts +1 -0
- package/dist/src/main/catalog-pusher.d.ts +1 -1
- package/dist/src/main/cluster-manager.d.ts +1 -1
- package/dist/src/main/context-handler.d.ts +8 -1
- package/dist/src/main/getDi.d.ts +22 -0
- package/dist/src/main/getDiForUnitTesting.d.ts +22 -0
- package/dist/src/main/helm/helm-release-manager.d.ts +9 -10
- package/dist/src/main/helm/helm-repo-manager.d.ts +2 -2
- package/dist/src/main/helm/helm-service.d.ts +2 -2
- package/dist/src/main/initializers/index.d.ts +0 -1
- package/dist/src/main/initializers/ipc.d.ts +3 -1
- package/dist/src/main/lens-proxy.d.ts +8 -1
- package/dist/src/main/menu/electron-menu-items.injectable.d.ts +28 -0
- package/dist/src/main/menu/electron-menu-items.test.d.ts +1 -0
- package/dist/src/main/menu/menu.d.ts +33 -0
- package/dist/src/main/protocol-handler/index.d.ts +1 -1
- package/dist/src/main/protocol-handler/{router.d.ts → lens-protocol-router-main/lens-protocol-router-main.d.ts} +13 -8
- package/dist/src/main/protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable.d.ts +25 -0
- package/dist/src/main/window-manager.d.ts +3 -0
- package/dist/src/renderer/api/terminal-api.d.ts +0 -2
- package/dist/src/renderer/bootstrap.d.ts +3 -1
- package/dist/src/renderer/cluster-frame.d.ts +2 -1
- package/dist/src/renderer/components/+catalog/catalog-entity-details.d.ts +3 -3
- package/dist/src/renderer/components/+catalog/catalog-entity-drawer-menu.d.ts +1 -2
- package/dist/src/renderer/components/+catalog/catalog-entity.store.d.ts +4 -4
- package/dist/src/renderer/components/+catalog/catalog.d.ts +5 -6
- package/dist/src/renderer/components/+catalog/helpers.d.ts +26 -0
- package/dist/src/renderer/components/{clipboard/clipboard.d.ts → +extensions/attempt-install/attempt-install.d.ts} +10 -16
- package/dist/src/{main/menu.d.ts → renderer/components/+extensions/attempt-install/attempt-install.injectable.d.ts} +6 -6
- package/dist/src/renderer/components/+extensions/attempt-install/create-temp-files-and-validate/create-temp-files-and-validate.d.ts +11 -0
- package/dist/src/renderer/components/+extensions/attempt-install/get-extension-dest-folder/get-extension-dest-folder.d.ts +1 -0
- package/dist/src/renderer/components/+extensions/attempt-install/unpack-extension/unpack-extension.d.ts +27 -0
- package/dist/src/renderer/components/+extensions/attempt-install/unpack-extension/unpack-extension.injectable.d.ts +26 -0
- package/dist/src/renderer/components/+extensions/attempt-install/validate-package/validate-package.d.ts +22 -0
- package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.d.ts +12 -0
- package/dist/src/renderer/components/+extensions/attempt-install-by-info/attempt-install-by-info.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/attempt-installs/attempt-installs.d.ts +5 -0
- package/dist/src/renderer/components/+extensions/attempt-installs/attempt-installs.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/confirm-uninstall-extension/confirm-uninstall-extension.d.ts +6 -0
- package/dist/src/renderer/components/+extensions/confirm-uninstall-extension/confirm-uninstall-extension.injectable.d.ts +25 -0
- package/dist/src/renderer/components/+extensions/disable-extension/disable-extension.d.ts +26 -0
- package/dist/src/renderer/components/+extensions/disable-extension/disable-extension.injectable.d.ts +25 -0
- package/dist/src/renderer/components/+extensions/enable-extension/enable-extension.d.ts +26 -0
- package/dist/src/renderer/components/+extensions/enable-extension/enable-extension.injectable.d.ts +25 -0
- package/dist/src/renderer/components/+extensions/extensions.d.ts +1 -15
- package/dist/src/renderer/components/+extensions/get-base-registry-url/get-base-registry-url.d.ts +25 -0
- package/dist/src/renderer/components/+extensions/get-base-registry-url/get-base-registry-url.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/get-message-from-error/get-message-from-error.d.ts +21 -0
- package/dist/src/renderer/components/+extensions/install-from-input/install-from-input.d.ts +28 -0
- package/dist/src/renderer/components/+extensions/install-from-input/install-from-input.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/install-from-select-file-dialog/install-from-select-file-dialog.d.ts +4 -0
- package/dist/src/renderer/components/+extensions/install-from-select-file-dialog/install-from-select-file-dialog.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/install-on-drop/install-on-drop.d.ts +4 -0
- package/dist/src/renderer/components/+extensions/install-on-drop/install-on-drop.injectable.d.ts +24 -0
- package/dist/src/renderer/components/+extensions/read-file-notify/read-file-notify.d.ts +2 -0
- package/dist/src/renderer/{protocol-handler/app-handlers.d.ts → components/+extensions/supported-extension-formats.d.ts} +1 -1
- package/dist/src/renderer/components/+extensions/uninstall-extension/uninstall-extension.d.ts +26 -0
- package/dist/src/renderer/components/+extensions/uninstall-extension/uninstall-extension.injectable.d.ts +25 -0
- package/dist/src/renderer/components/+extensions/user-extensions/user-extensions.injectable.d.ts +28 -0
- package/dist/src/renderer/components/+network-policies/__tests__/network-policy-details.test.d.ts +21 -0
- package/dist/src/renderer/components/+network-policies/network-policy-details.d.ts +8 -4
- package/dist/src/renderer/components/+nodes/nodes.d.ts +2 -1
- package/dist/src/renderer/components/+preferences/extension-settings.d.ts +7 -0
- package/dist/src/renderer/components/+preferences/preferences.d.ts +0 -2
- package/dist/src/renderer/components/avatar/__tests__/avatar.test.d.ts +21 -0
- package/dist/src/renderer/components/avatar/avatar.d.ts +7 -8
- package/dist/src/renderer/components/{clipboard → avatar}/index.d.ts +1 -1
- package/dist/src/renderer/components/cluster-manager/active-hotbar-name.d.ts +21 -0
- package/dist/src/renderer/components/cluster-manager/bottom-bar.d.ts +0 -1
- package/dist/src/renderer/components/dialog/dialog.d.ts +1 -0
- package/dist/src/renderer/components/dock/install-chart.d.ts +0 -1
- package/dist/src/renderer/components/getDi.d.ts +2 -2
- package/dist/src/renderer/components/hotbar/hotbar-entity-icon.d.ts +3 -3
- package/dist/src/renderer/components/hotbar/hotbar-icon.d.ts +3 -10
- package/dist/src/renderer/components/kube-object-menu/dependencies/api-manager.injectable.d.ts +24 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/cluster-name.injectable.d.ts +27 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/cluster.injectable.d.ts +4 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/edit-resource-tab.injectable.d.ts +24 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/hide-details.injectable.d.ts +24 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/get-kube-object-menu-items.d.ts +29 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-items.injectable.d.ts +24 -0
- package/dist/src/renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-registry.injectable.d.ts +24 -0
- package/dist/src/renderer/components/kube-object-menu/index.d.ts +2 -1
- package/dist/src/renderer/components/kube-object-menu/kube-object-menu.d.ts +4 -13
- package/dist/src/renderer/components/kube-object-menu/kube-object-menu.test.d.ts +21 -0
- package/dist/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.d.ts +0 -1
- package/dist/src/renderer/components/layout/__tests__/topbar-win-linux.test.d.ts +21 -0
- package/dist/src/renderer/components/test-utils/renderFor.d.ts +27 -0
- package/dist/src/renderer/initializers/index.d.ts +1 -0
- package/dist/src/renderer/initializers/ipc.d.ts +2 -1
- package/dist/src/renderer/initializers/status-bar-registry.d.ts +21 -0
- package/dist/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.d.ts +27 -0
- package/dist/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable.d.ts +24 -0
- package/dist/src/renderer/protocol-handler/index.d.ts +2 -2
- package/dist/src/renderer/protocol-handler/{router.d.ts → lens-protocol-router-renderer/lens-protocol-router-renderer.d.ts} +7 -1
- package/dist/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable.d.ts +25 -0
- package/dist/src/renderer/root-frame.d.ts +3 -1
- package/dist/src/renderer/utils/index.d.ts +0 -1
- package/package.json +1 -1
|
@@ -26,13 +26,42 @@ declare type ExtractEntityStatusType<Entity> = Entity extends CatalogEntity<any,
|
|
|
26
26
|
declare type ExtractEntitySpecType<Entity> = Entity extends CatalogEntity<any, any, infer Spec> ? Spec : never;
|
|
27
27
|
export declare type CatalogEntityConstructor<Entity extends CatalogEntity> = ((new (data: CatalogEntityData<ExtractEntityMetadataType<Entity>, ExtractEntityStatusType<Entity>, ExtractEntitySpecType<Entity>>) => Entity));
|
|
28
28
|
export interface CatalogCategoryVersion<Entity extends CatalogEntity> {
|
|
29
|
+
/**
|
|
30
|
+
* The specific version that the associated constructor is for. This MUST be
|
|
31
|
+
* a DNS label and SHOULD be of the form `vN`, `vNalphaY`, or `vNbetaY` where
|
|
32
|
+
* `N` and `Y` are both integers greater than 0.
|
|
33
|
+
*
|
|
34
|
+
* Examples: The following are valid values for this field.
|
|
35
|
+
* - `v1`
|
|
36
|
+
* - `v1beta1`
|
|
37
|
+
* - `v1alpha2`
|
|
38
|
+
* - `v3beta2`
|
|
39
|
+
*/
|
|
29
40
|
name: string;
|
|
41
|
+
/**
|
|
42
|
+
* The constructor for the entities.
|
|
43
|
+
*/
|
|
30
44
|
entityClass: CatalogEntityConstructor<Entity>;
|
|
31
45
|
}
|
|
32
46
|
export interface CatalogCategorySpec {
|
|
47
|
+
/**
|
|
48
|
+
* The grouping for for the category. This MUST be a DNS label.
|
|
49
|
+
*/
|
|
33
50
|
group: string;
|
|
51
|
+
/**
|
|
52
|
+
* The specific versions of the constructors.
|
|
53
|
+
*
|
|
54
|
+
* NOTE: the field `.apiVersion` after construction MUST match `{.group}/{.versions.[] | .name}`.
|
|
55
|
+
* For example, if `group = "entity.k8slens.dev"` and there is an entry in `.versions` with
|
|
56
|
+
* `name = "v1alpha1"` then the resulting `.apiVersion` MUST be `entity.k8slens.dev/v1alpha1`
|
|
57
|
+
*/
|
|
34
58
|
versions: CatalogCategoryVersion<CatalogEntity>[];
|
|
35
59
|
names: {
|
|
60
|
+
/**
|
|
61
|
+
* The kind of entity that this category is for. This value MUST be a DNS
|
|
62
|
+
* label and MUST be equal to the `kind` fields that are produced by the
|
|
63
|
+
* `.versions.[] | .entityClass` fields.
|
|
64
|
+
*/
|
|
36
65
|
kind: string;
|
|
37
66
|
};
|
|
38
67
|
}
|
|
@@ -76,6 +105,7 @@ export declare abstract class CatalogCategory extends CatalogCategory_base {
|
|
|
76
105
|
export interface CatalogEntityMetadata {
|
|
77
106
|
uid: string;
|
|
78
107
|
name: string;
|
|
108
|
+
shortName?: string;
|
|
79
109
|
description?: string;
|
|
80
110
|
source?: string;
|
|
81
111
|
labels: Record<string, string>;
|
|
@@ -151,14 +181,35 @@ export interface CatalogEntityKindData {
|
|
|
151
181
|
readonly kind: string;
|
|
152
182
|
}
|
|
153
183
|
export declare abstract class CatalogEntity<Metadata extends CatalogEntityMetadata = CatalogEntityMetadata, Status extends CatalogEntityStatus = CatalogEntityStatus, Spec extends CatalogEntitySpec = CatalogEntitySpec> implements CatalogEntityKindData {
|
|
184
|
+
/**
|
|
185
|
+
* The group and version of this class.
|
|
186
|
+
*/
|
|
154
187
|
abstract readonly apiVersion: string;
|
|
188
|
+
/**
|
|
189
|
+
* A DNS label name of the entity.
|
|
190
|
+
*/
|
|
155
191
|
abstract readonly kind: string;
|
|
156
192
|
metadata: Metadata;
|
|
157
193
|
status: Status;
|
|
158
194
|
spec: Spec;
|
|
159
195
|
constructor(data: CatalogEntityData<Metadata, Status, Spec>);
|
|
196
|
+
/**
|
|
197
|
+
* Get the UID of this entity
|
|
198
|
+
*/
|
|
160
199
|
getId(): string;
|
|
200
|
+
/**
|
|
201
|
+
* Get the name of this entity
|
|
202
|
+
*/
|
|
161
203
|
getName(): string;
|
|
204
|
+
/**
|
|
205
|
+
* Get the specified source of this entity, defaulting to `"unknown"` if not
|
|
206
|
+
* provided
|
|
207
|
+
*/
|
|
208
|
+
getSource(): string;
|
|
209
|
+
/**
|
|
210
|
+
* Get if this entity is enabled.
|
|
211
|
+
*/
|
|
212
|
+
isEnabled(): boolean;
|
|
162
213
|
abstract onRun?(context: CatalogEntityActionContext): void | Promise<void>;
|
|
163
214
|
abstract onContextMenuOpen(context: CatalogEntityContextMenuContext): void | Promise<void>;
|
|
164
215
|
abstract onSettingsOpen(context: CatalogEntitySettingsContext): void | Promise<void>;
|
|
@@ -76,7 +76,11 @@ export interface ClusterPreferences extends ClusterPrometheusPreferences {
|
|
|
76
76
|
terminalCWD?: string;
|
|
77
77
|
clusterName?: string;
|
|
78
78
|
iconOrder?: number;
|
|
79
|
-
|
|
79
|
+
/**
|
|
80
|
+
* The <img> src for the cluster. If set to `null` that means that it was
|
|
81
|
+
* cleared by preferences.
|
|
82
|
+
*/
|
|
83
|
+
icon?: string | null;
|
|
80
84
|
httpsProxy?: string;
|
|
81
85
|
hiddenMetrics?: string[];
|
|
82
86
|
nodeShellImage?: string;
|
|
@@ -18,10 +18,13 @@
|
|
|
18
18
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
19
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
export declare enum CatalogIpcEvents {
|
|
22
|
+
/**
|
|
23
|
+
* This is broadcast on whenever there is an update to any catalog item
|
|
24
|
+
*/
|
|
25
|
+
ITEMS = "catalog:items",
|
|
26
|
+
/**
|
|
27
|
+
* This can be sent from renderer to main to initialize a broadcast of ITEMS
|
|
28
|
+
*/
|
|
29
|
+
INIT = "catalog:init"
|
|
27
30
|
}
|
package/dist/src/{renderer/utils/copyToClipboard.d.ts → common/ipc/extension-loader.ipc.d.ts}
RENAMED
|
@@ -18,10 +18,4 @@
|
|
|
18
18
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
19
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
*/
|
|
21
|
-
export declare
|
|
22
|
-
resetSelection?: boolean;
|
|
23
|
-
}): {
|
|
24
|
-
copied: boolean;
|
|
25
|
-
copiedText: string;
|
|
26
|
-
clearSelection: () => void;
|
|
27
|
-
};
|
|
21
|
+
export declare const BundledExtensionsLoaded = "extension-loader:bundled-extensions-loaded";
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { UpdateInfo } from "electron-updater";
|
|
22
22
|
export declare const UpdateAvailableChannel = "update-available";
|
|
23
|
+
export declare const AutoUpdateChecking = "auto-update:checking";
|
|
24
|
+
export declare const AutoUpdateNoUpdateAvailable = "auto-update:no-update";
|
|
23
25
|
export declare const AutoUpdateLogPrefix = "[UPDATE-CHECKER]";
|
|
24
26
|
export declare type UpdateAvailableFromMain = [backChannel: string, updateInfo: UpdateInfo];
|
|
25
27
|
export declare function areArgsUpdateAvailableFromMain(args: unknown[]): args is UpdateAvailableFromMain;
|
|
@@ -22,17 +22,14 @@ import { IAffinity, WorkloadKubeObject } from "../workload-kube-object";
|
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
24
24
|
import type { IPodContainer, IPodMetrics } from "./pods.api";
|
|
25
|
+
import type { LabelSelector } from "../kube-object";
|
|
25
26
|
export declare class DaemonSet extends WorkloadKubeObject {
|
|
26
27
|
static kind: string;
|
|
27
28
|
static namespaced: boolean;
|
|
28
29
|
static apiBase: string;
|
|
29
30
|
constructor(data: KubeJsonApiData);
|
|
30
31
|
spec: {
|
|
31
|
-
selector:
|
|
32
|
-
matchLabels: {
|
|
33
|
-
[name: string]: string;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
32
|
+
selector: LabelSelector;
|
|
36
33
|
template: {
|
|
37
34
|
metadata: {
|
|
38
35
|
creationTimestamp?: string;
|
|
@@ -22,6 +22,7 @@ import { IAffinity, WorkloadKubeObject } from "../workload-kube-object";
|
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { IPodMetrics } from "./pods.api";
|
|
24
24
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
25
|
+
import type { LabelSelector } from "../kube-object";
|
|
25
26
|
export declare class DeploymentApi extends KubeApi<Deployment> {
|
|
26
27
|
protected getScaleApiUrl(params: {
|
|
27
28
|
namespace: string;
|
|
@@ -67,11 +68,7 @@ export declare class Deployment extends WorkloadKubeObject {
|
|
|
67
68
|
constructor(data: KubeJsonApiData);
|
|
68
69
|
spec: {
|
|
69
70
|
replicas: number;
|
|
70
|
-
selector:
|
|
71
|
-
matchLabels: {
|
|
72
|
-
[app: string]: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
71
|
+
selector: LabelSelector;
|
|
75
72
|
template: {
|
|
76
73
|
metadata: {
|
|
77
74
|
creationTimestamp?: string;
|
|
@@ -22,6 +22,7 @@ import { IAffinity, WorkloadKubeObject } from "../workload-kube-object";
|
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
24
24
|
import type { IPodContainer, IPodMetrics } from "./pods.api";
|
|
25
|
+
import type { LabelSelector } from "../kube-object";
|
|
25
26
|
export declare class Job extends WorkloadKubeObject {
|
|
26
27
|
static kind: string;
|
|
27
28
|
static namespaced: boolean;
|
|
@@ -31,11 +32,7 @@ export declare class Job extends WorkloadKubeObject {
|
|
|
31
32
|
parallelism?: number;
|
|
32
33
|
completions?: number;
|
|
33
34
|
backoffLimit?: number;
|
|
34
|
-
selector?:
|
|
35
|
-
matchLabels: {
|
|
36
|
-
[name: string]: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
35
|
+
selector?: LabelSelector;
|
|
39
36
|
template: {
|
|
40
37
|
metadata: {
|
|
41
38
|
creationTimestamp?: string;
|
|
@@ -18,50 +18,90 @@
|
|
|
18
18
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
19
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
*/
|
|
21
|
-
import { KubeObject } from "../kube-object";
|
|
21
|
+
import { KubeObject, LabelSelector } from "../kube-object";
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
24
24
|
export interface IPolicyIpBlock {
|
|
25
25
|
cidr: string;
|
|
26
26
|
except?: string[];
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use `LabelSelector` instead
|
|
30
|
+
*/
|
|
31
|
+
export declare type IPolicySelector = LabelSelector;
|
|
32
|
+
export interface NetworkPolicyPort {
|
|
33
|
+
/**
|
|
34
|
+
* The protocol which network traffic must match.
|
|
35
|
+
*
|
|
36
|
+
* One of:
|
|
37
|
+
* - `"TCP"`
|
|
38
|
+
* - `"UDP"`
|
|
39
|
+
* - `"SCTP"`
|
|
40
|
+
*
|
|
41
|
+
* @default "TCP"
|
|
42
|
+
*/
|
|
43
|
+
protocol?: string;
|
|
44
|
+
/**
|
|
45
|
+
* The port on the given protocol. This can either be a numerical or named
|
|
46
|
+
* port on a pod. If this field is not provided, this matches all port names and
|
|
47
|
+
* numbers.
|
|
48
|
+
*
|
|
49
|
+
* If present, only traffic on the specified protocol AND port will be matched.
|
|
50
|
+
*/
|
|
51
|
+
port?: number | string;
|
|
52
|
+
/**
|
|
53
|
+
* If set, indicates that the range of ports from port to endPort, inclusive,
|
|
54
|
+
* should be allowed by the policy. This field cannot be defined if the port field
|
|
55
|
+
* is not defined or if the port field is defined as a named (string) port.
|
|
56
|
+
*
|
|
57
|
+
* The endPort must be equal or greater than port.
|
|
58
|
+
*/
|
|
59
|
+
endPort?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface NetworkPolicyPeer {
|
|
62
|
+
/**
|
|
63
|
+
* IPBlock defines policy on a particular IPBlock. If this field is set then
|
|
64
|
+
* neither of the other fields can be.
|
|
65
|
+
*/
|
|
66
|
+
ipBlock?: IPolicyIpBlock;
|
|
67
|
+
/**
|
|
68
|
+
* Selects Namespaces using cluster-scoped labels. This field follows standard label
|
|
69
|
+
* selector semantics; if present but empty, it selects all namespaces.
|
|
70
|
+
*
|
|
71
|
+
* If PodSelector is also set, then the NetworkPolicyPeer as a whole selects
|
|
72
|
+
* the Pods matching PodSelector in the Namespaces selected by NamespaceSelector.
|
|
73
|
+
*
|
|
74
|
+
* Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector.
|
|
75
|
+
*/
|
|
76
|
+
namespaceSelector?: LabelSelector;
|
|
77
|
+
/**
|
|
78
|
+
* This is a label selector which selects Pods. This field follows standard label
|
|
79
|
+
* selector semantics; if present but empty, it selects all pods.
|
|
80
|
+
*
|
|
81
|
+
* If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole selects
|
|
82
|
+
* the Pods matching PodSelector in the Namespaces selected by NamespaceSelector.
|
|
83
|
+
*
|
|
84
|
+
* Otherwise it selects the Pods matching PodSelector in the policy's own Namespace.
|
|
85
|
+
*/
|
|
86
|
+
podSelector?: LabelSelector;
|
|
32
87
|
}
|
|
33
88
|
export interface IPolicyIngress {
|
|
34
|
-
from
|
|
35
|
-
|
|
36
|
-
namespaceSelector?: IPolicySelector;
|
|
37
|
-
podSelector?: IPolicySelector;
|
|
38
|
-
}[];
|
|
39
|
-
ports: {
|
|
40
|
-
protocol: string;
|
|
41
|
-
port: number;
|
|
42
|
-
}[];
|
|
89
|
+
from?: NetworkPolicyPeer[];
|
|
90
|
+
ports?: NetworkPolicyPort[];
|
|
43
91
|
}
|
|
44
92
|
export interface IPolicyEgress {
|
|
45
|
-
to
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
93
|
+
to?: NetworkPolicyPeer[];
|
|
94
|
+
ports?: NetworkPolicyPort[];
|
|
95
|
+
}
|
|
96
|
+
export declare type PolicyType = "Ingress" | "Egress";
|
|
97
|
+
export interface NetworkPolicySpec {
|
|
98
|
+
podSelector: LabelSelector;
|
|
99
|
+
policyTypes?: PolicyType[];
|
|
100
|
+
ingress?: IPolicyIngress[];
|
|
101
|
+
egress?: IPolicyEgress[];
|
|
52
102
|
}
|
|
53
103
|
export interface NetworkPolicy {
|
|
54
|
-
spec:
|
|
55
|
-
podSelector: {
|
|
56
|
-
matchLabels: {
|
|
57
|
-
[label: string]: string;
|
|
58
|
-
role: string;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
policyTypes: string[];
|
|
62
|
-
ingress: IPolicyIngress[];
|
|
63
|
-
egress: IPolicyEgress[];
|
|
64
|
-
};
|
|
104
|
+
spec: NetworkPolicySpec;
|
|
65
105
|
}
|
|
66
106
|
export declare class NetworkPolicy extends KubeObject {
|
|
67
107
|
static kind: string;
|
|
@@ -66,17 +66,17 @@ export interface Node {
|
|
|
66
66
|
status: {
|
|
67
67
|
capacity?: {
|
|
68
68
|
cpu: string;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
"ephemeral-storage": string;
|
|
70
|
+
"hugepages-1Gi": string;
|
|
71
|
+
"hugepages-2Mi": string;
|
|
72
72
|
memory: string;
|
|
73
73
|
pods: string;
|
|
74
74
|
};
|
|
75
75
|
allocatable?: {
|
|
76
76
|
cpu: string;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
"ephemeral-storage": string;
|
|
78
|
+
"hugepages-1Gi": string;
|
|
79
|
+
"hugepages-2Mi": string;
|
|
80
80
|
memory: string;
|
|
81
81
|
pods: string;
|
|
82
82
|
};
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
19
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
*/
|
|
21
|
-
import { KubeObject } from "../kube-object";
|
|
21
|
+
import { KubeObject, LabelSelector } from "../kube-object";
|
|
22
22
|
import { IMetrics } from "./metrics.api";
|
|
23
23
|
import type { Pod } from "./pods.api";
|
|
24
24
|
import { KubeApi } from "../kube-api";
|
|
@@ -35,16 +35,7 @@ export interface PersistentVolumeClaim {
|
|
|
35
35
|
spec: {
|
|
36
36
|
accessModes: string[];
|
|
37
37
|
storageClassName: string;
|
|
38
|
-
selector:
|
|
39
|
-
matchLabels: {
|
|
40
|
-
release: string;
|
|
41
|
-
};
|
|
42
|
-
matchExpressions: {
|
|
43
|
-
key: string;
|
|
44
|
-
operator: string;
|
|
45
|
-
values: string[];
|
|
46
|
-
}[];
|
|
47
|
-
};
|
|
38
|
+
selector: LabelSelector;
|
|
48
39
|
resources: {
|
|
49
40
|
requests: {
|
|
50
41
|
storage: string;
|
|
@@ -63,11 +54,7 @@ export declare class PersistentVolumeClaim extends KubeObject {
|
|
|
63
54
|
getPods(allPods: Pod[]): Pod[];
|
|
64
55
|
getStorage(): string;
|
|
65
56
|
getMatchLabels(): string[];
|
|
66
|
-
getMatchExpressions():
|
|
67
|
-
key: string;
|
|
68
|
-
operator: string;
|
|
69
|
-
values: string[];
|
|
70
|
-
}[];
|
|
57
|
+
getMatchExpressions(): import("../kube-object").LabelMatchExpression[];
|
|
71
58
|
getStatus(): string;
|
|
72
59
|
}
|
|
73
60
|
declare let pvcApi: PersistentVolumeClaimsApi;
|
|
@@ -18,18 +18,14 @@
|
|
|
18
18
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
19
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
*/
|
|
21
|
-
import { KubeObject } from "../kube-object";
|
|
21
|
+
import { KubeObject, LabelSelector } from "../kube-object";
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
24
24
|
export interface PodDisruptionBudget {
|
|
25
25
|
spec: {
|
|
26
26
|
minAvailable: string;
|
|
27
27
|
maxUnavailable: string;
|
|
28
|
-
selector:
|
|
29
|
-
matchLabels: {
|
|
30
|
-
[app: string]: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
28
|
+
selector: LabelSelector;
|
|
33
29
|
};
|
|
34
30
|
status: {
|
|
35
31
|
currentHealthy: number;
|
|
@@ -22,6 +22,7 @@ import { WorkloadKubeObject } from "../workload-kube-object";
|
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { IPodMetrics, Pod } from "./pods.api";
|
|
24
24
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
25
|
+
import type { LabelSelector } from "../kube-object";
|
|
25
26
|
export declare class ReplicaSetApi extends KubeApi<ReplicaSet> {
|
|
26
27
|
protected getScaleApiUrl(params: {
|
|
27
28
|
namespace: string;
|
|
@@ -44,11 +45,7 @@ export declare class ReplicaSet extends WorkloadKubeObject {
|
|
|
44
45
|
constructor(data: KubeJsonApiData);
|
|
45
46
|
spec: {
|
|
46
47
|
replicas?: number;
|
|
47
|
-
selector:
|
|
48
|
-
matchLabels: {
|
|
49
|
-
[app: string]: string;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
48
|
+
selector: LabelSelector;
|
|
52
49
|
template?: {
|
|
53
50
|
metadata: {
|
|
54
51
|
labels: {
|
|
@@ -22,6 +22,7 @@ import { IAffinity, WorkloadKubeObject } from "../workload-kube-object";
|
|
|
22
22
|
import { KubeApi } from "../kube-api";
|
|
23
23
|
import type { IPodMetrics } from "./pods.api";
|
|
24
24
|
import type { KubeJsonApiData } from "../kube-json-api";
|
|
25
|
+
import type { LabelSelector } from "../kube-object";
|
|
25
26
|
export declare class StatefulSetApi extends KubeApi<StatefulSet> {
|
|
26
27
|
protected getScaleApiUrl(params: {
|
|
27
28
|
namespace: string;
|
|
@@ -45,11 +46,7 @@ export declare class StatefulSet extends WorkloadKubeObject {
|
|
|
45
46
|
spec: {
|
|
46
47
|
serviceName: string;
|
|
47
48
|
replicas: number;
|
|
48
|
-
selector:
|
|
49
|
-
matchLabels: {
|
|
50
|
-
[key: string]: string;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
49
|
+
selector: LabelSelector;
|
|
53
50
|
template: {
|
|
54
51
|
metadata: {
|
|
55
52
|
labels: {
|
|
@@ -28,7 +28,7 @@ export interface IKubeApiLinkRef {
|
|
|
28
28
|
apiPrefix?: string;
|
|
29
29
|
apiVersion: string;
|
|
30
30
|
resource: string;
|
|
31
|
-
name
|
|
31
|
+
name?: string;
|
|
32
32
|
namespace?: string;
|
|
33
33
|
}
|
|
34
34
|
export interface IKubeApiParsed extends IKubeApiLinkRef {
|
|
@@ -37,4 +37,4 @@ export interface IKubeApiParsed extends IKubeApiLinkRef {
|
|
|
37
37
|
apiVersionWithGroup: string;
|
|
38
38
|
}
|
|
39
39
|
export declare function parseKubeApi(path: string): IKubeApiParsed;
|
|
40
|
-
export declare function createKubeApiURL(
|
|
40
|
+
export declare function createKubeApiURL({ apiPrefix, resource, apiVersion, name, namespace }: IKubeApiLinkRef): string;
|
|
@@ -24,9 +24,14 @@ import { KubeJsonApi, KubeJsonApiData } from "./kube-json-api";
|
|
|
24
24
|
import type { RequestInit } from "node-fetch";
|
|
25
25
|
import AbortController from "abort-controller";
|
|
26
26
|
import type { Patch } from "rfc6902";
|
|
27
|
+
/**
|
|
28
|
+
* The options used for creating a `KubeApi`
|
|
29
|
+
*/
|
|
27
30
|
export interface IKubeApiOptions<T extends KubeObject> {
|
|
28
31
|
/**
|
|
29
32
|
* base api-path for listing all resources, e.g. "/api/v1/pods"
|
|
33
|
+
*
|
|
34
|
+
* If not specified then will be the one on the `objectConstructor`
|
|
30
35
|
*/
|
|
31
36
|
apiBase?: string;
|
|
32
37
|
/**
|
|
@@ -36,11 +41,29 @@ export interface IKubeApiOptions<T extends KubeObject> {
|
|
|
36
41
|
* This option only has effect if checkPreferredVersion is true.
|
|
37
42
|
*/
|
|
38
43
|
fallbackApiBases?: string[];
|
|
44
|
+
/**
|
|
45
|
+
* If `true` then will check all declared apiBases against the kube api server
|
|
46
|
+
* for the first accepted one.
|
|
47
|
+
*/
|
|
48
|
+
checkPreferredVersion?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The constructor for the kube objects returned from the API
|
|
51
|
+
*/
|
|
39
52
|
objectConstructor: KubeObjectConstructor<T>;
|
|
53
|
+
/**
|
|
54
|
+
* The api instance to use for making requests
|
|
55
|
+
*
|
|
56
|
+
* @default apiKube
|
|
57
|
+
*/
|
|
40
58
|
request?: KubeJsonApi;
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated should be specified by `objectConstructor`
|
|
61
|
+
*/
|
|
41
62
|
isNamespaced?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated should be specified by `objectConstructor`
|
|
65
|
+
*/
|
|
42
66
|
kind?: string;
|
|
43
|
-
checkPreferredVersion?: boolean;
|
|
44
67
|
}
|
|
45
68
|
export interface IKubeApiQueryParams {
|
|
46
69
|
watch?: boolean | number;
|
|
@@ -81,6 +104,9 @@ export declare type PropagationPolicy = undefined | "Orphan" | "Foreground" | "B
|
|
|
81
104
|
*/
|
|
82
105
|
export interface IKubeApiCluster extends ILocalKubeApiConfig {
|
|
83
106
|
}
|
|
107
|
+
export declare type PartialKubeObject<T extends KubeObject> = Partial<Omit<T, "metadata">> & {
|
|
108
|
+
metadata?: Partial<T["metadata"]>;
|
|
109
|
+
};
|
|
84
110
|
export interface IRemoteKubeApiConfig {
|
|
85
111
|
cluster: {
|
|
86
112
|
server: string;
|
|
@@ -129,11 +155,11 @@ export interface DeleteResourceDescriptor extends ResourceDescriptor {
|
|
|
129
155
|
export declare class KubeApi<T extends KubeObject> {
|
|
130
156
|
protected options: IKubeApiOptions<T>;
|
|
131
157
|
readonly kind: string;
|
|
132
|
-
readonly apiBase: string;
|
|
133
|
-
readonly apiPrefix: string;
|
|
134
|
-
readonly apiGroup: string;
|
|
135
158
|
readonly apiVersion: string;
|
|
136
|
-
|
|
159
|
+
apiBase: string;
|
|
160
|
+
apiPrefix: string;
|
|
161
|
+
apiGroup: string;
|
|
162
|
+
apiVersionPreferred?: string;
|
|
137
163
|
readonly apiResource: string;
|
|
138
164
|
readonly isNamespaced: boolean;
|
|
139
165
|
objectConstructor: KubeObjectConstructor<T>;
|
|
@@ -156,14 +182,15 @@ export declare class KubeApi<T extends KubeObject> {
|
|
|
156
182
|
setResourceVersion(namespace: string, newVersion: string): void;
|
|
157
183
|
getResourceVersion(namespace?: string): string;
|
|
158
184
|
refreshResourceVersion(params?: KubeApiListOptions): Promise<T[]>;
|
|
185
|
+
private computeApiBase;
|
|
159
186
|
getUrl({ name, namespace }?: Partial<ResourceDescriptor>, query?: Partial<IKubeApiQueryParams>): string;
|
|
160
187
|
protected normalizeQuery(query?: Partial<IKubeApiQueryParams>): Partial<IKubeApiQueryParams>;
|
|
161
188
|
protected parseResponse(data: unknown, namespace?: string): T | T[] | null;
|
|
162
189
|
list({ namespace, reqInit }?: KubeApiListOptions, query?: IKubeApiQueryParams): Promise<T[] | null>;
|
|
163
190
|
get(desc: ResourceDescriptor, query?: IKubeApiQueryParams): Promise<T | null>;
|
|
164
|
-
create({ name, namespace }: Partial<ResourceDescriptor>, data?:
|
|
165
|
-
update({ name, namespace }: ResourceDescriptor, data:
|
|
166
|
-
patch(desc: ResourceDescriptor, data?:
|
|
191
|
+
create({ name, namespace }: Partial<ResourceDescriptor>, data?: PartialKubeObject<T>): Promise<T | null>;
|
|
192
|
+
update({ name, namespace }: ResourceDescriptor, data: PartialKubeObject<T>): Promise<T | null>;
|
|
193
|
+
patch(desc: ResourceDescriptor, data?: PartialKubeObject<T> | Patch, strategy?: KubeApiPatchType): Promise<T>;
|
|
167
194
|
delete({ propagationPolicy, ...desc }: DeleteResourceDescriptor): Promise<KubeJsonApiData>;
|
|
168
195
|
getWatchUrl(namespace?: string, query?: IKubeApiQueryParams): string;
|
|
169
196
|
watch(opts?: KubeApiWatchOptions): () => void;
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { JsonApi, JsonApiData, JsonApiError } from "./json-api";
|
|
22
22
|
import type { Response } from "node-fetch";
|
|
23
|
-
import type { Cluster } from "../../main/cluster";
|
|
24
23
|
export interface KubeJsonApiListMetadata {
|
|
25
24
|
resourceVersion: string;
|
|
26
25
|
selfLink?: string;
|
|
@@ -64,6 +63,6 @@ export interface KubeJsonApiError extends JsonApiError {
|
|
|
64
63
|
};
|
|
65
64
|
}
|
|
66
65
|
export declare class KubeJsonApi extends JsonApi<KubeJsonApiData> {
|
|
67
|
-
static forCluster(
|
|
66
|
+
static forCluster(clusterId: string): KubeJsonApi;
|
|
68
67
|
protected parseError(error: KubeJsonApiError | any, res: Response): string[];
|
|
69
68
|
}
|
|
@@ -81,6 +81,28 @@ export declare class KubeCreationError extends Error {
|
|
|
81
81
|
data: any;
|
|
82
82
|
constructor(message: string, data: any);
|
|
83
83
|
}
|
|
84
|
+
export declare type LabelMatchExpression = {
|
|
85
|
+
/**
|
|
86
|
+
* The label key that the selector applies to.
|
|
87
|
+
*/
|
|
88
|
+
key: string;
|
|
89
|
+
} & ({
|
|
90
|
+
/**
|
|
91
|
+
* This represents the key's relationship to a set of values.
|
|
92
|
+
*/
|
|
93
|
+
operator: "Exists" | "DoesNotExist";
|
|
94
|
+
values?: undefined;
|
|
95
|
+
} | {
|
|
96
|
+
operator: "In" | "NotIn";
|
|
97
|
+
/**
|
|
98
|
+
* The set of values for to match according to the operator for the label.
|
|
99
|
+
*/
|
|
100
|
+
values: string[];
|
|
101
|
+
});
|
|
102
|
+
export interface LabelSelector {
|
|
103
|
+
matchLabels?: Record<string, string | undefined>;
|
|
104
|
+
matchExpressions?: LabelMatchExpression[];
|
|
105
|
+
}
|
|
84
106
|
export declare class KubeObject<Metadata extends KubeObjectMetadata = KubeObjectMetadata, Status = any, Spec = any> implements ItemObject {
|
|
85
107
|
static readonly kind?: string;
|
|
86
108
|
static readonly namespaced?: boolean;
|
|
@@ -27,13 +27,13 @@ export declare enum RoutingErrorType {
|
|
|
27
27
|
NO_EXTENSION_ID = "no-ext-id",
|
|
28
28
|
MISSING_EXTENSION = "missing-ext"
|
|
29
29
|
}
|
|
30
|
-
export declare class RoutingError extends Error {
|
|
30
|
+
export declare class RoutingError<Query> extends Error {
|
|
31
31
|
type: RoutingErrorType;
|
|
32
|
-
url: Url
|
|
32
|
+
url: Url<Query>;
|
|
33
33
|
/**
|
|
34
34
|
* Will be set if the routing error originated in an extension route table
|
|
35
35
|
*/
|
|
36
36
|
extensionName?: string;
|
|
37
|
-
constructor(type: RoutingErrorType, url: Url);
|
|
37
|
+
constructor(type: RoutingErrorType, url: Url<Query>);
|
|
38
38
|
toString(): string;
|
|
39
39
|
}
|