mirror of
https://github.com/DI0IK/homepage-plus.git
synced 2025-07-14 08:50:31 +00:00
Run pre-commit hooks over existing codebase
Co-Authored-By: Ben Phelps <ben@phelps.io>
This commit is contained in:
parent
fa50bbad9c
commit
19c25713c4
387 changed files with 4785 additions and 4109 deletions
|
@ -15,23 +15,25 @@ async function retrieveFromGlancesAPI(privateWidgetOptions, endpoint) {
|
|||
|
||||
const apiUrl = `${url}/api/3/${endpoint}`;
|
||||
const headers = {
|
||||
"Accept-Encoding": "application/json"
|
||||
"Accept-Encoding": "application/json",
|
||||
};
|
||||
if (privateWidgetOptions.username && privateWidgetOptions.password) {
|
||||
headers.Authorization = `Basic ${Buffer.from(`${privateWidgetOptions.username}:${privateWidgetOptions.password}`).toString("base64")}`
|
||||
headers.Authorization = `Basic ${Buffer.from(
|
||||
`${privateWidgetOptions.username}:${privateWidgetOptions.password}`,
|
||||
).toString("base64")}`;
|
||||
}
|
||||
const params = { method: "GET", headers };
|
||||
|
||||
const [status, , data] = await httpProxy(apiUrl, params);
|
||||
|
||||
if (status === 401) {
|
||||
errorMessage = `Authorization failure getting data from glances API. Data: ${data.toString()}`
|
||||
errorMessage = `Authorization failure getting data from glances API. Data: ${data.toString()}`;
|
||||
logger.error(errorMessage);
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
|
||||
|
||||
if (status !== 200) {
|
||||
errorMessage = `HTTP ${status} getting data from glances API. Data: ${data.toString()}`
|
||||
errorMessage = `HTTP ${status} getting data from glances API. Data: ${data.toString()}`;
|
||||
logger.error(errorMessage);
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
|
@ -52,7 +54,7 @@ export default async function handler(req, res) {
|
|||
cpu: cpuData,
|
||||
load: loadData,
|
||||
mem: memoryData,
|
||||
}
|
||||
};
|
||||
|
||||
// Disabled by default, dont call unless needed
|
||||
if (includeUptime) {
|
||||
|
|
|
@ -11,13 +11,14 @@ export default async function handler(req, res) {
|
|||
const kc = getKubeConfig();
|
||||
if (!kc) {
|
||||
return res.status(500).send({
|
||||
error: "No kubernetes configuration"
|
||||
error: "No kubernetes configuration",
|
||||
});
|
||||
}
|
||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||
const metricsApi = new Metrics(kc);
|
||||
|
||||
const nodes = await coreApi.listNode()
|
||||
const nodes = await coreApi
|
||||
.listNode()
|
||||
.then((response) => response.body)
|
||||
.catch((error) => {
|
||||
logger.error("Error getting ingresses: %d %s %s", error.statusCode, error.body, error.response);
|
||||
|
@ -25,7 +26,7 @@ export default async function handler(req, res) {
|
|||
});
|
||||
if (!nodes) {
|
||||
return res.status(500).send({
|
||||
error: "unknown error"
|
||||
error: "unknown error",
|
||||
});
|
||||
}
|
||||
let cpuTotal = 0;
|
||||
|
@ -37,16 +38,18 @@ export default async function handler(req, res) {
|
|||
nodes.items.forEach((node) => {
|
||||
const cpu = Number.parseInt(node.status.capacity.cpu, 10);
|
||||
const mem = parseMemory(node.status.capacity.memory);
|
||||
const ready = node.status.conditions.filter(condition => condition.type === "Ready" && condition.status === "True").length > 0;
|
||||
const ready =
|
||||
node.status.conditions.filter((condition) => condition.type === "Ready" && condition.status === "True").length >
|
||||
0;
|
||||
nodeMap[node.metadata.name] = {
|
||||
name: node.metadata.name,
|
||||
ready,
|
||||
cpu: {
|
||||
total: cpu
|
||||
total: cpu,
|
||||
},
|
||||
memory: {
|
||||
total: mem
|
||||
}
|
||||
total: mem,
|
||||
},
|
||||
};
|
||||
cpuTotal += cpu;
|
||||
memTotal += mem;
|
||||
|
@ -68,7 +71,7 @@ export default async function handler(req, res) {
|
|||
} catch (error) {
|
||||
logger.error("Error getting metrics, ensure you have metrics-server installed: s", JSON.stringify(error));
|
||||
return res.status(500).send({
|
||||
error: "Error getting metrics, check logs for more details"
|
||||
error: "Error getting metrics, check logs for more details",
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -76,24 +79,24 @@ export default async function handler(req, res) {
|
|||
cpu: {
|
||||
load: cpuUsage,
|
||||
total: cpuTotal,
|
||||
percent: (cpuUsage / cpuTotal) * 100
|
||||
percent: (cpuUsage / cpuTotal) * 100,
|
||||
},
|
||||
memory: {
|
||||
used: memUsage,
|
||||
total: memTotal,
|
||||
free: (memTotal - memUsage),
|
||||
percent: (memUsage / memTotal) * 100
|
||||
}
|
||||
free: memTotal - memUsage,
|
||||
percent: (memUsage / memTotal) * 100,
|
||||
},
|
||||
};
|
||||
|
||||
return res.status(200).json({
|
||||
cluster,
|
||||
nodes: Object.entries(nodeMap).map(([name, node]) => ({ name, ...node }))
|
||||
nodes: Object.entries(nodeMap).map(([name, node]) => ({ name, ...node })),
|
||||
});
|
||||
} catch (e) {
|
||||
logger.error("exception %s", e);
|
||||
return res.status(500).send({
|
||||
error: "unknown error"
|
||||
error: "unknown error",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ function parseLonghornData(data) {
|
|||
export default async function handler(req, res) {
|
||||
const settings = getSettings();
|
||||
const longhornSettings = settings?.providers?.longhorn || {};
|
||||
const {url, username, password} = longhornSettings;
|
||||
const { url, username, password } = longhornSettings;
|
||||
|
||||
if (!url) {
|
||||
const errorMessage = "Missing Longhorn URL";
|
||||
|
@ -57,10 +57,10 @@ export default async function handler(req, res) {
|
|||
|
||||
const apiUrl = `${url}/v1/nodes`;
|
||||
const headers = {
|
||||
"Accept-Encoding": "application/json"
|
||||
"Accept-Encoding": "application/json",
|
||||
};
|
||||
if (username && password) {
|
||||
headers.Authorization = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`
|
||||
headers.Authorization = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
|
||||
}
|
||||
const params = { method: "GET", headers };
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import cachedFetch from "utils/proxy/cached-fetch";
|
|||
export default async function handler(req, res) {
|
||||
const { latitude, longitude, units, cache, timezone } = req.query;
|
||||
const degrees = units === "imperial" ? "fahrenheit" : "celsius";
|
||||
const timezeone = timezone ?? 'auto'
|
||||
const timezeone = timezone ?? "auto";
|
||||
const apiUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=sunrise,sunset¤t_weather=true&temperature_unit=${degrees}&timezone=${timezeone}`;
|
||||
return res.send(await cachedFetch(apiUrl, cache));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { existsSync } from "fs";
|
||||
|
||||
const si = require('systeminformation');
|
||||
const si = require("systeminformation");
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { type, target } = req.query;
|
||||
|
@ -25,7 +25,7 @@ export default async function handler(req, res) {
|
|||
const fsSize = await si.fsSize();
|
||||
|
||||
return res.status(200).json({
|
||||
drive: fsSize.find(fs => fs.mount === target) ?? fsSize.find(fs => fs.mount === "/")
|
||||
drive: fsSize.find((fs) => fs.mount === target) ?? fsSize.find((fs) => fs.mount === "/"),
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ export default async function handler(req, res) {
|
|||
if (type === "uptime") {
|
||||
const timeData = await si.time();
|
||||
return res.status(200).json({
|
||||
uptime: timeData.uptime
|
||||
uptime: timeData.uptime,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue