clean up for release
This commit is contained in:
parent
eed5063b2d
commit
7805d5162c
@ -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.
|
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
14
example.env
14
example.env
@ -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'
|
||||||
|
|
||||||
|
36
lib/index.js
36
lib/index.js
@ -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,18 +87,18 @@ 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) {
|
||||||
return {
|
return {
|
||||||
keyAuthorization: resp.body
|
keyAuthorization: resp.body
|
||||||
};
|
};
|
||||||
}else if (404 === resp.statusCode){
|
} else if (404 === resp.statusCode) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// wrong sign returns 403
|
// wrong sign returns 403
|
||||||
@ -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) {
|
||||||
|
8
test.js
8
test.js
@ -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'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user