kubernetes-fluent-client 3.4.0 → 3.4.2
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/fluent/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { KubernetesListObject, KubernetesObject } from "@kubernetes/client-node";
|
|
2
2
|
import { Operation } from "fast-json-patch";
|
|
3
3
|
import type { PartialDeep } from "type-fest";
|
|
4
|
-
import { RequestInit
|
|
4
|
+
import { RequestInit } from "undici";
|
|
5
5
|
import { GenericClass, GroupVersionKind } from "../types";
|
|
6
6
|
import { WatchCfg, Watcher } from "./watch";
|
|
7
7
|
import https from "https";
|
|
@@ -11,7 +11,7 @@ export type WatcherType<T extends GenericClass> = Watcher<T>;
|
|
|
11
11
|
* Fetch options and server URL
|
|
12
12
|
*/
|
|
13
13
|
export type K8sConfigPromise = Promise<{
|
|
14
|
-
opts:
|
|
14
|
+
opts: RequestInit;
|
|
15
15
|
serverUrl: string | URL;
|
|
16
16
|
}>;
|
|
17
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fluent/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fluent/types.ts"],"names":[],"mappings":"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"}
|
package/dist/fluent/utils.d.ts
CHANGED
|
@@ -6,9 +6,10 @@ import { ApplyCfg, FetchMethods, Filters, K8sConfigPromise } from "./types";
|
|
|
6
6
|
/**
|
|
7
7
|
* Get the headers for a request
|
|
8
8
|
*
|
|
9
|
+
* @param token - the token from @kubernetes/client-node
|
|
9
10
|
* @returns the headers for undici
|
|
10
11
|
*/
|
|
11
|
-
export declare function getHeaders(): Promise<Record<string, string>>;
|
|
12
|
+
export declare function getHeaders(token?: string | null): Promise<Record<string, string>>;
|
|
12
13
|
/**
|
|
13
14
|
* Get the agent for a request
|
|
14
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fluent/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAS,UAAU,EAAE,MAAM,QAAQ,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM5E
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fluent/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAS,UAAU,EAAE,MAAM,QAAQ,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM5E;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBvF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAqBvE;AACD;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMvD;AACD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,EAChB,WAAW,UAAQ,OAwDpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB,CA+BnE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EACrD,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,EACrB,QAAQ,GAAE,QAA2B,cAyDtC"}
|
package/dist/fluent/utils.js
CHANGED
|
@@ -23,10 +23,14 @@ const K8S_SA_TOKEN_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/token";
|
|
|
23
23
|
/**
|
|
24
24
|
* Get the headers for a request
|
|
25
25
|
*
|
|
26
|
+
* @param token - the token from @kubernetes/client-node
|
|
26
27
|
* @returns the headers for undici
|
|
27
28
|
*/
|
|
28
|
-
async function getHeaders() {
|
|
29
|
-
|
|
29
|
+
async function getHeaders(token) {
|
|
30
|
+
let saToken = "";
|
|
31
|
+
if (!token) {
|
|
32
|
+
saToken = await getToken();
|
|
33
|
+
}
|
|
30
34
|
const headers = {
|
|
31
35
|
"Content-Type": "application/json",
|
|
32
36
|
"User-Agent": "kubernetes-fluent-client",
|
|
@@ -34,6 +38,9 @@ async function getHeaders() {
|
|
|
34
38
|
if (token) {
|
|
35
39
|
headers["Authorization"] = `Bearer ${token}`;
|
|
36
40
|
}
|
|
41
|
+
else if (saToken) {
|
|
42
|
+
headers["Authorization"] = `Bearer ${saToken}`;
|
|
43
|
+
}
|
|
37
44
|
return headers;
|
|
38
45
|
}
|
|
39
46
|
/**
|
|
@@ -146,9 +153,17 @@ async function k8sCfg(method) {
|
|
|
146
153
|
}
|
|
147
154
|
// Get TLS Options
|
|
148
155
|
const opts = await kubeConfig.applyToFetchOptions({});
|
|
149
|
-
//
|
|
156
|
+
// Extract the headers from the options object
|
|
157
|
+
const symbols = Object.getOwnPropertySymbols(opts.headers);
|
|
158
|
+
const headersMap = symbols
|
|
159
|
+
.map(symbol => Object.getOwnPropertyDescriptor(opts.headers, symbol)?.value)
|
|
160
|
+
.find(value => typeof value === "object" && value !== null);
|
|
161
|
+
// Extract the Authorization header
|
|
162
|
+
const extractedHeaders = {
|
|
163
|
+
Authorization: headersMap?.["Authorization"]?.[0]?.split(" ")[1],
|
|
164
|
+
};
|
|
150
165
|
const undiciRequestUnit = {
|
|
151
|
-
headers: await getHeaders(),
|
|
166
|
+
headers: await getHeaders(extractedHeaders["Authorization"]),
|
|
152
167
|
method,
|
|
153
168
|
dispatcher: getHTTPSAgent(opts),
|
|
154
169
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kubernetes-fluent-client",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.2",
|
|
4
4
|
"description": "A @kubernetes/client-node fluent API wrapper that leverages K8s Server Side Apply.",
|
|
5
5
|
"bin": "./dist/cli.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"http-status-codes": "2.3.0",
|
|
55
55
|
"node-fetch": "2.7.0",
|
|
56
56
|
"quicktype-core": "23.0.171",
|
|
57
|
-
"type-fest": "4.
|
|
57
|
+
"type-fest": "4.35.0",
|
|
58
58
|
"undici": "7.3.0",
|
|
59
59
|
"yargs": "17.7.2"
|
|
60
60
|
},
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
"@types/readable-stream": "4.0.18",
|
|
69
69
|
"@types/urijs": "^1.19.25",
|
|
70
70
|
"@types/yargs": "17.0.33",
|
|
71
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
72
|
-
"@typescript-eslint/parser": "8.
|
|
71
|
+
"@typescript-eslint/eslint-plugin": "8.24.1",
|
|
72
|
+
"@typescript-eslint/parser": "8.24.1",
|
|
73
73
|
"eslint-plugin-jsdoc": "50.6.3",
|
|
74
|
-
"globals": "^
|
|
74
|
+
"globals": "^16.0.0",
|
|
75
75
|
"husky": "^9.1.6",
|
|
76
76
|
"jest": "29.7.0",
|
|
77
77
|
"lint-staged": "^15.2.10",
|
|
78
|
-
"prettier": "3.
|
|
79
|
-
"semantic-release": "24.2.
|
|
78
|
+
"prettier": "3.5.1",
|
|
79
|
+
"semantic-release": "24.2.3",
|
|
80
80
|
"ts-jest": "29.2.5",
|
|
81
81
|
"typescript": "5.7.3"
|
|
82
82
|
},
|
package/src/fluent/types.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { KubernetesListObject, KubernetesObject } from "@kubernetes/client-node";
|
|
5
5
|
import { Operation } from "fast-json-patch";
|
|
6
6
|
import type { PartialDeep } from "type-fest";
|
|
7
|
-
import { RequestInit
|
|
7
|
+
import { RequestInit } from "undici";
|
|
8
8
|
import { GenericClass, GroupVersionKind } from "../types";
|
|
9
9
|
import { WatchCfg, Watcher } from "./watch";
|
|
10
10
|
import https from "https";
|
|
@@ -18,7 +18,7 @@ export type WatcherType<T extends GenericClass> = Watcher<T>;
|
|
|
18
18
|
/**
|
|
19
19
|
* Fetch options and server URL
|
|
20
20
|
*/
|
|
21
|
-
export type K8sConfigPromise = Promise<{ opts:
|
|
21
|
+
export type K8sConfigPromise = Promise<{ opts: RequestInit; serverUrl: string | URL }>;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Agent options for the the http2Watch
|
package/src/fluent/utils.ts
CHANGED
|
@@ -18,10 +18,15 @@ const K8S_SA_TOKEN_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/token";
|
|
|
18
18
|
/**
|
|
19
19
|
* Get the headers for a request
|
|
20
20
|
*
|
|
21
|
+
* @param token - the token from @kubernetes/client-node
|
|
21
22
|
* @returns the headers for undici
|
|
22
23
|
*/
|
|
23
|
-
export async function getHeaders(): Promise<Record<string, string>> {
|
|
24
|
-
|
|
24
|
+
export async function getHeaders(token?: string | null): Promise<Record<string, string>> {
|
|
25
|
+
let saToken: string | null = "";
|
|
26
|
+
if (!token) {
|
|
27
|
+
saToken = await getToken();
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
const headers: Record<string, string> = {
|
|
26
31
|
"Content-Type": "application/json",
|
|
27
32
|
"User-Agent": "kubernetes-fluent-client",
|
|
@@ -29,6 +34,8 @@ export async function getHeaders(): Promise<Record<string, string>> {
|
|
|
29
34
|
|
|
30
35
|
if (token) {
|
|
31
36
|
headers["Authorization"] = `Bearer ${token}`;
|
|
37
|
+
} else if (saToken) {
|
|
38
|
+
headers["Authorization"] = `Bearer ${saToken}`;
|
|
32
39
|
}
|
|
33
40
|
|
|
34
41
|
return headers;
|
|
@@ -168,13 +175,24 @@ export async function k8sCfg(method: FetchMethods): K8sConfigPromise {
|
|
|
168
175
|
// Get TLS Options
|
|
169
176
|
const opts = await kubeConfig.applyToFetchOptions({});
|
|
170
177
|
|
|
171
|
-
//
|
|
178
|
+
// Extract the headers from the options object
|
|
179
|
+
const symbols = Object.getOwnPropertySymbols(opts.headers);
|
|
180
|
+
const headersMap = symbols
|
|
181
|
+
.map(symbol => Object.getOwnPropertyDescriptor(opts.headers, symbol)?.value)
|
|
182
|
+
.find(value => typeof value === "object" && value !== null) as
|
|
183
|
+
| Record<string, string[]>
|
|
184
|
+
| undefined;
|
|
185
|
+
|
|
186
|
+
// Extract the Authorization header
|
|
187
|
+
const extractedHeaders: Record<string, string | undefined> = {
|
|
188
|
+
Authorization: headersMap?.["Authorization"]?.[0]?.split(" ")[1],
|
|
189
|
+
};
|
|
190
|
+
|
|
172
191
|
const undiciRequestUnit = {
|
|
173
|
-
headers: await getHeaders(),
|
|
192
|
+
headers: await getHeaders(extractedHeaders["Authorization"]),
|
|
174
193
|
method,
|
|
175
194
|
dispatcher: getHTTPSAgent(opts),
|
|
176
195
|
};
|
|
177
|
-
|
|
178
196
|
return { opts: undiciRequestUnit, serverUrl: cluster.server };
|
|
179
197
|
}
|
|
180
198
|
|