mirror of
https://github.com/gethomepage/homepage.git
synced 2026-09-28 15:01:17 -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();
|
return listener.protocol.toLowerCase();
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.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);
|
logger.debug(error);
|
||||||
|
|
||||||
return "http";
|
return "http";
|
||||||
|
|||||||
@@ -169,10 +169,41 @@ describe("utils/kubernetes/resource-helpers", () => {
|
|||||||
|
|
||||||
const service = await constructedServiceFromResource(resource);
|
const service = await constructedServiceFromResource(resource);
|
||||||
expect(service.href).toBe("http://example.com/r");
|
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();
|
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 () => {
|
it("logs and recovers when environment substitution yields invalid json", async () => {
|
||||||
substituteEnvironmentVars.mockImplementationOnce(() => "{bad json");
|
substituteEnvironmentVars.mockImplementationOnce(() => "{bad json");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user