aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver/mounter_seaweedfs.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/driver/mounter_seaweedfs.go')
-rw-r--r--pkg/driver/mounter_seaweedfs.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go
new file mode 100644
index 0000000..12fa1e7
--- /dev/null
+++ b/pkg/driver/mounter_seaweedfs.go
@@ -0,0 +1,33 @@
+package driver
+
+import (
+ "fmt"
+)
+
+// Implements Mounter
+type seaweedFsMounter struct {
+ bucketName string
+ filerUrl string
+}
+
+const (
+ seaweedFsCmd = "weed"
+)
+
+func newSeaweedFsMounter(bucketName string, cfg *Config) (Mounter, error) {
+ return &seaweedFsMounter{
+ bucketName: bucketName,
+ filerUrl: cfg.Filer,
+ }, nil
+}
+
+func (seaweedFs *seaweedFsMounter) Mount(target string) error {
+ args := []string{
+ "mount",
+ fmt.Sprintf("-dir=%s", target),
+ fmt.Sprintf("-collection=%s", seaweedFs.bucketName),
+ fmt.Sprintf("-filer=%s", seaweedFs.filerUrl),
+ fmt.Sprintf("-filer.path=/buckets/%s", seaweedFs.bucketName),
+ }
+ return fuseMount(target, seaweedFsCmd, args)
+}