diff --git a/sdk/instance/instance.go b/sdk/instance/instance.go index d8ccd602f..ccd64810c 100644 --- a/sdk/instance/instance.go +++ b/sdk/instance/instance.go @@ -65,7 +65,7 @@ func (i *Instance) Create(id string, env []string) (*instance.Instance, error) { return nil, err } - // overwrite default env vars with user defined ones. + // calculate the final env vars by overwriting user defined one's with defaults. instanceEnv := xos.EnvMergeMaps(xos.EnvSliceToMap(srv.Configuration.Env), xos.EnvSliceToMap(env)) // calculate instance's hash. @@ -92,7 +92,7 @@ func (i *Instance) Create(id string, env []string) (*instance.Instance, error) { return nil, err } - _, err = i.start(o) + _, err = i.start(o, xos.EnvMapToSlice(instanceEnv)) return o, err } diff --git a/sdk/instance/start.go b/sdk/instance/start.go index 4d2caa80d..f2aa45cf0 100644 --- a/sdk/instance/start.go +++ b/sdk/instance/start.go @@ -11,7 +11,7 @@ import ( ) // Start starts the service. -func (i *Instance) start(inst *instance.Instance) (serviceIDs []string, err error) { +func (i *Instance) start(inst *instance.Instance, env []string) (serviceIDs []string, err error) { srv, err := i.serviceDB.Get(inst.ServiceHash) if err != nil { return nil, err @@ -55,7 +55,7 @@ func (i *Instance) start(inst *instance.Instance) (serviceIDs []string, err erro Image: d.Image, Args: d.Args, Command: d.Command, - Env: xos.EnvMergeSlices(d.Env, []string{ + Env: xos.EnvMergeSlices(env, []string{ "MESG_TOKEN=" + inst.Hash, "MESG_ENDPOINT=" + endpoint, "MESG_ENDPOINT_TCP=" + endpoint,