From 874268d80e913eeccae0348d1eb947560a7ebbc5 Mon Sep 17 00:00:00 2001 From: stefanbenten Date: Wed, 28 Aug 2019 15:29:35 +0200 Subject: [PATCH] Add Storj Storage Adapter - add Binding --- cmd/cmd.go | 34 ++++++++++++++++++++++++++++++++++ server/storage.go | 3 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index 1d8fdb9..3cb3a9f 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -149,6 +149,26 @@ var globalFlags = []cli.Flag{ Usage: "", Value: googleapi.DefaultUploadChunkSize / 1024 / 1024, }, + cli.StringFlag{ + Name: "storj-endpoint", + Usage: "Satellite Address including Port.", + Value: "", + }, + cli.StringFlag{ + Name: "storj-apikey", + Usage: "", + Value: "", + }, + cli.StringFlag{ + Name: "storj-bucket", + Usage: "", + Value: "", + }, + cli.StringFlag{ + Name: "storj-enckey", + Usage: "Encryption Key for local file encryption", + Value: "", + }, cli.IntFlag{ Name: "rate-limit", Usage: "requests per minute", @@ -362,6 +382,20 @@ func New() *Cmd { } else { options = append(options, server.UseStorage(storage)) } + case "storj": + if endpoint := c.String("storj-endpoint"); endpoint == "" { + panic("storj-endpoint not set.") + } else if apiKey := c.String("storj-apikey"); apiKey == "" { + panic("storj-apikey not set.") + } else if bucket := c.String("storj-bucket"); bucket == "" { + panic("storj-enckey not set.") + } else if encKey := c.String("storj-enckey"); encKey == "" { + panic("storj-bucket not set.") + } else if storage, err := server.NewStorjStorage(endpoint, apiKey, bucket, encKey, logger); err != nil { + panic(err) + } else { + options = append(options, server.UseStorage(storage)) + } case "local": if v := c.String("basedir"); v == "" { panic("basedir not set.") diff --git a/server/storage.go b/server/storage.go index 6d9ce95..1445c4a 100644 --- a/server/storage.go +++ b/server/storage.go @@ -572,7 +572,7 @@ type StorjStorage struct { logger *log.Logger } -func NewStorjStorage(endpoint, apiKey, bucket, encKey string) (*StorjStorage, error) { +func NewStorjStorage(endpoint, apiKey, bucket, encKey string, logger *log.Logger) (*StorjStorage, error) { var instance StorjStorage var err error @@ -598,6 +598,7 @@ func NewStorjStorage(endpoint, apiKey, bucket, encKey string) (*StorjStorage, er if err != nil { return nil, fmt.Errorf("could not open bucket %q: %v", bucket, err) } + instance.logger = logger return &instance, nil }