Fixhancement: Handle k8s ipv6 node tls bug (#7035)

This commit is contained in:
shamoon
2026-08-21 07:21:38 -07:00
committed by GitHub
parent a414f376b9
commit cc22d04429
2 changed files with 27 additions and 0 deletions
+22
View File
@@ -43,6 +43,7 @@ vi.mock("@kubernetes/client-node", () => ({
ApiextensionsV1Api: class ApiextensionsV1Api {},
KubeConfig: class KubeConfig {
loadFromCluster() {
this.clusters = [{ name: "inCluster", server: "https://host:443", skipTLSVerify: false }];
return kube.loadFromCluster();
}
loadFromDefault() {
@@ -85,6 +86,27 @@ describe("utils/config/kubernetes", () => {
expect(kc2).not.toBeNull();
});
it("getKubeConfig sets tlsServerName when the in-cluster host is IPv6", () => {
vi.stubEnv("KUBERNETES_SERVICE_HOST", "fd00:1018:2000::1");
yaml.load.mockReturnValueOnce({ mode: "cluster" });
expect(getKubeConfig().clusters[0]).toMatchObject({
name: "inCluster",
tlsServerName: "kubernetes.default.svc",
});
vi.unstubAllEnvs();
});
it("getKubeConfig leaves tlsServerName unset for non-IPv6 in-cluster hosts", () => {
vi.stubEnv("KUBERNETES_SERVICE_HOST", "10.43.0.1");
yaml.load.mockReturnValueOnce({ mode: "cluster" });
expect(getKubeConfig().clusters[0].tlsServerName).toBeUndefined();
vi.unstubAllEnvs();
});
it("checkCRD returns true when the CRD exists", async () => {
apiExt.readCustomResourceDefinitionStatus.mockResolvedValueOnce({ ok: true });
const logger = { error: vi.fn() };