Nutritious Potato Munchies

    consul-utils

    1.8.1 • Public • Published

    Consul Utilities

    A set of utilities to work with consul from Node.js. Not full featured or architected well enough to call an API but a good start.

    BuildStatus NPM version

    Install

    npm install consul-utils

    Consul Utilities has no dependencies.

    Example

    The service class can be used in Redwire.

    var RedWire = require('redwire');
    var consul = require('consul-utils');
     
    var redwire = new RedWire({ http: { port: 80 } });
    var services = new consul.Service('localhost:8500', 'web', function(added, removed) {
      console.log(added.length + " added");
      console.log(removed.length + " removed");
    });
     
    redwire.http('example.com')
      .use(services.distribute())
      .use(redwire.proxy());

    This code will monitor the service named 'web' from the consul server localhost:8500 and round-robin load balance to all current services, making sure to stop if they leave the cluster and start as they join.

    The optional callback can be used for logging changes to the server pool.

    TODO

    • Health Checks
    • Custom page when there are no servers

    Keywords

    Install

    npm i consul-utils

    DownloadsWeekly Downloads

    7

    Version

    1.8.1

    License

    MIT

    Last publish

    Collaborators

    • ajnisbet
    • ascendzor
    • tcoats
    • tornadot-tim