57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { MessageHandler } from "../ws";
|
|
import logger from "@server/logger";
|
|
import { dockerSocketCache } from "./dockerSocket";
|
|
|
|
export const handleDockerStatusMessage: MessageHandler = async (context) => {
|
|
const { message, newt } = context;
|
|
|
|
logger.info("Handling Docker socket check response");
|
|
|
|
if (!newt) {
|
|
logger.warn("Newt not found");
|
|
return;
|
|
}
|
|
|
|
logger.info(`Newt ID: ${newt.newtId}, Site ID: ${newt.siteId}`);
|
|
const { available, socketPath } = message.data;
|
|
|
|
logger.info(
|
|
`Docker socket availability for Newt ${newt.newtId}: available=${available}, socketPath=${socketPath}`
|
|
);
|
|
|
|
if (available) {
|
|
logger.info(`Newt ${newt.newtId} has Docker socket access`);
|
|
dockerSocketCache.set(`${newt.newtId}:socketPath`, socketPath, 0);
|
|
dockerSocketCache.set(`${newt.newtId}:isAvailable`, available, 0);
|
|
} else {
|
|
logger.warn(`Newt ${newt.newtId} does not have Docker socket access`);
|
|
}
|
|
|
|
return;
|
|
};
|
|
|
|
export const handleDockerContainersMessage: MessageHandler = async (
|
|
context
|
|
) => {
|
|
const { message, newt } = context;
|
|
|
|
logger.info("Handling Docker containers response");
|
|
|
|
if (!newt) {
|
|
logger.warn("Newt not found");
|
|
return;
|
|
}
|
|
|
|
logger.info(`Newt ID: ${newt.newtId}, Site ID: ${newt.siteId}`);
|
|
const { containers } = message.data;
|
|
|
|
logger.info(
|
|
`Docker containers for Newt ${newt.newtId}: ${containers ? containers.length : 0}`
|
|
);
|
|
|
|
if (containers && containers.length > 0) {
|
|
dockerSocketCache.set(`${newt.newtId}:dockerContainers`, containers, 0);
|
|
} else {
|
|
logger.warn(`Newt ${newt.newtId} does not have Docker containers`);
|
|
}
|
|
};
|