72 lines
2.1 KiB
JavaScript
72 lines
2.1 KiB
JavaScript
var path = require('path');
|
|
var Promise = require('bluebird')
|
|
|
|
const AWS = require('aws-sdk');
|
|
AWS.config.setPromisesDependency(Promise);
|
|
|
|
const defaultOptions = {
|
|
accessKeyId: null
|
|
, secretAccessKey: null
|
|
, bucketName: null
|
|
, bucketRegion: null
|
|
, accountsDir: 'accounts/'
|
|
, configDir: 'acme/'
|
|
}
|
|
|
|
const s3 = new AWS.S3({ apiVersion: '2006-03-01' });
|
|
|
|
const pathHelper = require('./lib/pathHelper');
|
|
const fileNames = require('./lib/fileNames');
|
|
|
|
module.exports.create = (createOptions) => {
|
|
|
|
const options = Object.assign({}, defaultOptions, createOptions);
|
|
|
|
if (!options.debug) {
|
|
console = console || {};
|
|
console.log = () => { };
|
|
console.error = () => { };
|
|
}
|
|
|
|
AWS.config.update({
|
|
region: options.bucketRegion
|
|
, credentials: new AWS.Credentials({
|
|
accessKeyId: options.accessKeyId
|
|
, secretAccessKey: options.secretAccessKey
|
|
})
|
|
});
|
|
|
|
const handlers = {
|
|
certificates: {
|
|
check: (opts) => {
|
|
return require('./lib/certificates/check').check(opts, options, s3);
|
|
},
|
|
checkKeypair: (opts) => {
|
|
return require('./lib/certificates/checkKeypair').checkKeypair(opts, options, s3);
|
|
},
|
|
setKeypair: (opts) => {
|
|
return require('./lib/certificates/setKeypair').setKeypair(opts, options, s3);
|
|
},
|
|
set: (opts) => {
|
|
return require('./lib/certificates/set').set(opts, options, s3);
|
|
}
|
|
},
|
|
accounts: {
|
|
check: (opts) => {
|
|
return require('./lib/accounts/check').check(opts, options, s3);
|
|
},
|
|
checkKeypair: (opts) => {
|
|
return require('./lib/accounts/checkKeypair').checkKeypair(opts, options, s3);
|
|
},
|
|
setKeypair: (opts) => {
|
|
return require('./lib/accounts/setKeypair').setKeypair(opts, options, s3);
|
|
},
|
|
set: (opts) => {
|
|
return require('./lib/accounts/set').set(opts, options, s3);
|
|
}
|
|
}
|
|
}
|
|
|
|
return handlers;
|
|
|
|
} |