allow aws to load credentials from IAM

This commit is contained in:
Sean McArthur 2014-08-29 15:56:55 -07:00
Родитель f80417125e
Коммит fa0c969968
6 изменённых файлов: 18 добавлений и 27 удалений

Просмотреть файл

@ -1,8 +1,4 @@
{
"aws": {
"accessKeyId": "CHANGEME",
"secretAccessKey": "CHANGEME"
},
"img": {
"driver": "aws",
"providers": {

Просмотреть файл

@ -47,7 +47,8 @@ function compute(msg, callback) {
}).done(function() {
callback({ id: id });
}, function(err) {
callback({ id: id, error: err });
logger.error('compute', err);
callback({ id: id, error: err.message });
});
}
exports.compute = compute;

Просмотреть файл

@ -14,22 +14,6 @@ const conf = convict({
default: 1
}
},
aws: {
accessKeyId: {
arg: 'aws-key',
doc: 'aws access key id',
env: 'AWS_ACCESS_KEY_ID',
format: String,
default: 'CHANGEME'
},
secretAccessKey: {
arg: 'aws-secret',
doc: 'aws secret access key',
env: 'AWS_SECRET_ACCESS_KEY',
format: String,
default: 'CHANGEME'
}
},
db: {
driver: {
env: 'DB',
@ -70,7 +54,7 @@ const conf = convict({
dest: {
public: {
doc: 'Path or bucket name for images to be served publicly.',
default: path.join(__dirname, '..', 'var', 'public')
default: 'BUCKET_NAME'
}
}
},
@ -217,6 +201,16 @@ var files = (envConfig + ',' + process.env.CONFIG_FILES)
.split(',').filter(fs.existsSync);
conf.loadFile(files);
if (conf.get('img.driver') === 'local') {
conf.set('img.uploads.dest.public',
path.join(__dirname, '..', 'var', 'public'));
}
if (conf.get('env') === 'test') {
process.env.AWS_ACCESS_KEY_ID = 'TESTME';
process.env.AWS_SECRET_ACCESS_KEY = 'TESTME';
}
if (process.env.LOG_LEVEL) {
conf.set('logging.loggers.fxa.level', process.env.LOG_LEVEL);
}

Просмотреть файл

@ -14,8 +14,9 @@ if (!/^[a-zA-Z0-9_\-]+$/.test(PUBLIC_BUCKET)) {
throw new Error('Illegal Bucket Name: ' + PUBLIC_BUCKET);
}
function AwsDriver(options) {
this._s3 = new aws.S3(options);
function AwsDriver() {
this._s3 = new aws.S3();
}
AwsDriver.connect = function awsConnect(options) {

Просмотреть файл

@ -22,7 +22,7 @@ function withDriver() {
}
var p;
if (config.get('img.driver') === 'aws') {
p = klass.connect(config.get('aws'));
p = klass.connect();
} else {
p = klass.connect();
}

Просмотреть файл

@ -16,12 +16,11 @@ if (!fs.existsSync(PUBLIC_DIR)) {
throw new Error('PUBLIC_DIR does not exist: ' + PUBLIC_DIR);
}
function LocalDriver(options) {
function LocalDriver() {
var env = config.get('env');
if (env !== 'dev' && env !== 'test') {
logger.warn('Using img.local driver!');
}
this._o = options;
}
LocalDriver.connect = function localConnect(options) {