Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
14 changes: 8 additions & 6 deletions config/s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down