0.1.1 • Published 8 years ago

confabulous-postgres-loader v0.1.1

Weekly downloads
4
License
ISC
Repository
github
Last release
8 years ago

Build Status

Confabulous Postgres Loader

Confabulous-Postgres-Loader is an PostgreSQL Loader for Confabulous - a hierarchical, asynchronous config loader and post processor.

TL;DR

const confabulous = require('confabulous')
const postgres = require('confabulous-postgres-loader')
const Confabulous = confabulous.Confabulous
const processors = confabulous.processors

new Confabulous()
    .add((config) => postgres({
        url: 'postgres://user:secret@localhost:5432/config',
        query: 'SELECT data FROM config WHERE key=$1',
        params: ['my-app']
    }, [
      (rows, cb) => cb(null, rows[0] && rows[0].data)
    ]))
    .on('loaded', (config) => console.log('Loaded', JSON.stringify(config, null, 2)))
    .on('reloaded', (config) => console.log('Reloaded', JSON.stringify(config, null, 2)))
    .on('error', (err) => console.error('Error', err))
    .on('reload_error', (err) => console.error('Reload Error', err))
    .end()

Options

OptionTypeDefaultNotes
urlstringPostgres connection url
querystringQuery for selecting config
paramsarray[]Parameters to be passed to query
mandatorybooleantrueCauses an error/reload_error to be emitted if the configuration does not exist
watchobjectConfigures the watcher { query: 'SELECT last_modified FROM config WHERE key=$1', params: ['my-app']}, interval: '5m' }