package main import ( "log" "os" "path/filepath" "strconv" // Vendors "iscsi" "github.com/Sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" ) // Main func main() { debug := os.Getenv("DEBUG") if ok, _ := strconv.ParseBool(debug); ok { logrus.SetLevel(logrus.DebugLevel) } iSCSI = iscsi.NewISCSIPlugin() path := "/var/lib/docker" d, err := newiscsiDriver(path) if err != nil { log.Fatal(err) } socketPath := "/run/docker/plugins" if err := os.MkdirAll(socketPath, 0755); err != nil { logrus.Error(err.Error()) } socketAddress := filepath.Join(socketPath, "volume-iscsi.sock") h := volume.NewHandler(d) logrus.Infof("listening on %s", socketAddress) logrus.Error(h.ServeUnix(socketAddress, 0)) }