Fix: fix k8s gateway error logging (#7008)

This commit is contained in:
shamoon
2026-08-18 10:51:29 -07:00
committed by GitHub
parent dca0c9ab81
commit b5084ba8b3
2 changed files with 33 additions and 2 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ const getSchemaFromGateway = async (parentRef) => {
return listener.protocol.toLowerCase();
})
.catch((error) => {
logger.error("Error getting gateways: %d %s %s", error.statusCode, error.body, error.response);
logger.error("Error getting gateways: %s", error.body ?? error.message);
logger.debug(error);
return "http";
+32 -1
View File
@@ -169,10 +169,41 @@ describe("utils/kubernetes/resource-helpers", () => {
const service = await constructedServiceFromResource(resource);
expect(service.href).toBe("http://example.com/r");
expect(logger.error).toHaveBeenCalled();
expect(logger.error).toHaveBeenCalledWith("Error getting gateways: %s", "boom");
expect(logger.debug).toHaveBeenCalled();
});
it("logs the message for gateway errors that carry no response body", async () => {
const kc = getKubeConfig();
const crd = kc.makeApiClient();
crd.getNamespacedCustomObject.mockRejectedValueOnce(new Error("Required parameter namespace was null"));
const base = "gethomepage.dev";
const resource = {
kind: "HTTPRoute",
metadata: {
name: "route",
namespace: "ns",
annotations: {
[`${base}/enabled`]: "true",
},
},
spec: {
hostnames: ["example.com"],
parentRefs: [{ namespace: "ns", name: "gw", sectionName: "web" }],
rules: [
{
matches: [{ path: { type: "PathPrefix", value: "/r" } }],
},
],
},
};
const service = await constructedServiceFromResource(resource);
expect(service.href).toBe("http://example.com/r");
expect(logger.error).toHaveBeenCalledWith("Error getting gateways: %s", "Required parameter namespace was null");
});
it("logs and recovers when environment substitution yields invalid json", async () => {
substituteEnvironmentVars.mockImplementationOnce(() => "{bad json");