carve out cmd, stub server impl
This commit is contained in:
parent
51fa79ef2f
commit
90aa93a1d7
64 changed files with 10564 additions and 3 deletions
45
serve.go
Normal file
45
serve.go
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
package kubelwagen
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
"sync"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func Serve(hostport string, dir string) {
|
||||
closer := make(chan bool)
|
||||
var wg sync.WaitGroup
|
||||
|
||||
signalChan := make(chan os.Signal, 1)
|
||||
signal.Notify(signalChan, os.Interrupt)
|
||||
|
||||
go func() {
|
||||
for range signalChan {
|
||||
fmt.Println("\nReceived an interrupt, disconnecting...")
|
||||
close(closer)
|
||||
}
|
||||
}()
|
||||
wg.Add(2)
|
||||
|
||||
go func(dir string, closer chan bool) {
|
||||
err := serveFuse(dir, closer)
|
||||
if err != nil {
|
||||
logrus.Fatalf("Error serving FUSE: %s", err)
|
||||
}
|
||||
wg.Done()
|
||||
}(dir, closer)
|
||||
|
||||
go func(hostport string, closer chan bool) {
|
||||
err := serveHTTP(hostport, closer)
|
||||
if err != nil {
|
||||
logrus.Fatalf("Error serving HTTP: %s", err)
|
||||
}
|
||||
wg.Done()
|
||||
}(hostport, closer)
|
||||
|
||||
wg.Wait()
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue