Skip to content

onebeyond/systemic-aws-secrets-manager

Repository files navigation

Maintainability Test Coverage

Systemic AWS S3

A Systemic component for the AWS SecretsManager SDK v3.

How to use it

Configuration

A typical, simple configuration looks like this:

{
  "region": "us-east-1",
  "credentials": {
    "secretAccessKey": "test",
    "accessKeyId": "test"
  }
}

Here you can find the complete configuration interface of SecretsmManager class constructor that set the region, credentials and other options.

Initialize the component

As with any other Systemic component, you can run it with the start method:

const initAWSSecretsManager = require('systemic-aws-secrets-manager');
const { start } = initAWSSecretsManager();

const api = await start({ config }); // configuration similar to the one above

Call the API commands

As the AWS API has dozens of commands, intead of having one wrapper for each of them, the component exposes one single command commandExecutor that can be used to call any of the commands exposed by the api:

For example, to list all the objects in a specific bucket:

const getSecretValueConfig = {
  commandParams: { SecretId: secretId },
  commandName: 'getSecretValue'
}
const res = await api.commandExecutor(getSecretValueConfig);

You can check all the available commands here.

Custom commands

In the future, this component will also expose some custom commands not supported by the official API.

Guide for developers

How to test it

You can test the whole test suite running one of these commands:

# all tests will be executed once
npm run test

# tests will be executed every time code changes (useful when coding)
npm run test:watch

In case that you want to just execute a certain test case, you can also use these scripts to up / tear down the infra.

npm run infra:up
npm run infra:down

About

A Systemic component for the AWS SecretsManager SDK v3.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •