@k8slens/extensions 5.5.0-git.a08b9bd5e9.0 → 5.5.0-git.ab2cd27a27.0
Sign up to get free protection for your applications and to get access to all the features.
- 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[];
|