setec-app-config
A quick app configurator that loads AWS KMS secrets via Setec.
API
class SetecAppConfig
new SetecAppConfig(opts)
Options:
config
: your configuration object, with any Setec secrets as{secret: 'secret-name'}
; required unlessconfigFile
is givenconfigFile
: a JSON file version ofconfig
, or a Javscript file exporting the same; overridesconfig
; required unlesconfig
is givens3Bucket
: the S3 bucket from which Setec should load secret configuration; requireds3Prefix
: the prefix for Setec to use when loading secret configuration; defaults to'setec'
load()
Asynchronously load Setec secrets and return the resolved configuration object via a Promise.
Returns Promise(configWithSecretsLoaded)
exportable()
Returns an object suitable for exporting as a Node.js module for the following convenient usage pattern:
my-config-module.js
const SetecAppConfig = ; moduleexports = configFile: 'path/to/my-secret-free-config.json' s3Bucket: 'my-setec-config-bucket';
your app's entry point (index.js, i.e. the "main" file)
const myConfig = ; // ES7 exampleawait myConfig;db; // i.e., do something with loaded secrets // pre-ES7 examplemyConfig;