@certd/lib-k8s 1.25.5 → 1.25.6

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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.25.6](https://github.com/certd/certd/compare/v1.25.5...v1.25.6) (2024-09-29)
7
+
8
+ ### Performance Improvements
9
+
10
+ * 部署支持1Panel ([d047234](https://github.com/certd/certd/commit/d047234d98d31504f2e5a472b66e1b75806af26e))
11
+
6
12
  ## [1.25.5](https://github.com/certd/certd/compare/v1.25.4...v1.25.5) (2024-09-26)
7
13
 
8
14
  **Note:** Version bump only for package @certd/lib-k8s
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './lib/k8s.client.js';
1
+ export * from './lib/k8s.client.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from './lib/k8s.client.js';
1
+ export * from './lib/k8s.client.js';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyJ9
@@ -1,62 +1,62 @@
1
- /// <reference types=".pnpm/@types+node@20.16.1/node_modules/@types/node/http" />
2
- import { CoreV1Api, KubeConfig, V1Ingress, V1Secret } from '@kubernetes/client-node';
3
- import { ILogger } from '@certd/pipeline';
4
- export type K8sClientOpts = {
5
- kubeConfigStr: string;
6
- logger: ILogger;
7
- lookup?: any;
8
- };
9
- export declare class K8sClient {
10
- kubeconfig: KubeConfig;
11
- kubeConfigStr: string;
12
- lookup: (hostnameReq: any, options: any, callback: any) => void;
13
- client: CoreV1Api;
14
- logger: ILogger;
15
- constructor(opts: K8sClientOpts);
16
- init(): void;
17
- /**
18
- *
19
- * @param localRecords { [domain]:{ip:'xxx.xx.xxx'} }
20
- */
21
- setLookup(localRecords: {
22
- [key: string]: {
23
- ip: string;
24
- };
25
- }): void;
26
- /**
27
- * 查询 secret列表
28
- * @param opts = {namespace:default}
29
- * @returns secretsList
30
- */
31
- getSecrets(opts: {
32
- namespace: string;
33
- }): Promise<{
34
- response: import("http").IncomingMessage;
35
- body: import("@kubernetes/client-node").V1SecretList;
36
- }>;
37
- /**
38
- * 创建Secret
39
- * @param opts {namespace:default, body:yamlStr}
40
- * @returns {Promise<*>}
41
- */
42
- createSecret(opts: {
43
- namespace: string;
44
- body: V1Secret;
45
- }): Promise<V1Secret>;
46
- patchSecret(opts: {
47
- namespace: string;
48
- secretName: string;
49
- body: V1Secret;
50
- }): Promise<V1Secret>;
51
- getIngressList(opts: {
52
- namespace: string;
53
- }): Promise<import("@kubernetes/client-node").V1IngressList>;
54
- patchIngress(opts: {
55
- namespace: string;
56
- ingressName: string;
57
- body: V1Ingress;
58
- }): Promise<{
59
- response: import("http").IncomingMessage;
60
- body: V1Ingress;
61
- }>;
62
- }
1
+ /// <reference types="node" />
2
+ import { CoreV1Api, KubeConfig, V1Ingress, V1Secret } from '@kubernetes/client-node';
3
+ import { ILogger } from '@certd/pipeline';
4
+ export type K8sClientOpts = {
5
+ kubeConfigStr: string;
6
+ logger: ILogger;
7
+ lookup?: any;
8
+ };
9
+ export declare class K8sClient {
10
+ kubeconfig: KubeConfig;
11
+ kubeConfigStr: string;
12
+ lookup: (hostnameReq: any, options: any, callback: any) => void;
13
+ client: CoreV1Api;
14
+ logger: ILogger;
15
+ constructor(opts: K8sClientOpts);
16
+ init(): void;
17
+ /**
18
+ *
19
+ * @param localRecords { [domain]:{ip:'xxx.xx.xxx'} }
20
+ */
21
+ setLookup(localRecords: {
22
+ [key: string]: {
23
+ ip: string;
24
+ };
25
+ }): void;
26
+ /**
27
+ * 查询 secret列表
28
+ * @param opts = {namespace:default}
29
+ * @returns secretsList
30
+ */
31
+ getSecrets(opts: {
32
+ namespace: string;
33
+ }): Promise<{
34
+ response: import("http").IncomingMessage;
35
+ body: import("@kubernetes/client-node").V1SecretList;
36
+ }>;
37
+ /**
38
+ * 创建Secret
39
+ * @param opts {namespace:default, body:yamlStr}
40
+ * @returns {Promise<*>}
41
+ */
42
+ createSecret(opts: {
43
+ namespace: string;
44
+ body: V1Secret;
45
+ }): Promise<V1Secret>;
46
+ patchSecret(opts: {
47
+ namespace: string;
48
+ secretName: string;
49
+ body: V1Secret;
50
+ }): Promise<V1Secret>;
51
+ getIngressList(opts: {
52
+ namespace: string;
53
+ }): Promise<import("@kubernetes/client-node").V1IngressList>;
54
+ patchIngress(opts: {
55
+ namespace: string;
56
+ ingressName: string;
57
+ body: V1Ingress;
58
+ }): Promise<{
59
+ response: import("http").IncomingMessage;
60
+ body: V1Ingress;
61
+ }>;
62
+ }
@@ -1,121 +1,121 @@
1
- import { CoreV1Api, KubeConfig, NetworkingV1Api } from '@kubernetes/client-node';
2
- import dns from 'dns';
3
- import _ from 'lodash-es';
4
- export class K8sClient {
5
- kubeconfig;
6
- kubeConfigStr;
7
- lookup;
8
- client;
9
- logger;
10
- constructor(opts) {
11
- this.kubeConfigStr = opts.kubeConfigStr;
12
- this.logger = opts.logger;
13
- this.setLookup(opts.lookup);
14
- this.init();
15
- }
16
- init() {
17
- const kubeconfig = new KubeConfig();
18
- kubeconfig.loadFromString(this.kubeConfigStr);
19
- this.kubeconfig = kubeconfig;
20
- this.client = kubeconfig.makeApiClient(CoreV1Api);
21
- // const reqOpts = { kubeconfig, request: {} } as any;
22
- // if (this.lookup) {
23
- // reqOpts.request.lookup = this.lookup;
24
- // }
25
- //
26
- // const backend = new Request(reqOpts);
27
- // this.client = new Client({ backend, version: '1.13' });
28
- }
29
- /**
30
- *
31
- * @param localRecords { [domain]:{ip:'xxx.xx.xxx'} }
32
- */
33
- setLookup(localRecords) {
34
- if (localRecords == null) {
35
- return;
36
- }
37
- this.lookup = (hostnameReq, options, callback) => {
38
- this.logger.info('custom lookup', hostnameReq, localRecords);
39
- if (localRecords[hostnameReq]) {
40
- this.logger.info('local record', hostnameReq, localRecords[hostnameReq]);
41
- callback(null, localRecords[hostnameReq].ip, 4);
42
- }
43
- else {
44
- dns.lookup(hostnameReq, options, callback);
45
- }
46
- };
47
- }
48
- /**
49
- * 查询 secret列表
50
- * @param opts = {namespace:default}
51
- * @returns secretsList
52
- */
53
- async getSecrets(opts) {
54
- const namespace = opts.namespace || 'default';
55
- return await this.client.listNamespacedSecret(namespace);
56
- }
57
- /**
58
- * 创建Secret
59
- * @param opts {namespace:default, body:yamlStr}
60
- * @returns {Promise<*>}
61
- */
62
- async createSecret(opts) {
63
- const namespace = opts.namespace || 'default';
64
- const created = await this.client.createNamespacedSecret(namespace, opts.body);
65
- this.logger.info('new secrets:', opts.body);
66
- return created.body;
67
- }
68
- // async updateSecret(opts: any) {
69
- // const namespace = opts.namespace || 'default';
70
- // const secretName = opts.secretName;
71
- // if (secretName == null) {
72
- // throw new Error('secretName 不能为空');
73
- // }
74
- // return await this.client.replaceNamespacedSecret(secretName, namespace, opts.body);
75
- // }
76
- async patchSecret(opts) {
77
- const namespace = opts.namespace || 'default';
78
- const secretName = opts.secretName;
79
- if (secretName == null) {
80
- throw new Error('secretName 不能为空');
81
- }
82
- this.logger.info('patch secret:', secretName, namespace);
83
- const oldSecret = await this.client.readNamespacedSecret(secretName, namespace);
84
- const newSecret = _.merge(oldSecret.body, opts.body);
85
- const res = await this.client.replaceNamespacedSecret(secretName, namespace, newSecret);
86
- this.logger.info('secret updated');
87
- return res.body;
88
- }
89
- async getIngressList(opts) {
90
- const namespace = opts.namespace || 'default';
91
- const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
92
- const res = await client.listNamespacedIngress(namespace);
93
- this.logger.info('ingress list get:', res.body);
94
- return res.body;
95
- }
96
- // async getIngress(opts: { namespace: string; ingressName: string }) {
97
- // const namespace = opts.namespace || 'default';
98
- // const ingressName = opts.ingressName;
99
- // if (!ingressName) {
100
- // throw new Error('ingressName 不能为空');
101
- // }
102
- // const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
103
- // const res = await client.listNamespacedIngress();
104
- // return await this.client.apis.extensions.v1beta1.namespaces(namespace).ingresses(ingressName).get();
105
- // }
106
- async patchIngress(opts) {
107
- const namespace = opts.namespace || 'default';
108
- const ingressName = opts.ingressName;
109
- if (!ingressName) {
110
- throw new Error('ingressName 不能为空');
111
- }
112
- this.logger.info('patch ingress:', ingressName, namespace);
113
- const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
114
- const oldIngress = await client.readNamespacedIngress(ingressName, namespace);
115
- const newIngress = _.merge(oldIngress.body, opts.body);
116
- const res = await client.replaceNamespacedIngress(ingressName, namespace, newIngress);
117
- this.logger.info('ingress patched', opts.body);
118
- return res;
119
- }
120
- }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvazhzLmNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDdEcsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQVMxQixNQUFNLE9BQU8sU0FBUztJQUNwQixVQUFVLENBQWM7SUFDeEIsYUFBYSxDQUFTO0lBQ3RCLE1BQU0sQ0FBMkQ7SUFDakUsTUFBTSxDQUFhO0lBQ25CLE1BQU0sQ0FBVTtJQUNoQixZQUFZLElBQW1CO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRCxzREFBc0Q7UUFDdEQscUJBQXFCO1FBQ3JCLDBDQUEwQztRQUMxQyxJQUFJO1FBQ0osRUFBRTtRQUNGLHdDQUF3QztRQUN4QywwREFBMEQ7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxZQUErQztRQUN2RCxJQUFJLFlBQVksSUFBSSxJQUFJLEVB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
1
+ import { CoreV1Api, KubeConfig, NetworkingV1Api } from '@kubernetes/client-node';
2
+ import dns from 'dns';
3
+ import _ from 'lodash-es';
4
+ export class K8sClient {
5
+ kubeconfig;
6
+ kubeConfigStr;
7
+ lookup;
8
+ client;
9
+ logger;
10
+ constructor(opts) {
11
+ this.kubeConfigStr = opts.kubeConfigStr;
12
+ this.logger = opts.logger;
13
+ this.setLookup(opts.lookup);
14
+ this.init();
15
+ }
16
+ init() {
17
+ const kubeconfig = new KubeConfig();
18
+ kubeconfig.loadFromString(this.kubeConfigStr);
19
+ this.kubeconfig = kubeconfig;
20
+ this.client = kubeconfig.makeApiClient(CoreV1Api);
21
+ // const reqOpts = { kubeconfig, request: {} } as any;
22
+ // if (this.lookup) {
23
+ // reqOpts.request.lookup = this.lookup;
24
+ // }
25
+ //
26
+ // const backend = new Request(reqOpts);
27
+ // this.client = new Client({ backend, version: '1.13' });
28
+ }
29
+ /**
30
+ *
31
+ * @param localRecords { [domain]:{ip:'xxx.xx.xxx'} }
32
+ */
33
+ setLookup(localRecords) {
34
+ if (localRecords == null) {
35
+ return;
36
+ }
37
+ this.lookup = (hostnameReq, options, callback) => {
38
+ this.logger.info('custom lookup', hostnameReq, localRecords);
39
+ if (localRecords[hostnameReq]) {
40
+ this.logger.info('local record', hostnameReq, localRecords[hostnameReq]);
41
+ callback(null, localRecords[hostnameReq].ip, 4);
42
+ }
43
+ else {
44
+ dns.lookup(hostnameReq, options, callback);
45
+ }
46
+ };
47
+ }
48
+ /**
49
+ * 查询 secret列表
50
+ * @param opts = {namespace:default}
51
+ * @returns secretsList
52
+ */
53
+ async getSecrets(opts) {
54
+ const namespace = opts.namespace || 'default';
55
+ return await this.client.listNamespacedSecret(namespace);
56
+ }
57
+ /**
58
+ * 创建Secret
59
+ * @param opts {namespace:default, body:yamlStr}
60
+ * @returns {Promise<*>}
61
+ */
62
+ async createSecret(opts) {
63
+ const namespace = opts.namespace || 'default';
64
+ const created = await this.client.createNamespacedSecret(namespace, opts.body);
65
+ this.logger.info('new secrets:', opts.body);
66
+ return created.body;
67
+ }
68
+ // async updateSecret(opts: any) {
69
+ // const namespace = opts.namespace || 'default';
70
+ // const secretName = opts.secretName;
71
+ // if (secretName == null) {
72
+ // throw new Error('secretName 不能为空');
73
+ // }
74
+ // return await this.client.replaceNamespacedSecret(secretName, namespace, opts.body);
75
+ // }
76
+ async patchSecret(opts) {
77
+ const namespace = opts.namespace || 'default';
78
+ const secretName = opts.secretName;
79
+ if (secretName == null) {
80
+ throw new Error('secretName 不能为空');
81
+ }
82
+ this.logger.info('patch secret:', secretName, namespace);
83
+ const oldSecret = await this.client.readNamespacedSecret(secretName, namespace);
84
+ const newSecret = _.merge(oldSecret.body, opts.body);
85
+ const res = await this.client.replaceNamespacedSecret(secretName, namespace, newSecret);
86
+ this.logger.info('secret updated');
87
+ return res.body;
88
+ }
89
+ async getIngressList(opts) {
90
+ const namespace = opts.namespace || 'default';
91
+ const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
92
+ const res = await client.listNamespacedIngress(namespace);
93
+ this.logger.info('ingress list get:', res.body);
94
+ return res.body;
95
+ }
96
+ // async getIngress(opts: { namespace: string; ingressName: string }) {
97
+ // const namespace = opts.namespace || 'default';
98
+ // const ingressName = opts.ingressName;
99
+ // if (!ingressName) {
100
+ // throw new Error('ingressName 不能为空');
101
+ // }
102
+ // const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
103
+ // const res = await client.listNamespacedIngress();
104
+ // return await this.client.apis.extensions.v1beta1.namespaces(namespace).ingresses(ingressName).get();
105
+ // }
106
+ async patchIngress(opts) {
107
+ const namespace = opts.namespace || 'default';
108
+ const ingressName = opts.ingressName;
109
+ if (!ingressName) {
110
+ throw new Error('ingressName 不能为空');
111
+ }
112
+ this.logger.info('patch ingress:', ingressName, namespace);
113
+ const client = this.kubeconfig.makeApiClient(NetworkingV1Api);
114
+ const oldIngress = await client.readNamespacedIngress(ingressName, namespace);
115
+ const newIngress = _.merge(oldIngress.body, opts.body);
116
+ const res = await client.replaceNamespacedIngress(ingressName, namespace, newIngress);
117
+ this.logger.info('ingress patched', opts.body);
118
+ return res;
119
+ }
120
+ }
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvazhzLmNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDdEcsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBRXRCLE9BQU8sQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQVMxQixNQUFNLE9BQU8sU0FBUztJQUNwQixVQUFVLENBQWM7SUFDeEIsYUFBYSxDQUFTO0lBQ3RCLE1BQU0sQ0FBMkQ7SUFDakUsTUFBTSxDQUFhO0lBQ25CLE1BQU0sQ0FBVTtJQUNoQixZQUFZLElBQW1CO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRCxzREFBc0Q7UUFDdEQscUJBQXFCO1FBQ3JCLDBDQUEwQztRQUMxQyxJQUFJO1FBQ0osRUFBRTtRQUNGLHdDQUF3QztRQUN4QywwREFBMEQ7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxZQUErQztRQUN2RCxJQUFJLFlBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxXQUFnQixFQUFFLE9BQVksRUFBRSxRQUFhLEVBQUUsRUFBRTtZQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzdELElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBMkI7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDOUMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQTJDO1FBQzVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsbURBQW1EO0lBQ25ELHdDQUF3QztJQUN4Qyw4QkFBOEI7SUFDOUIsMENBQTBDO0lBQzFDLE1BQU07SUFDTix3RkFBd0Y7SUFDeEYsSUFBSTtJQUVKLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBK0Q7UUFDL0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQTJCO1FBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDbEIsQ0FBQztJQUVELHVFQUF1RTtJQUN2RSxtREFBbUQ7SUFDbkQsMENBQTBDO0lBQzFDLHdCQUF3QjtJQUN4QiwyQ0FBMkM7SUFDM0MsTUFBTTtJQUNOLG1FQUFtRTtJQUNuRSxzREFBc0Q7SUFDdEQseUdBQXlHO0lBQ3pHLElBQUk7SUFFSixLQUFLLENBQUMsWUFBWSxDQUFDLElBQWlFO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@certd/lib-k8s",
3
3
  "private": false,
4
- "version": "1.25.5",
4
+ "version": "1.25.6",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@kubernetes/client-node": "0.21.0"
18
18
  },
19
19
  "devDependencies": {
20
- "@certd/pipeline": "^1.25.5",
20
+ "@certd/pipeline": "^1.25.6",
21
21
  "@rollup/plugin-commonjs": "^23.0.4",
22
22
  "@rollup/plugin-json": "^6.0.0",
23
23
  "@rollup/plugin-node-resolve": "^15.0.1",
@@ -37,7 +37,7 @@
37
37
  "rollup-plugin-visualizer": "^5.8.2",
38
38
  "ts-node": "^10.9.1",
39
39
  "tslib": "^2.5.2",
40
- "typescript": "^4.8.4"
40
+ "typescript": "^5.4.2"
41
41
  },
42
- "gitHead": "be13390b3a9177c9d99f1efabfc285d0c377b013"
42
+ "gitHead": "5668a3e2225059d9d2d236e698b020e272bba076"
43
43
  }