mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
support unofficial S3 regions
Adds support for S3 clones like Ceph.
This commit is contained in:
18
api/file.go
18
api/file.go
@@ -538,7 +538,7 @@ func writeFile(f []byte, path string) *model.AppError {
|
||||
auth.AccessKey = utils.Cfg.FileSettings.AmazonS3AccessKeyId
|
||||
auth.SecretKey = utils.Cfg.FileSettings.AmazonS3SecretAccessKey
|
||||
|
||||
s := s3.New(auth, aws.Regions[utils.Cfg.FileSettings.AmazonS3Region])
|
||||
s := s3.New(auth, awsRegion())
|
||||
bucket := s.Bucket(utils.Cfg.FileSettings.AmazonS3Bucket)
|
||||
|
||||
ext := filepath.Ext(path)
|
||||
@@ -578,7 +578,7 @@ func readFile(path string) ([]byte, *model.AppError) {
|
||||
auth.AccessKey = utils.Cfg.FileSettings.AmazonS3AccessKeyId
|
||||
auth.SecretKey = utils.Cfg.FileSettings.AmazonS3SecretAccessKey
|
||||
|
||||
s := s3.New(auth, aws.Regions[utils.Cfg.FileSettings.AmazonS3Region])
|
||||
s := s3.New(auth, awsRegion())
|
||||
bucket := s.Bucket(utils.Cfg.FileSettings.AmazonS3Bucket)
|
||||
|
||||
// try to get the file from S3 with some basic retry logic
|
||||
@@ -629,3 +629,17 @@ func openFileWriteStream(path string) (io.Writer, *model.AppError) {
|
||||
func closeFileWriteStream(file io.Writer) {
|
||||
file.(*os.File).Close()
|
||||
}
|
||||
|
||||
func awsRegion() aws.Region {
|
||||
if region, ok := aws.Regions[utils.Cfg.FileSettings.AmazonS3Region]; ok {
|
||||
return region
|
||||
}
|
||||
|
||||
return aws.Region{
|
||||
Name: utils.Cfg.FileSettings.AmazonS3Region,
|
||||
S3Endpoint: utils.Cfg.FileSettings.AmazonS3Endpoint,
|
||||
S3BucketEndpoint: utils.Cfg.FileSettings.AmazonS3BucketEndpoint,
|
||||
S3LocationConstraint: *utils.Cfg.FileSettings.AmazonS3LocationConstraint,
|
||||
S3LowercaseBucket: *utils.Cfg.FileSettings.AmazonS3LowercaseBucket,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user