From 6bb3abbe8842e70d71a69f0db8a9de84f60ea603 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:50:48 -0800 Subject: [PATCH] Oh also here --- src/pages/api/docker/stats/[...service].js | 12 ++++++++++-- src/pages/api/docker/status/[...service].js | 12 ++++++++++-- src/pages/api/kubernetes/stats/[...service].js | 13 ++++++++++--- src/pages/api/kubernetes/status/[...service].js | 13 ++++++++++--- src/pages/api/widgets/kubernetes.js | 13 ++++++++++--- 5 files changed, 50 insertions(+), 13 deletions(-) diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js index e92bad7ce..513df1a12 100644 --- a/src/pages/api/docker/stats/[...service].js +++ b/src/pages/api/docker/stats/[...service].js @@ -1,9 +1,16 @@ -import Docker from "dockerode"; - import getDockerArguments from "utils/config/docker"; import createLogger from "utils/logger"; 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) { const { service } = req.query; @@ -16,6 +23,7 @@ export default async function handler(req, res) { } try { + const Docker = await getDocker(); const dockerArgs = getDockerArguments(containerServer); const docker = new Docker(dockerArgs.conn); const containers = await docker.listContainers({ diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js index f9dc640bb..fd76d78f6 100644 --- a/src/pages/api/docker/status/[...service].js +++ b/src/pages/api/docker/status/[...service].js @@ -1,9 +1,16 @@ -import Docker from "dockerode"; - import getDockerArguments from "utils/config/docker"; import createLogger from "utils/logger"; 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) { const { service } = req.query; @@ -16,6 +23,7 @@ export default async function handler(req, res) { } try { + const Docker = await getDocker(); const dockerArgs = getDockerArguments(containerServer); const docker = new Docker(dockerArgs.conn); const containers = await docker.listContainers({ diff --git a/src/pages/api/kubernetes/stats/[...service].js b/src/pages/api/kubernetes/stats/[...service].js index ab4541834..2a88124d7 100644 --- a/src/pages/api/kubernetes/stats/[...service].js +++ b/src/pages/api/kubernetes/stats/[...service].js @@ -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 createLogger from "../../../../utils/logger"; 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) { 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}`; try { + const [{ CoreV1Api, Metrics }, { getKubeConfig }] = await getKubernetesDeps(); const kc = getKubeConfig(); if (!kc) { res.status(500).send({ diff --git a/src/pages/api/kubernetes/status/[...service].js b/src/pages/api/kubernetes/status/[...service].js index e85589240..053fdc046 100644 --- a/src/pages/api/kubernetes/status/[...service].js +++ b/src/pages/api/kubernetes/status/[...service].js @@ -1,9 +1,15 @@ -import { CoreV1Api } from "@kubernetes/client-node"; - -import { getKubeConfig } from "../../../../utils/config/kubernetes"; import createLogger from "../../../../utils/logger"; 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) { 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}`; try { + const [{ CoreV1Api }, { getKubeConfig }] = await getKubernetesDeps(); const kc = getKubeConfig(); if (!kc) { res.status(500).send({ diff --git a/src/pages/api/widgets/kubernetes.js b/src/pages/api/widgets/kubernetes.js index 7f972e224..d0562668c 100644 --- a/src/pages/api/widgets/kubernetes.js +++ b/src/pages/api/widgets/kubernetes.js @@ -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 createLogger from "../../../utils/logger"; 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) { try { + const [{ CoreV1Api, Metrics }, { getKubeConfig }] = await getKubernetesDeps(); const kc = getKubeConfig(); if (!kc) { return res.status(500).send({