diff --git a/changelog.md b/changelog.md index c123428..f53fc4c 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,7 @@ - Default networks to 16 Ips instead of 8 - Further improving the docker-compose import to mimic naming and hostnaming convention - Added hostname stickiness to compose network namespaces + - Added depends_on conditions to compose import - Fixed issues with container's monitoring when name contains a dot (Thanks @BearTS) - Added email on succesful login (Thanks @BearTS) - Add support for runtime (Thanks @ryan-schubert) diff --git a/client/src/pages/config/routes/routeman.jsx b/client/src/pages/config/routes/routeman.jsx index f139201..7a8dd65 100644 --- a/client/src/pages/config/routes/routeman.jsx +++ b/client/src/pages/config/routes/routeman.jsx @@ -112,6 +112,8 @@ const RouteManagement = ({ routeConfig, routeNames, config, TargetContainer, noC fullValues = sanitizeRoute(fullValues); + console.log(fullValues) + let op; if(newRoute) { op = API.config.newRoute(routeConfig.Name, fullValues) diff --git a/client/src/pages/servapps/containers/docker-compose.jsx b/client/src/pages/servapps/containers/docker-compose.jsx index 6c47583..748dd0e 100644 --- a/client/src/pages/servapps/containers/docker-compose.jsx +++ b/client/src/pages/servapps/containers/docker-compose.jsx @@ -211,9 +211,7 @@ const convertDockerCompose = (config, serviceName, dockerCompose, setYmlError) = // convert devices if (doc.services[key].devices) { - console.log(1) if (Array.isArray(doc.services[key].devices)) { - console.log(2) let devices = []; doc.services[key].devices.forEach((device) => { if(device.indexOf(':') === -1) { @@ -237,8 +235,12 @@ const convertDockerCompose = (config, serviceName, dockerCompose, setYmlError) = if (doc.services[key].depends_on) { if (Array.isArray(doc.services[key].depends_on)) { let depends_on = {}; - doc.services[key].depends_on.forEach((depend) => { - depends_on['' + depend] = {}; + doc.services[key].depends_on.forEach((depend, index) => { + if (typeof depend === 'object') { + depends_on[index] = depend; + } else { + depends_on['' + depend] = {}; + } }); doc.services[key].depends_on = depends_on; } @@ -290,13 +292,29 @@ const convertDockerCompose = (config, serviceName, dockerCompose, setYmlError) = Object.keys(doc.services).forEach((potentialMatch) => { if (doc.services[potentialMatch].old_key === depend) { let name = doc.services[potentialMatch].container_name || potentialMatch; - doc.services[key].depends_on[name] = {}; - delete doc.services[key].depends_on[depend]; + doc.services[key].depends_on[name] = doc.services[key].depends_on[depend]; + if (name !== depend) { + delete doc.services[key].depends_on[depend]; + } } }); }); } }); + + // ensure network mode names + Object.keys(doc.services).forEach((key) => { + if (doc.services[key].network_mode) { + if (doc.services[key].network_mode && doc.services[key].network_mode.startsWith('service:')) { + let service = doc.services[key].network_mode.split(':')[1]; + Object.keys(doc.services).forEach((potentialMatch) => { + if (doc.services[potentialMatch].old_key === service) { + doc.services[key].network_mode = 'service:' + (doc.services[potentialMatch].container_name || potentialMatch); + } + }); + } + } + }); // clean up old-keys Object.keys(doc.services).forEach((key) => { diff --git a/package.json b/package.json index 861c637..9c7af4f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cosmos-server", - "version": "0.16.0-unstable40", + "version": "0.16.0-unstable41", "description": "", "main": "test-server.js", "bugs": { diff --git a/readme.md b/readme.md index b4cebbf..3cc9a6b 100644 --- a/readme.md +++ b/readme.md @@ -6,6 +6,7 @@
+
diff --git a/src/configapi/patch.go b/src/configapi/patch.go
index f645f0f..1d07a1d 100644
--- a/src/configapi/patch.go
+++ b/src/configapi/patch.go
@@ -105,9 +105,11 @@ func ConfigApiPatch(w http.ResponseWriter, req *http.Request) {
map[string]interface{}{
})
- utils.RestartHTTPServer()
- constellation.RestartNebula()
-
+ go (func () {
+ constellation.RestartNebula()
+ utils.RestartHTTPServer()
+ })()
+
if updateReq.NewRoute != nil && updateReq.NewRoute.Mode == "SERVAPP" {
utils.Log("RouteSettingsUpdate: Service needs update: "+updateReq.NewRoute.Target)
diff --git a/src/configapi/set.go b/src/configapi/set.go
index ebe8996..f01987c 100644
--- a/src/configapi/set.go
+++ b/src/configapi/set.go
@@ -53,9 +53,9 @@ func ConfigApiSet(w http.ResponseWriter, req *http.Request) {
utils.InitFBL()
utils.DisconnectDB()
authorizationserver.Init()
- utils.RestartHTTPServer()
- constellation.RestartNebula()
go (func() {
+ constellation.RestartNebula()
+ utils.RestartHTTPServer()
cron.InitJobs()
cron.InitScheduler()
})()