Skip to content
This repository has been archived by the owner on Mar 19, 2018. It is now read-only.

cargomedia/pulsar-rest-api-client-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNMAINTAINED

This project is not maintained anymore. If you want to take over contact us at [email protected].

pulsar-rest-api-client-node Build Status

This is "Pulsar REST API service" client in node.js.

Usage

var PulsarApiClient = require('pulsar-rest-api-client-node');
var pulsarApi = new PulsarApiClient(config);
var job = pulsarApi.createJob('example', 'production', 'deploy');
pulsarApi.runJob(job).then(function(job){});
pulsarApi.jobs().then(function(jobList){
  console.log(jobList);
  pulsarApi.killJob(job).then(function(job){
    console.log(job + ' has been killed');
  });
})

Configuration

config: Hash object that contains config parameters. Config parameters have the next format:

{
  "url": "",
  "authToken": "",
  "auxiliary": {
    "{app/env}": {
      "url": "",
      "authToken": ""
    }
  }
}

url: String. Required. Url of Pulsar REST API. authToken: String. Optional. Authentication token for Pulsar REST API if it requires authentication. Details here. auxiliary: Object. Optional. Contains info about additional pulsar rest api servers. It is designated for cases when you want to use different Pulsar REST API for different application/environment. Key in this object must declare a pair of application and environment that you want to distinguish. Value must be an object that contains options of additional pulsar-rest-api. For example if you want to use a separate pulsar-rest-api for pulsar commands that are applied to the application example and the environment production then you need to have a config like this:

{
  "url": "default pulsar-rest-api url",
  "auxiliary": {
    "example/production": {
      "url": "http://example.prod:100033"
    }
  }
}

If we add also an additional server for example/staging:

{
  "url": "default pulsar-rest-api url",
  "auxiliary": {
    "example/production": {
      "url": "http://example.prod:100033"
    },
    "example/staging": {
      "url": "http://example.staging:100033"
    }
  }
}

API

Our node source code is fully documented using jsdoc. Using proper IDE with code-completion will aid your coding experience. Otherwise browse source-code.

Test

To run tests just use npm test.

Release

  • update package.json with a new version
  • release a new git tag with the updated package.json

After that the npm release should be done automatically. If it didn't happen then release it manually:

npm publish https://github.com/cargomedia/pulsar-rest-api-client-node/archive/<GitTagWithUpdatedPackageJson>.tar.gz