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;
|
|
|
|
}; |