vinz
Version:
Enables secure storage of credentials right in your repo using AWS KMS.
42 lines (31 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _awsConfig = require('./lib/aws-config');
var _awsConfig2 = _interopRequireDefault(_awsConfig);
var _awsKms = require('./lib/aws-kms');
var _awsKms2 = _interopRequireDefault(_awsKms);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class Vinz {
constructor(region) {
this.kmsClient = new _awsConfig2.default(null, null, region).KMS;
}
get() {
const promises = [];
for (var _len = arguments.length, secretNames = Array(_len), _key = 0; _key < _len; _key++) {
secretNames[_key] = arguments[_key];
}
secretNames.forEach(secretName => {
promises.push(_awsKms2.default.retrieveAndDecrypt(this.kmsClient, secretName));
});
return Promise.all(promises).then(allDecryptedSecrets => {
if (allDecryptedSecrets.length === 1) {
return allDecryptedSecrets[0];
} else {
return allDecryptedSecrets;
}
});
}
}
exports.default = Vinz;