Skip to content
Snippets Groups Projects
main.go 634 B
Newer Older
Hugo Hörnquist's avatar
Hugo Hörnquist committed
package main

import (
	"log"
	"os"
	"git.lysator.liu.se/hugo/foremanFS/dir"
	"git.lysator.liu.se/hugo/foremanFS/fetch"

	"bazil.org/fuse"
	"bazil.org/fuse/fs"
Hugo Hörnquist's avatar
Hugo Hörnquist committed
)

func main() {
	password := os.Args[1:][0]
Hugo Hörnquist's avatar
Hugo Hörnquist committed

	fetch.Init(password)
Hugo Hörnquist's avatar
Hugo Hörnquist committed

	c, err := fuse.Mount(
		"mnt",
		fuse.FSName("Foreman"),
		fuse.Subtype("foreman"),
	)
	if err != nil {
		log.Fatal(err)
	}
	// defer c.Unmount()
	defer c.Close()

Hugo Hörnquist's avatar
Hugo Hörnquist committed
	log.Print("Serving filesystem")
	err = fs.Serve(c, FS{})
	if err != nil {
		log.Fatal(err)
	}

}

Hugo Hörnquist's avatar
Hugo Hörnquist committed
type FS struct{}

func (fs FS) Root() (fs.Node, error) {
Hugo Hörnquist's avatar
Hugo Hörnquist committed
	// return Dir{   /*fs.data*/ }, nil
Hugo Hörnquist's avatar
Hugo Hörnquist committed
	return dir.DirHostList{ /*fs.data*/ }, nil