diff --git a/handlers/session_setup.go b/handlers/session_setup.go index f12d062..62289de 100644 --- a/handlers/session_setup.go +++ b/handlers/session_setup.go @@ -13,7 +13,7 @@ func SessionSetup(rw http.ResponseWriter, req *http.Request) { vars := mux.Vars(req) sessionId := vars["sessionId"] - body := pwd.SessionSetupConf{PlaygroundFQDN: req.Host} + body := pwd.SessionSetupConf{PlaygroundFQDN: req.Host, DindVolumeSize: "5G"} json.NewDecoder(req.Body).Decode(&body) @@ -23,6 +23,17 @@ func SessionSetup(rw http.ResponseWriter, req *http.Request) { return } + playground := core.PlaygroundGet(s.PlaygroundId) + if playground == nil { + log.Printf("Playground with id %s for session %s was not found!", s.PlaygroundId, s.Id) + rw.WriteHeader(http.StatusBadRequest) + return + } + + if len(playground.DindVolumeSize) > 0 { + body.DindVolumeSize = playground.DindVolumeSize + } + err = core.SessionSetup(s, body) if err != nil { if pwd.SessionNotEmpty(err) { diff --git a/pwd/session.go b/pwd/session.go index e3c1a0f..db43764 100644 --- a/pwd/session.go +++ b/pwd/session.go @@ -32,6 +32,7 @@ func (s *sessionBuilderWriter) Write(p []byte) (n int, err error) { type SessionSetupConf struct { Instances []SessionSetupInstanceConf `json:"instances"` PlaygroundFQDN string + DindVolumeSize string } type SessionSetupInstanceConf struct { @@ -250,6 +251,7 @@ func (p *pwd) SessionSetup(session *types.Session, sconf SessionSetupConf) error PlaygroundFQDN: sconf.PlaygroundFQDN, Type: conf.Type, Tls: conf.Tls, + DindVolumeSize: sconf.DindVolumeSize, } i, err := p.InstanceNew(session, instanceConf) if err != nil {