Server-side secret management utility for Node.js
npm install @vyro-x/node-secrets> Server-side secret management utils for Node.js
``ts
import { GraphQLClient } from 'graphql-request';
import { config } from './config';
import { getSecretFromArn } from './getSecretFromArn';
export const hasuraClient = new GraphQLClient(config.HASURA_ENDPOINT, {
requestMiddleware: async (request) => {
const adminSecret = await getSecretFromArn(config.HASURA_ADMIN_SECRET_ARN);
return {
...request,
headers: {
...request.headers,
'x-hasura-admin-secret': adminSecret,
},
};
},
});
``
1. Secrets are loaded from AWS Secrets Manager at run time.
1. The request value is cached for 10 minutes to optimise request speed and cost.
1. Secrets are returned as string values.
1. An error is thrown if the secret cannot be found.