From 35fc04dc8fc06b5a447aa0c2e5b6cee804a768e4 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 5 Sep 2025 02:35:06 -0600 Subject: [PATCH] feat: enhance error handling and logging in Docker resource type determination --- packages/server/src/services/settings.ts | 48 ++++++++++++++---------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/packages/server/src/services/settings.ts b/packages/server/src/services/settings.ts index 84997f390..55e1a46e6 100644 --- a/packages/server/src/services/settings.ts +++ b/packages/server/src/services/settings.ts @@ -253,9 +253,10 @@ export const getDockerResourceType = async ( resourceName: string, serverId?: string, ) => { - console.log("resourceName", resourceName); - let result = ""; - const command = ` + try { + console.log("resourceName", resourceName); + let result = ""; + const command = ` RESOURCE_NAME="${resourceName}" if docker service inspect "$RESOURCE_NAME" &>/dev/null; then echo "service" @@ -271,23 +272,30 @@ export const getDockerResourceType = async ( exit 0 `; - console.log("command", command); + console.log("command", command); - if (serverId) { - const { stdout } = await execAsyncRemote(serverId, command); - result = stdout.trim(); - } else { - const { stdout } = await execAsync(command); - result = stdout.trim(); + if (serverId) { + const { stdout } = await execAsyncRemote(serverId, command); + result = stdout.trim(); + } else { + const { stdout } = await execAsync(command); + result = stdout.trim(); + } + console.log("result", result); + console.log("final result2 ", result.length); + + console.log("fin"); + if (result === "service") { + return "service"; + } + if (result === "standalone") { + return "standalone"; + } + return "unknown"; + } catch (error) { + console.error(error); + return "unknown"; } - console.log("result", result); - if (result === "service") { - return "service"; - } - if (result === "standalone") { - return "standalone"; - } - return "unknown"; }; export const reloadDockerResource = async ( @@ -319,7 +327,7 @@ export const readEnvironmentVariables = async ( let command = ""; if (resourceType === "service") { command = `docker service inspect ${resourceName} --format '{{json .Spec.TaskTemplate.ContainerSpec.Env}}'`; - } else { + } else if (resourceType === "standalone") { command = `docker container inspect ${resourceName} --format '{{json .Config.Env}}'`; } let result = ""; @@ -346,7 +354,7 @@ export const readPorts = async ( let command = ""; if (resourceType === "service") { command = `docker service inspect ${resourceName} --format '{{json .Spec.EndpointSpec.Ports}}'`; - } else { + } else if (resourceType === "standalone") { command = `docker container inspect ${resourceName} --format '{{json .NetworkSettings.Ports}}'`; } let result = "";