UNPKG

fastify-secrets-aws

Version:

Fastify secrets plugin for AWS Secrets Manager

26 lines (21 loc) 613 B
'use strict' const { SecretsManagerClient, GetSecretValueCommand } = require('@aws-sdk/client-secrets-manager') class AwsClient { constructor() { this.sdk = new SecretsManagerClient() } async get(name) { try { const command = new GetSecretValueCommand({ SecretId: name }) const data = await this.sdk.send(command) if ('SecretString' in data) { return data.SecretString } else { return Buffer.from(data.SecretBinary, 'base64').toString('utf8') } } catch { throw new Error(`Secret not found: ${name}`) } } } module.exports = AwsClient