summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorHarshavardhana <harsha@minio.io>2016-10-26 05:21:07 -0700
committerChristopher Speller <crspeller@gmail.com>2016-10-26 08:21:07 -0400
commitf02620b291b988848392c455a7719699f6b5c00f (patch)
tree695e07607e86b000b9fe78e77df7f33673f1a755 /model
parentb354d25d3731b53613489d95cfa4c946cf8e0888 (diff)
downloadchat-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')
-rw-r--r--model/config.go61
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)
}