From 62ec6ad308bb3336b3fcf856c0c948051fe77fff Mon Sep 17 00:00:00 2001 From: Yann Stepienik Date: Sun, 14 May 2023 13:23:04 +0100 Subject: [PATCH] [release] version 0.5.0-unstable4 --- .../servapps/containers/docker-compose.jsx | 6 ++++ client/src/utils/docker.js | 6 ++-- package.json | 2 +- src/docker/api_blueprint.go | 30 ++++++++++--------- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/client/src/pages/servapps/containers/docker-compose.jsx b/client/src/pages/servapps/containers/docker-compose.jsx index a8cd632..2bc9aed 100644 --- a/client/src/pages/servapps/containers/docker-compose.jsx +++ b/client/src/pages/servapps/containers/docker-compose.jsx @@ -76,6 +76,7 @@ const DockerComposeImport = () => { return; } + setYmlError(''); let doc; let newService = {}; try { @@ -110,6 +111,11 @@ const DockerComposeImport = () => { return ''+port; }) } + + //convert user + if(doc.services[key].user) { + doc.services[key].user = '' + doc.services[key].user; + } }); } diff --git a/client/src/utils/docker.js b/client/src/utils/docker.js index fe290a6..54298aa 100644 --- a/client/src/utils/docker.js +++ b/client/src/utils/docker.js @@ -29,11 +29,11 @@ export const tryParseProgressLog = (log) => { try { const parsedLog = JSON.parse(log); if (parsedLog.status && parsedLog.progress) { - return `${parsedLog.id} ${parsedLog.status} ${parsedLog.progress}` + return `${parsedLog.id || ""} ${parsedLog.status} ${parsedLog.progress}` } else if (parsedLog.status && parsedLog.progressDetail && parsedLog.progressDetail.current) { - return `${parsedLog.id} ${parsedLog.status} ${parsedLog.progressDetail.current}/${parsedLog.progressDetail.total}` + return `${parsedLog.id || ""} ${parsedLog.status} ${parsedLog.progressDetail.current}/${parsedLog.progressDetail.total}` } else if (parsedLog.status) { - return `${parsedLog.id} ${parsedLog.status} ${parsedLog.sha256 || ""}` + return `${parsedLog.id || ""} ${parsedLog.status} ${parsedLog.sha256 || ""}` } return log; } catch (e) { diff --git a/package.json b/package.json index 51df295..408258a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cosmos-server", - "version": "0.5.0-unstable3", + "version": "0.5.0-unstable4", "description": "", "main": "test-server.js", "bugs": { diff --git a/src/docker/api_blueprint.go b/src/docker/api_blueprint.go index e94131a..4ebb95f 100644 --- a/src/docker/api_blueprint.go +++ b/src/docker/api_blueprint.go @@ -379,22 +379,24 @@ func CreateServiceRoute(w http.ResponseWriter, req *http.Request) { return } - // Change the ownership of the directory to the container.User - userInfo, err := user.Lookup(container.User) - if err != nil { - utils.Error("CreateService: Unable to lookup user", err) - fmt.Fprintf(w, "[ERROR] Unable to lookup user: "+err.Error()) - flusher.Flush() - } else { - uid, _ := strconv.Atoi(userInfo.Uid) - gid, _ := strconv.Atoi(userInfo.Gid) - err = os.Chown(newmount.Source, uid, gid) + if container.User != "" { + // Change the ownership of the directory to the container.User + userInfo, err := user.Lookup(container.User) if err != nil { - utils.Error("CreateService: Unable to change ownership of directory", err) - fmt.Fprintf(w, "[ERROR] Unable to change ownership of directory: "+err.Error()) + utils.Error("CreateService: Unable to lookup user", err) + fmt.Fprintf(w, "[ERROR] Unable to lookup user " + container.User + "." +err.Error()) flusher.Flush() - } - } + } else { + uid, _ := strconv.Atoi(userInfo.Uid) + gid, _ := strconv.Atoi(userInfo.Gid) + err = os.Chown(newmount.Source, uid, gid) + if err != nil { + utils.Error("CreateService: Unable to change ownership of directory", err) + fmt.Fprintf(w, "[ERROR] Unable to change ownership of directory: "+err.Error()) + flusher.Flush() + } + } + } } } }