You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

aws-blackbox

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aws-blackbox

Cache (Redis and in-memory) for AWS Parameters and Secrets

1.0.4
latest
Source
npm
Version published
Weekly downloads
11
22.22%
Maintainers
1
Weekly downloads
 
Created
Source

AWS Blackbox

new Blackbox() exposes 2 methods, one for retrieving parameters from AWS parameter store, and the other for retrieving Secrets from SSM.

When retrieving theses values on a busy lambda function, even if the values are stored in memory, you'll hit an AWS API rate-limit. Blackbox is the best of both worlds, it store the values in memory and in redis so that first it'll read from memory (as fast as can be) and falling back to redis.

Example:

import {Blackbox} from 'aws-blackbox';

const blackbox = new Blackbox({
  cache: {
    ttl: 100, // seconds, optional, defaults to 3,600
    // Optional, node-redis options
    redis: {
      host: 'XXX',
      port: 9879,
      auth_pass: 'XXX',
    }
  },
  // Optional, AWS credentials
  credentials: {
    accessKeyId: '123',
    secretAccessKey: '123',
    region: '123',
  }
});

// non-blocking errors thrown when reading or writing to the cache
blackbox.onError(e => console.log('Cache error', e))

// Parameter object from SSM
const params = await blackbox.parameters('/blog/production'); // {DATA: 'shhh', JWT_SECRET: 'oooo'}

// Database connection strings from secret-manager
const db = await blackbox.secret(process.env.POSTGRES_SECRET_ID);
const connectionString = db.toConnectionString(); // postgres://...:...@.../...

// Direct  cache access
await blackbox.set('my-key', 'my-value');
await blackbox.set('my-key', {foo: 'bar'});
await blackbox.get('my-key');

✈️ / planes.studio

Keywords

aws

FAQs

Package last updated on 13 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts