From e55b9e76b0255ad9e7762ad06807b78fbba28100 Mon Sep 17 00:00:00 2001 From: Steffen Neubauer Date: Thu, 2 Nov 2023 13:09:21 +0100 Subject: [PATCH] fix: due to bugs in kubernetes clients, we need to use a fork See also https://github.com/kubernetes-client/javascript/pull/1341 --- core/package.json | 2 +- core/src/plugins/kubernetes/api.ts | 5 ++++- package-lock.json | 7 ++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core/package.json b/core/package.json index 3dc0084eff..366f2d87b8 100644 --- a/core/package.json +++ b/core/package.json @@ -28,7 +28,7 @@ "@codenamize/codenamize": "^1.1.1", "@hapi/joi": "git+https://github.com/garden-io/joi.git#master", "@jsdevtools/readdir-enhanced": "^6.0.4", - "@kubernetes/client-node": "^1.0.0-rc3", + "@kubernetes/client-node": "github:davidgamero/javascript#c17ff3193dbd111b9e5b5db939647af70005381e", "@opentelemetry/api": "^1.6.0", "@opentelemetry/core": "^1.17.1", "@opentelemetry/exporter-trace-otlp-http": "0.43.0", diff --git a/core/src/plugins/kubernetes/api.ts b/core/src/plugins/kubernetes/api.ts index b70def162a..9e5a971b49 100644 --- a/core/src/plugins/kubernetes/api.ts +++ b/core/src/plugins/kubernetes/api.ts @@ -257,8 +257,11 @@ function makeApiClient(kubeConfig: KubeConfig, apiClientType: { pre: async (context) => { // patch the patch bug... (https://github.com/kubernetes-client/javascript/issues/19) + // See also https://github.com/kubernetes-client/javascript/pull/1341 (That's why we have to use the fork) if (context.getHttpMethod() === "PATCH") { - context.setHeaderParam("content-type", "application/merge-patch+json") + // this does not work because it lowercases the header param: + // context.setHeaderParam("Content-Type", "application/merge-patch+json") + context["headers"]["Content-Type"] = "application/merge-patch+json" } const agent = await createProxyAgent(context.getAgent()) diff --git a/package-lock.json b/package-lock.json index c2b828eb8b..37c929f1d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3397,7 +3397,7 @@ "@codenamize/codenamize": "^1.1.1", "@hapi/joi": "git+https://github.com/garden-io/joi.git#master", "@jsdevtools/readdir-enhanced": "^6.0.4", - "@kubernetes/client-node": "^1.0.0-rc3", + "@kubernetes/client-node": "github:davidgamero/javascript#c17ff3193dbd111b9e5b5db939647af70005381e", "@opentelemetry/api": "^1.6.0", "@opentelemetry/core": "^1.17.1", "@opentelemetry/exporter-trace-otlp-http": "0.43.0", @@ -4095,8 +4095,9 @@ }, "core/node_modules/@kubernetes/client-node": { "version": "1.0.0-rc3", - "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-1.0.0-rc3.tgz", - "integrity": "sha512-bTYMBZXVrjfi98N5EZbrmPtcT9NY+TddunSEc25DcsRF1c5c93e5jT+zFwId19hG8e/ue5deKe7YDQiRYFpMlQ==", + "resolved": "git+ssh://git@github.com/davidgamero/javascript.git#c17ff3193dbd111b9e5b5db939647af70005381e", + "integrity": "sha512-zsVvAfTSltL5+Vo8rau/IsyjEO97ked4gf4JLOajvXZ6upOheoFPGAxbNUeUGVfJypehzKxmwKuiCCQ7xP8ARg==", + "license": "Apache-2.0", "dependencies": { "@types/js-yaml": "^4.0.1", "@types/node": "^20.3.1",