diff options
Diffstat (limited to 'pkg/driver/mounter_seaweedfs.go')
| -rw-r--r-- | pkg/driver/mounter_seaweedfs.go | 33 |
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) +} |
