diff options
author | Harshavardhana <harsha@minio.io> | 2016-10-26 05:21:07 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-10-26 08:21:07 -0400 |
commit | f02620b291b988848392c455a7719699f6b5c00f (patch) | |
tree | 695e07607e86b000b9fe78e77df7f33673f1a755 /model/config.go | |
parent | b354d25d3731b53613489d95cfa4c946cf8e0888 (diff) | |
download | chat-f02620b291b988848392c455a7719699f6b5c00f.tar.gz chat-f02620b291b988848392c455a7719699f6b5c00f.tar.bz2 chat-f02620b291b988848392c455a7719699f6b5c00f.zip |
Moving away from goamz to use minio-go instead. (#4193)
minio-go does fully managed way of handling S3 API requests
- Automatic bucket location management across all s3 regions.
- Transparently upload large files in multipart if file 64MB
or larger.
- Right GetObject() API provides compatibility with
io.ReadWriteSeeker interface.
- Various other APIs including bulk deletes, server side object
copy, bucket policies and bucket notifications.
Fixes #4182
Diffstat (limited to 'model/config.go')
-rw-r--r-- | model/config.go | 61 |
1 files changed, 30 insertions, 31 deletions
diff --git a/model/config.go b/model/config.go index 321307539..f2ff788d8 100644 --- a/model/config.go +++ b/model/config.go @@ -138,26 +138,24 @@ type PasswordSettings struct { } type FileSettings struct { - MaxFileSize *int64 - DriverName string - Directory string - EnablePublicLink bool - PublicLinkSalt *string - ThumbnailWidth int - ThumbnailHeight int - PreviewWidth int - PreviewHeight int - ProfileWidth int - ProfileHeight int - InitialFont string - AmazonS3AccessKeyId string - AmazonS3SecretAccessKey string - AmazonS3Bucket string - AmazonS3Region string - AmazonS3Endpoint string - AmazonS3BucketEndpoint string - AmazonS3LocationConstraint *bool - AmazonS3LowercaseBucket *bool + MaxFileSize *int64 + DriverName string + Directory string + EnablePublicLink bool + PublicLinkSalt *string + ThumbnailWidth int + ThumbnailHeight int + PreviewWidth int + PreviewHeight int + ProfileWidth int + ProfileHeight int + InitialFont string + AmazonS3AccessKeyId string + AmazonS3SecretAccessKey string + AmazonS3Bucket string + AmazonS3Region string + AmazonS3Endpoint string + AmazonS3SSL *bool } type EmailSettings struct { @@ -374,26 +372,27 @@ func (o *Config) SetDefaults() { o.SqlSettings.AtRestEncryptKey = NewRandomString(32) } + if o.FileSettings.AmazonS3Endpoint == "" { + // Defaults to "s3.amazonaws.com" + o.FileSettings.AmazonS3Endpoint = "s3.amazonaws.com" + } + if o.FileSettings.AmazonS3Region == "" { + // Defaults to "us-east-1" region. + o.FileSettings.AmazonS3Region = "us-east-1" + } + if o.FileSettings.AmazonS3SSL == nil { + o.FileSettings.AmazonS3SSL = new(bool) + *o.FileSettings.AmazonS3SSL = true // Secure by default. + } if o.FileSettings.MaxFileSize == nil { o.FileSettings.MaxFileSize = new(int64) *o.FileSettings.MaxFileSize = 52428800 // 50 MB } - if len(*o.FileSettings.PublicLinkSalt) == 0 { o.FileSettings.PublicLinkSalt = new(string) *o.FileSettings.PublicLinkSalt = NewRandomString(32) } - if o.FileSettings.AmazonS3LocationConstraint == nil { - o.FileSettings.AmazonS3LocationConstraint = new(bool) - *o.FileSettings.AmazonS3LocationConstraint = false - } - - if o.FileSettings.AmazonS3LowercaseBucket == nil { - o.FileSettings.AmazonS3LowercaseBucket = new(bool) - *o.FileSettings.AmazonS3LowercaseBucket = false - } - if len(o.EmailSettings.InviteSalt) == 0 { o.EmailSettings.InviteSalt = NewRandomString(32) } |