Browse Source

Add Storj Storage Adapter - add Binding

tags/v1.2.0
stefanbenten 4 years ago
parent
commit
874268d80e
2 changed files with 36 additions and 1 deletions
  1. +34
    -0
      cmd/cmd.go
  2. +2
    -1
      server/storage.go

+ 34
- 0
cmd/cmd.go View File

@@ -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.")


+ 2
- 1
server/storage.go View File

@@ -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
}


Loading…
Cancel
Save