github.com/chenbh/concourse/v6@v6.4.2/worker/workercmd/houdini.go (about) 1 package workercmd 2 3 import ( 4 "fmt" 5 "os" 6 "path/filepath" 7 8 "code.cloudfoundry.org/garden/server" 9 "code.cloudfoundry.org/lager" 10 "github.com/tedsuo/ifrit" 11 "github.com/vito/houdini" 12 ) 13 14 func (cmd *WorkerCommand) houdiniRunner(logger lager.Logger) (ifrit.Runner, error) { 15 depotDir := filepath.Join(cmd.WorkDir.Path(), "containers") 16 17 err := os.MkdirAll(depotDir, 0755) 18 if err != nil { 19 return nil, fmt.Errorf("failed to create depot dir: %s", err) 20 } 21 22 backend := houdini.NewBackend(depotDir) 23 24 server := server.New( 25 "tcp", 26 cmd.bindAddr(), 27 0, 28 backend, 29 logger, 30 ) 31 32 return gardenServerRunner{logger, server}, nil 33 } 34 35 func (cmd *WorkerCommand) bindAddr() string { 36 return fmt.Sprintf("%s:%d", cmd.BindIP.IP, cmd.BindPort) 37 }