mirror of
https://github.com/gethomepage/homepage.git
synced 2026-08-30 17:05:52 -07:00
Fix: fix k8s gateway error logging (#7008)
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user