clean up for release

This commit is contained in:
nyaundi brian 2019-11-13 10:35:53 +03:00
parent eed5063b2d
commit 7805d5162c
4 changed files with 41 additions and 42 deletions

View File

@ -30,11 +30,10 @@ First you create an instance with your credentials:
```js ```js
var http01 = require('acme-http-01-s3').create({ var http01 = require('acme-http-01-s3').create({
awsAccessKey: process.env., awsAccessKey: process.env.AWS_ACCESS_KEY,
awsSecretAccessKey: process.env., awsSecretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
awsRegion: process.env., awsRegion: process.env.AWS_REGION,
awsBucket: process.env., awsBucket: process.env.AWS_BUCKET
awsHost:process.env.
}); });
``` ```

View File

@ -1,9 +1,13 @@
RECORD=example.co.uk RECORD=example.co.uk
awsAccessKey='' AWS_ACCESS_KEY='xx'
awsSecretAccessKey='' AWS_SECRET_ACCESS_KEY='xx'
awsRegion=''
awsBucket='' # default us-east-1
awsHost='' AWS_REGION='us-east-1'
AWS_BUCKET='xx'
# default s3.[AWS_REGION].amazonaws.com
AWS_HOST='xx'

View File

@ -5,42 +5,42 @@ request = promisify(request);
var aws4 = require('aws4'); var aws4 = require('aws4');
var defaults = { var defaults = {
awsAccessKey: 'TQ6UOPROD626SWV5KIP5',
awsSecretAccessKey: 'Tm3dNht5QMKxu7EU44ZLflDeE7sFbqQy3Q+XE+MY',
awsRegion: 'us-east-1', awsRegion: 'us-east-1',
awsBucket: 'hy8',
awsHost: 's3.switch.lxc'
}; };
module.exports.create = function(config) { module.exports.create = function(config) {
var awsAccessKey = config.awsAccessKey || defaults.awsAccessKey; var awsAccessKey = config.awsAccessKey || null;
var awsSecretAccessKey = config.awsSecretAccessKey || defaults.awsSecretAccessKey; var awsSecretAccessKey = config.awsSecretAccessKey || null;
var awsRegion = config.awsRegion || defaults.awsRegion; var awsRegion = config.awsRegion || defaults.awsRegion;
var awsBucket = config.awsBucket || defaults.awsBucket; var awsBucket = config.awsBucket || null;
var awsHost = config.awsHost || defaults.awsHost; var awsHost = config.awsHost || 's3.'+awsRegion+'.amazonaws.com';
if (awsAccessKey===null||awsSecretAccessKey===null){
throw new Error('awsAccessKey and awsSecretAccessKey are required');
}
var AWSCredentials = { var AWSCredentials = {
accessKeyId: awsAccessKey, accessKeyId: awsAccessKey,
secretAccessKey: awsSecretAccessKey secretAccessKey: awsSecretAccessKey
}; };
if (awsBucket===null){
throw new Error('awsBucket is required');
}
return { return {
init: function(opts) { init: function(opts) {
console.log('init');
return null; return null;
}, },
set: function(data) { set: function(data) {
console.log('Add Key Auth URL'); console.log('Add Key Auth URL');
var ch = data.challenge; var ch = data.challenge;
var signed = aws4.sign({ var signed = aws4.sign({
host: awsHost, host: awsHost,
service: 's3', service: 's3',
region: awsRegion, region: awsRegion,
path: '/' + awsBucket + '/' + ch.identifier.value + '/' + ch.token, path: '/' + awsBucket + '/' + ch.identifier.value + '/' + ch.token,
headers: { headers: {
'Content-Type': 'text/plain;charset=UTF-8' 'Content-Type': 'text/plain;charset=UTF-8'
}, },
@ -50,11 +50,10 @@ module.exports.create = function(config) {
}, },
AWSCredentials AWSCredentials
); );
console.log(signed);
return request({ return request({
// debug: true, // debug: true,
method: 'PUT', method: 'PUT',
url: 'http://' + signed.host + signed.path, url: 'https://' + signed.host + signed.path,
headers: { 'Content-Type': 'text/plain;charset=UTF-8' }, headers: { 'Content-Type': 'text/plain;charset=UTF-8' },
body: ch.keyAuthorization body: ch.keyAuthorization
@ -74,9 +73,7 @@ module.exports.create = function(config) {
}, },
get: function(data) { get: function(data) {
console.log('List Key Auth URL'); console.log('List Key Auth URL');
var ch = data.challenge; var ch = data.challenge;
var signed = aws4.sign({ var signed = aws4.sign({
host: awsHost, host: awsHost,
service: 's3', service: 's3',
@ -90,11 +87,11 @@ module.exports.create = function(config) {
}, },
AWSCredentials AWSCredentials
); );
console.log(signed);
return request({ return request({
// debug: true, // debug: true,
method: 'GET', method: 'GET',
url: 'http://' + signed.host + signed.path, url: 'https://' + signed.host + signed.path,
headers: { 'Content-Type': 'text/plain;charset=UTF-8' } headers: { 'Content-Type': 'text/plain;charset=UTF-8' }
}).then(function(resp) { }).then(function(resp) {
if (200 === resp.statusCode) { if (200 === resp.statusCode) {
@ -130,11 +127,10 @@ module.exports.create = function(config) {
}, },
AWSCredentials AWSCredentials
); );
console.log(signed);
return request({ return request({
// debug: true, // debug: true,
method: 'DELETE', method: 'DELETE',
url: 'http://' + signed.host + signed.path url: 'https://' + signed.host + signed.path
}).then(function(resp) { }).then(function(resp) {
// console.log(resp.statusCode); // console.log(resp.statusCode);
if (204 !== resp.statusCode) { if (204 !== resp.statusCode) {

View File

@ -8,10 +8,10 @@ require('dotenv').config();
// Usage: node ./test.js example.com username xxxxxxxxx // Usage: node ./test.js example.com username xxxxxxxxx
var record = process.argv[2] || process.env.RECORD; var record = process.argv[2] || process.env.RECORD;
var challenger = require('./index.js').create({ var challenger = require('./index.js').create({
databaseUrl: process.env.DATABASE_URL, awsAccessKey: process.env.AWS_ACCESS_KEY,
tableName: process.env.TABLE_NAME, awsSecretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
dialect: process.env.DIALECT, awsRegion: process.env.AWS_REGION,
storage: process.env.STORAGE awsBucket: process.env.AWS_BUCKET
}); });
// The dry-run tests can pass on, literally, 'example.com' // The dry-run tests can pass on, literally, 'example.com'