Oh also here

This commit is contained in:
shamoon
2026-02-27 21:50:48 -08:00
parent 4f3d60b94d
commit 6bb3abbe88
5 changed files with 50 additions and 13 deletions

View File

@@ -1,9 +1,16 @@
import Docker from "dockerode";
import getDockerArguments from "utils/config/docker"; import getDockerArguments from "utils/config/docker";
import createLogger from "utils/logger"; import createLogger from "utils/logger";
const logger = createLogger("dockerStatsService"); const logger = createLogger("dockerStatsService");
let DockerPromise;
async function getDocker() {
if (!DockerPromise) {
DockerPromise = import("dockerode");
}
const { default: Docker } = await DockerPromise;
return Docker;
}
export default async function handler(req, res) { export default async function handler(req, res) {
const { service } = req.query; const { service } = req.query;
@@ -16,6 +23,7 @@ export default async function handler(req, res) {
} }
try { try {
const Docker = await getDocker();
const dockerArgs = getDockerArguments(containerServer); const dockerArgs = getDockerArguments(containerServer);
const docker = new Docker(dockerArgs.conn); const docker = new Docker(dockerArgs.conn);
const containers = await docker.listContainers({ const containers = await docker.listContainers({

View File

@@ -1,9 +1,16 @@
import Docker from "dockerode";
import getDockerArguments from "utils/config/docker"; import getDockerArguments from "utils/config/docker";
import createLogger from "utils/logger"; import createLogger from "utils/logger";
const logger = createLogger("dockerStatusService"); const logger = createLogger("dockerStatusService");
let DockerPromise;
async function getDocker() {
if (!DockerPromise) {
DockerPromise = import("dockerode");
}
const { default: Docker } = await DockerPromise;
return Docker;
}
export default async function handler(req, res) { export default async function handler(req, res) {
const { service } = req.query; const { service } = req.query;
@@ -16,6 +23,7 @@ export default async function handler(req, res) {
} }
try { try {
const Docker = await getDocker();
const dockerArgs = getDockerArguments(containerServer); const dockerArgs = getDockerArguments(containerServer);
const docker = new Docker(dockerArgs.conn); const docker = new Docker(dockerArgs.conn);
const containers = await docker.listContainers({ const containers = await docker.listContainers({

View File

@@ -1,10 +1,16 @@
import { CoreV1Api, Metrics } from "@kubernetes/client-node";
import { getKubeConfig } from "../../../../utils/config/kubernetes";
import { parseCpu, parseMemory } from "../../../../utils/kubernetes/utils"; import { parseCpu, parseMemory } from "../../../../utils/kubernetes/utils";
import createLogger from "../../../../utils/logger"; import createLogger from "../../../../utils/logger";
const logger = createLogger("kubernetesStatsService"); const logger = createLogger("kubernetesStatsService");
let kubeDepsPromise;
async function getKubernetesDeps() {
if (!kubeDepsPromise) {
kubeDepsPromise = Promise.all([import("@kubernetes/client-node"), import("../../../../utils/config/kubernetes")]);
}
return kubeDepsPromise;
}
export default async function handler(req, res) { export default async function handler(req, res) {
const APP_LABEL = "app.kubernetes.io/name"; const APP_LABEL = "app.kubernetes.io/name";
@@ -20,6 +26,7 @@ export default async function handler(req, res) {
const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`; const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`;
try { try {
const [{ CoreV1Api, Metrics }, { getKubeConfig }] = await getKubernetesDeps();
const kc = getKubeConfig(); const kc = getKubeConfig();
if (!kc) { if (!kc) {
res.status(500).send({ res.status(500).send({

View File

@@ -1,9 +1,15 @@
import { CoreV1Api } from "@kubernetes/client-node";
import { getKubeConfig } from "../../../../utils/config/kubernetes";
import createLogger from "../../../../utils/logger"; import createLogger from "../../../../utils/logger";
const logger = createLogger("kubernetesStatusService"); const logger = createLogger("kubernetesStatusService");
let kubeDepsPromise;
async function getKubernetesDeps() {
if (!kubeDepsPromise) {
kubeDepsPromise = Promise.all([import("@kubernetes/client-node"), import("../../../../utils/config/kubernetes")]);
}
return kubeDepsPromise;
}
export default async function handler(req, res) { export default async function handler(req, res) {
const APP_LABEL = "app.kubernetes.io/name"; const APP_LABEL = "app.kubernetes.io/name";
@@ -18,6 +24,7 @@ export default async function handler(req, res) {
} }
const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`; const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`;
try { try {
const [{ CoreV1Api }, { getKubeConfig }] = await getKubernetesDeps();
const kc = getKubeConfig(); const kc = getKubeConfig();
if (!kc) { if (!kc) {
res.status(500).send({ res.status(500).send({

View File

@@ -1,13 +1,20 @@
import { CoreV1Api, Metrics } from "@kubernetes/client-node";
import { getKubeConfig } from "../../../utils/config/kubernetes";
import { parseCpu, parseMemory } from "../../../utils/kubernetes/utils"; import { parseCpu, parseMemory } from "../../../utils/kubernetes/utils";
import createLogger from "../../../utils/logger"; import createLogger from "../../../utils/logger";
const logger = createLogger("widget"); const logger = createLogger("widget");
let kubeDepsPromise;
async function getKubernetesDeps() {
if (!kubeDepsPromise) {
kubeDepsPromise = Promise.all([import("@kubernetes/client-node"), import("../../../utils/config/kubernetes")]);
}
return kubeDepsPromise;
}
export default async function handler(req, res) { export default async function handler(req, res) {
try { try {
const [{ CoreV1Api, Metrics }, { getKubeConfig }] = await getKubernetesDeps();
const kc = getKubeConfig(); const kc = getKubeConfig();
if (!kc) { if (!kc) {
return res.status(500).send({ return res.status(500).send({