Middy middleware that loads secret data from AWS Secrets Manager.
Installing middy-secrets
npm install --save middy # You need middy installed
npm install --save middy-secrets
Create new secrets in your AWS Secrets Manager service i.e. with dev/mySecrets
name.
Add secret data:
const secrets = require('middy-secrets');
const middy = require('middy');
const someHandler = (event, context, callback) => {
// if `setToContext` option is set to `true`, secrets are available in `context` object:
console.log(context.foo);
// otherwise, secrets are stored in `process.env`
console.log(process.env.foo);
};
const handler = middy(someHandler)
.use(secrets({
secretName: 'dev/mySecrets', // your secret name - required
setToContext: true, // false by default
awsSdkOptions: {
// optional AWS configuration
},
}));
module.exports = { handler };
Parameter | Type | Description |
---|---|---|
secretName | string |
Required. Secret name of your secrets |
setToContext | boolean |
If set to true , all secrets will be stored in context object, otherwise - in process.env . Default false. |
contextKey | string |
If set, secrets will be set under provided key, otherwise directly in context /process.env object. |
awsSdkOptions | object |
Object that overwrites default AWS Secrets Manager) options |
Note:
AWS environment variables (like AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_REGION
) should
be provided or passed with awsSdkOptions
parameter.
Feel free to open a Pull Request or Issue w/ a bug report or feature request.