From cc10984113f81b3018ae355f8bc4d9991634407a Mon Sep 17 00:00:00 2001 From: Steve Chan Date: Tue, 19 Jun 2018 17:28:21 -0700 Subject: [PATCH 1/4] Changes nginx lua code to pass env vars through to docker containers --- docker/docker.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docker/docker.lua b/docker/docker.lua index 2b620af2ab..fba0bf7993 100755 --- a/docker/docker.lua +++ b/docker/docker.lua @@ -10,6 +10,18 @@ local M = {} local Spore = require('Spore') local json = require('json') +local os = require("os") +local narrEnvVars = os.getenv("NARR_ENV_VARS") + +-- Define a clientEnv variable that is passed as environment to the containers being +-- started. The granularity of this kind of sucks, but it is only a stopgap until we +-- eliminate this code from KBase. +local clientEnv +if narrEnvVars == nil then + clientEnv = json.util.null +else + clientEnv = json.decode( narrEnvVars) +end -- For creating new containers the config object must contain certain fields -- Example config contains: @@ -26,7 +38,7 @@ local function config() Tty = false, OpenStdin = false, StdinOnce = false, - Env = json.util.null, + Env = clientEnv, Cmd = {'/bin/bash'}, Dns = json.util.null, Image = "base", From f43b0c3fa4b9a7b3647d62eb92b3b47fcb0db9a3 Mon Sep 17 00:00:00 2001 From: Steve Chan Date: Wed, 27 Jun 2018 19:34:49 -0700 Subject: [PATCH 2/4] Added logging message for setting env vars --- docker/docker.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/docker.lua b/docker/docker.lua index fba0bf7993..8093123983 100755 --- a/docker/docker.lua +++ b/docker/docker.lua @@ -11,6 +11,7 @@ local M = {} local Spore = require('Spore') local json = require('json') local os = require("os") +local p = require('pl.pretty') local narrEnvVars = os.getenv("NARR_ENV_VARS") -- Define a clientEnv variable that is passed as environment to the containers being @@ -21,6 +22,7 @@ if narrEnvVars == nil then clientEnv = json.util.null else clientEnv = json.decode( narrEnvVars) + ngx.log(ngx.INFO,string.format("Setting narrative container environment to: %s", narrEnvVars) end -- For creating new containers the config object must contain certain fields @@ -39,7 +41,6 @@ local function config() OpenStdin = false, StdinOnce = false, Env = clientEnv, - Cmd = {'/bin/bash'}, Dns = json.util.null, Image = "base", Volumes = {}, From 5dde6b63394b135cc21eb9129518d1e3102d0d1b Mon Sep 17 00:00:00 2001 From: Steve Chan Date: Wed, 27 Jun 2018 19:42:56 -0700 Subject: [PATCH 3/4] Clear settings that were overriding narrative image settings --- docker/docker.lua | 1 - src/config.json.templ | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/docker.lua b/docker/docker.lua index 8093123983..676888f561 100755 --- a/docker/docker.lua +++ b/docker/docker.lua @@ -29,7 +29,6 @@ end -- Example config contains: local function config() local config = { Hostname = "", - User = "nobody", Memory = 0, MemorySwap = 0, AttachStdin = false, diff --git a/src/config.json.templ b/src/config.json.templ index 7af977d74a..ae2a0f4963 100644 --- a/src/config.json.templ +++ b/src/config.json.templ @@ -151,8 +151,8 @@ "ws_browser": "https://narrative.kbase.us/#ws" }, "dev_mode": true, - "git_commit_hash": "4aa6e0e", - "git_commit_time": "Thu May 31 16:13:12 2018 -0700", + "git_commit_hash": "72d46bb", + "git_commit_time": "Wed Jun 13 11:19:31 2018 -0700", "loading_gif": "/narrative/static/kbase/images/ajax-loader.gif", "name": "KBase Narrative", "next": { From 2564b332ad3207d63b5a9c34e11843601f54542e Mon Sep 17 00:00:00 2001 From: Steve Chan Date: Wed, 27 Jun 2018 20:41:07 -0700 Subject: [PATCH 4/4] Grrr...missing paren --- docker/docker.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker.lua b/docker/docker.lua index 676888f561..9722dc2a38 100755 --- a/docker/docker.lua +++ b/docker/docker.lua @@ -22,7 +22,7 @@ if narrEnvVars == nil then clientEnv = json.util.null else clientEnv = json.decode( narrEnvVars) - ngx.log(ngx.INFO,string.format("Setting narrative container environment to: %s", narrEnvVars) + ngx.log(ngx.INFO,string.format("Setting narrative container environment to: %s", narrEnvVars)) end -- For creating new containers the config object must contain certain fields