Add proxy to faasd up

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis (OpenFaaS Ltd) 2019-12-29 12:13:50 +00:00
parent 52baca9d17
commit beb84a3775
3 changed files with 40 additions and 1 deletions

View File

@ -65,6 +65,7 @@ func runUp(_ *cobra.Command, _ []string) error {
log.Printf("Supervisor init done in: %s\n", time.Since(start).String())
shutdownTimeout := time.Second * 1
timeout := time.Second * 60
wg := sync.WaitGroup{}
wg.Add(1)
@ -85,6 +86,12 @@ func runUp(_ *cobra.Command, _ []string) error {
})
}()
go func() {
wd, _ := os.Getwd()
proxy := pkg.NewProxy(path.Join(wd, "hosts"), timeout)
proxy.Start()
}()
wg.Wait()
return nil
}

33
pkg/proxy.go Normal file
View File

@ -0,0 +1,33 @@
package pkg
import (
"fmt"
"net/http"
"time"
)
func NewProxy(hosts string, timeout time.Duration) *Proxy {
return &Proxy{
Hosts: hosts,
Timeout: timeout,
}
}
type Proxy struct {
Hosts string
Timeout time.Duration
}
func (p *Proxy) Start() error {
tcp := 8080
s := &http.Server{
Addr: fmt.Sprintf(":%d", tcp),
ReadTimeout: p.Timeout,
WriteTimeout: p.Timeout,
MaxHeaderBytes: 1 << 20, // Max header of 1MB
}
return s.ListenAndServe()
}

View File

@ -186,7 +186,6 @@ func (s *Supervisor) Start(svcs []Service) error {
}
log.Println("Exited: ", exitStatusC)
// call start on the task to execute the redis server
if err := task.Start(ctx); err != nil {
log.Println("Task err: ", err)
return err