1.5.4 • Published 3 years ago

changefeed v1.5.4

Weekly downloads
3
License
MPL-2.0
Repository
github
Last release
3 years ago

node-sdc-changefeed

This repository is part of the Joyent Triton project.

SDC Changefeed provides support for publishing and listening to change feeds in Triton via Node.js libraries and a CLI.

Installation

$ npm install changefeed

Development

Before committing be sure to, at least run:

$ make check      # lint and style checks
$ make test       # run tests

Test

Simple tests (requires a running CoaL) can be run using:

$ make test

CLI

$ changefeedsnoop -h 127.0.0.1 -p 8080 -r vm -s nic,alias | bunyan --color

Setup

Publisher

var mod_bunyan = require('bunyan');
var mod_changefeed = require('changefeed');
var mod_restify = require('restify');

var options = {
    backoff: {
        maxTimeout: Infinity,
        minTimeout: 10,
        retries: Infinity
    },
    log: mod_bunyan.createLogger({
        name: 'publisher_test',
        level: process.env['LOG_LEVEL'] || 'trace',
        stream: process.stderr
    }),
    maxAge: 2000,
    moray: {
        bucketName: 'pub_change_bucket',
        host: '10.99.99.17',
        resolvers: {
            resolvers: ['10.99.99.11']
        },
        timeout: 200,
        minTimeout: 1000,
        maxTimeout: 2000,
        port: 2020
    }
    restifyServer: server,
    resources: resources
};

var publisher = mod_changefeed.createPublisher(options);

Listener

var mod_bunyan = require('bunyan');
var mod_changefeed = require('changefeed');

var options = {
    backoff: {
        maxTimeout: Infinity,
        minTimeout: 10,
        retries: Infinity
    },
    log: mod_bunyan.createLogger({
        name: 'listener_test',
        level: process.env['LOG_LEVEL'] || 'error',
        stream: process.stderr
    }),
    url: 'http://localhost',
    instance: 'uuid goes here',
    service: 'tcns',
    changeKind: {
        resource: 'vm',
        subResources: ['nic', 'alias']
    }
};

var listener = mod_changefeed.createListener(options);

listener.on('bootstrap', function (resource) {
    // do bootstrap, then pipe to a change handler.
    doBootstrap(resource);
    listener.pipe(change_handler);
});

listener.on('error', function (err) {
    console.log(err);
});

listener.on('connection-end', function () {
    listener.unpipe(change_handler);
});

Documentation

Detailed documentation is located at docs/index.md.

See RFD 0005 Triton Change Feed Support for current design and architecture decisions.

License

"node-sdc-changefeed" is licensed under the Mozilla Public License version 2.0. See the file LICENSE.

1.5.4

3 years ago

1.5.3

4 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

6 years ago

1.4.0

7 years ago

1.3.0

8 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.10

9 years ago

1.1.9

9 years ago

1.1.8

9 years ago

1.1.7

9 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago