diff --git a/handlers/home.go b/handlers/home.go index d0af8a5..ee29e62 100644 --- a/handlers/home.go +++ b/handlers/home.go @@ -17,6 +17,7 @@ func Home(w http.ResponseWriter, r *http.Request) { return } if s.Stack != "" { + s.Host = r.Host go core.SessionDeployStack(s) } diff --git a/handlers/session_setup.go b/handlers/session_setup.go index a72dba5..fa96c88 100644 --- a/handlers/session_setup.go +++ b/handlers/session_setup.go @@ -26,6 +26,7 @@ func SessionSetup(rw http.ResponseWriter, req *http.Request) { return } + s.Host = req.Host err := core.SessionSetup(s, body) if err != nil { log.Println(err) diff --git a/pwd/instance.go b/pwd/instance.go index c0abe36..6f14aed 100644 --- a/pwd/instance.go +++ b/pwd/instance.go @@ -236,6 +236,7 @@ func (p *pwd) InstanceAllowedImages() []string { return []string{ config.GetDindImageName(), "franela/dind:overlay2-dev", + "franela/ucp:2.4.1", } } diff --git a/pwd/instance_test.go b/pwd/instance_test.go index ea7270e..cb82ac1 100644 --- a/pwd/instance_test.go +++ b/pwd/instance_test.go @@ -235,7 +235,7 @@ func TestInstanceAllowedImages(t *testing.T) { p := NewPWD(dock, tasks, broadcast, storage) - expectedImages := []string{config.GetDindImageName(), "franela/dind:overlay2-dev"} + expectedImages := []string{config.GetDindImageName(), "franela/dind:overlay2-dev", "franela/ucp:2.4.1"} assert.Equal(t, expectedImages, p.InstanceAllowedImages()) } diff --git a/pwd/session.go b/pwd/session.go index 74026c7..ad36812 100644 --- a/pwd/session.go +++ b/pwd/session.go @@ -147,7 +147,7 @@ func (p *pwd) SessionDeployStack(s *types.Session) error { s.Ready = false p.broadcast.BroadcastTo(s.Id, "session ready", false) - i, err := p.InstanceNew(s, InstanceConfig{ImageName: s.ImageName}) + i, err := p.InstanceNew(s, InstanceConfig{ImageName: s.ImageName, Host: s.Host}) if err != nil { log.Printf("Error creating instance for stack [%s]: %s\n", s.Stack, err) return err @@ -201,6 +201,7 @@ func (p *pwd) SessionSetup(session *types.Session, conf SessionSetupConf) error instanceConf := InstanceConfig{ ImageName: conf.Image, Hostname: conf.Hostname, + Host: session.Host, } i, err := p.InstanceNew(session, instanceConf) if err != nil { diff --git a/pwd/types/session.go b/pwd/types/session.go index 1c0b384..0b4e831 100644 --- a/pwd/types/session.go +++ b/pwd/types/session.go @@ -15,6 +15,7 @@ type Session struct { Stack string `json:"stack"` StackName string `json:"stack_name"` ImageName string `json:"image_name"` + Host string `json:"host"` Clients []*Client `json:"-"` closingTimer *time.Timer `json:"-"` scheduled bool `json:"-"`