@k8slens/extensions 5.5.0-git.a08b9bd5e9.0 → 5.5.0-git.ab2cd27a27.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/k8s-api/__tests__/ingress.api.d.ts +5 -0
- package/dist/src/common/k8s-api/endpoints/ingress.api.d.ts +42 -29
- package/dist/src/common/k8s-api/kube-object.d.ts +5 -0
- package/dist/src/extensions/extension-api.js +33 -23
- package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
- package/package.json +1 -1
@@ -2,7 +2,7 @@
|
|
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 { KubeObject } from "../kube-object";
|
5
|
+
import { KubeObject, TypedLocalObjectReference } from "../kube-object";
|
6
6
|
import { IMetrics } from "./metrics.api";
|
7
7
|
import { KubeApi } from "../kube-api";
|
8
8
|
import type { KubeJsonApiData } from "../kube-json-api";
|
@@ -21,46 +21,50 @@ export interface ILoadBalancerIngress {
|
|
21
21
|
hostname?: string;
|
22
22
|
ip?: string;
|
23
23
|
}
|
24
|
-
interface
|
25
|
-
serviceName
|
26
|
-
servicePort
|
24
|
+
export interface ExtensionsBackend {
|
25
|
+
serviceName?: string;
|
26
|
+
servicePort?: number | string;
|
27
27
|
}
|
28
|
-
interface
|
29
|
-
service
|
28
|
+
export interface NetworkingBackend {
|
29
|
+
service?: IngressService;
|
30
30
|
}
|
31
|
-
export declare type
|
32
|
-
|
31
|
+
export declare type IngressBackend = (ExtensionsBackend | NetworkingBackend) & {
|
32
|
+
resource?: TypedLocalObjectReference;
|
33
|
+
};
|
34
|
+
export interface IngressService {
|
33
35
|
name: string;
|
34
|
-
port: {
|
35
|
-
name
|
36
|
-
number
|
36
|
+
port: RequireExactlyOne<{
|
37
|
+
name: string;
|
38
|
+
number: number;
|
39
|
+
}>;
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* Format an ingress backend into the name of the service and port
|
43
|
+
* @param backend The ingress target
|
44
|
+
*/
|
45
|
+
export declare function getBackendServiceNamePort(backend: IngressBackend): string;
|
46
|
+
export interface IngressRule {
|
47
|
+
host?: string;
|
48
|
+
http?: {
|
49
|
+
paths: {
|
50
|
+
path?: string;
|
51
|
+
backend: IngressBackend;
|
52
|
+
}[];
|
37
53
|
};
|
38
54
|
}
|
39
|
-
export declare const getBackendServiceNamePort: (backend: IIngressBackend) => {
|
40
|
-
serviceName: string;
|
41
|
-
servicePort: string | number;
|
42
|
-
};
|
43
55
|
export interface Ingress {
|
44
|
-
spec
|
45
|
-
tls
|
56
|
+
spec?: {
|
57
|
+
tls?: {
|
46
58
|
secretName: string;
|
47
59
|
}[];
|
48
|
-
rules?:
|
49
|
-
|
50
|
-
http: {
|
51
|
-
paths: {
|
52
|
-
path?: string;
|
53
|
-
backend: IIngressBackend;
|
54
|
-
}[];
|
55
|
-
};
|
56
|
-
}[];
|
57
|
-
backend?: IExtensionsBackend;
|
60
|
+
rules?: IngressRule[];
|
61
|
+
backend?: ExtensionsBackend;
|
58
62
|
/**
|
59
63
|
* The default backend which is exactly on of:
|
60
64
|
* - service
|
61
65
|
* - resource
|
62
66
|
*/
|
63
|
-
defaultBackend?: RequireExactlyOne<
|
67
|
+
defaultBackend?: RequireExactlyOne<NetworkingBackend & {
|
64
68
|
resource: {
|
65
69
|
apiGroup: string;
|
66
70
|
kind: string;
|
@@ -74,16 +78,25 @@ export interface Ingress {
|
|
74
78
|
};
|
75
79
|
};
|
76
80
|
}
|
81
|
+
export interface ComputedIngressRoute {
|
82
|
+
displayAsLink: boolean;
|
83
|
+
pathname: string;
|
84
|
+
url: string;
|
85
|
+
service: string;
|
86
|
+
}
|
77
87
|
export declare class Ingress extends KubeObject {
|
78
88
|
static kind: string;
|
79
89
|
static namespaced: boolean;
|
80
90
|
static apiBase: string;
|
81
91
|
constructor(data: KubeJsonApiData);
|
92
|
+
getRules(): IngressRule[];
|
82
93
|
getRoutes(): string[];
|
83
|
-
getServiceNamePort():
|
94
|
+
getServiceNamePort(): ExtensionsBackend;
|
84
95
|
getHosts(): string[];
|
85
96
|
getPorts(): string;
|
86
97
|
getLoadBalancers(): string[];
|
87
98
|
}
|
99
|
+
export declare function computeRuleDeclarations(ingress: Ingress, rule: IngressRule): ComputedIngressRoute[];
|
100
|
+
export declare function computeRouteDeclarations(ingress: Ingress): ComputedIngressRoute[];
|
88
101
|
declare let ingressApi: IngressApi;
|
89
102
|
export { ingressApi, };
|
@@ -89,6 +89,11 @@ export declare type LabelMatchExpression = {
|
|
89
89
|
*/
|
90
90
|
values: string[];
|
91
91
|
});
|
92
|
+
export interface TypedLocalObjectReference {
|
93
|
+
apiGroup?: string;
|
94
|
+
kind: string;
|
95
|
+
name: string;
|
96
|
+
}
|
92
97
|
export interface LabelSelector {
|
93
98
|
matchLabels?: Record<string, string | undefined>;
|
94
99
|
matchExpressions?: LabelMatchExpression[];
|