kubelwagen/fuse.go

21 lines
441 B
Go

package kubelwagen
import (
"github.com/hanwen/go-fuse/fuse/nodefs"
"github.com/sirupsen/logrus"
)
func serveFuse(dir string, req chan RequestCallback, closer chan bool) error {
opts := WsFsOpts{
ReadOnly: true,
}
nfs := NewWsFs(opts, req, closer)
server, _, err := nodefs.MountRoot(dir, nfs.Root(), nil)
if err != nil {
logrus.Fatalln("cannot mount:", err)
}
defer server.Unmount()
go server.Serve()
<-closer
return nil
}