diff --git a/README.md b/README.md index 0c960eb..f3522ed 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,12 @@ This CLI accepts a single flag called `--storage-type`. The value of that flag d ## `s3` -If the storage type is `s3`, the CLI reads three files which specify access key, access secret and region. Each file location can be configured by an environment variable. Each environment variable and its default is listed below. +If the storage type is `s3`, the CLI reads five files which specify the configuration. Each file location can be configured by an environment variable. Each environment variable and its default is listed below. - `ACCESS_KEY_FILE` (`/var/run/secrets/deis/objectstore/creds/accesskey`) - `SECRET_KEY_FILE` (`/var/run/secrets/deis/objectstore/creds/secretkey`) - `REGION_FILE` (`/var/run/secrets/deis/objectstore/creds/region`) +- `ENDPOINT_FILE` (`/var/run/secrets/deis/objectstore/creds/endpoint`) - `BUCKET_FILE` (`/var/run/secrets/deis/objectstore/creds/bucket`) ## `gcs` diff --git a/config/s3.go b/config/s3.go index 9b5a81b..70bfb23 100644 --- a/config/s3.go +++ b/config/s3.go @@ -12,21 +12,23 @@ type S3 struct { AccessKeyFile string `envconfig:"ACCESS_KEY_FILE" default:"/var/run/secrets/deis/objectstore/creds/accesskey"` SecretKeyFile string `envconfig:"SECRET_KEY_FILE" default:"/var/run/secrets/deis/objectstore/creds/secretkey"` RegionFile string `envconfig:"REGION_FILE" default:"/var/run/secrets/deis/objectstore/creds/region"` + EndpointFile string `envconfig:"ENDPOINT_FILE" default:"/var/run/secrets/deis/objectstore/creds/endpoint"` BucketFile string `envconfig:"BUCKET_FILE" default:"/var/run/secrets/deis/objectstore/creds/bucket"` } // CreateDriver is the Config interface implementation func (s S3) CreateDriver() (driver.StorageDriver, error) { - files, err := readFiles(true, s.AccessKeyFile, s.SecretKeyFile, s.RegionFile, s.BucketFile) + files, err := readFiles(true, s.AccessKeyFile, s.SecretKeyFile, s.RegionFile, s.EndpointFile, s.BucketFile) if err != nil { return nil, err } - key, secret, region, bucket := files[0], files[1], files[2], files[3] + key, secret, region, endpoint, bucket := files[0], files[1], files[2], files[3], files[4] params := map[string]interface{}{ - "accesskey": key, - "secretkey": secret, - "region": region, - "bucket": bucket, + "accesskey": key, + "secretkey": secret, + "region": region, + "regionendpoint": endpoint, + "bucket": bucket, } return factory.Create("s3aws", params) }