marathon-node

1.1.1 • Public • Published

marathon-node CircleCI

Node.js client library for Mesos Marathon's REST API powered by Bluebird promises.

const opts = {};
const marathon = require('marathon-node')(MARATHON_URL, opts);
marathon.app
  .getList()
  .then(console.log)
  .catch(console.error);

Options

Options passed to request lib. Overview of all the options is here.

HTTP Authentication example:

const opts = {
    auth: {
        user: 'foo',
        pass: 'baz'
    }
};

Other options:

  • logTime - if true, logs requests time to console

Marathon Event Bus

To manage event stream EventSource client is used.

Example:

const marathon = require('marathon-node')(MARATHON_URL, opts);
 
const eventSourceOpts = {
    eventType: ['status_update_event'], // (string|array) Marathon will stream only this kind of events. (optional, Marathon >= 1.3.7)
    proxy: 'http://your.proxy.com' // (string) Proxy host (optional)
};
const es = marathon.events.createEventSource(eventSourceOpts);
es.addEventListener('status_update_event', event => console.log('status_update_event'));
es.on('open', () => console.log('opened'));
es.on('error', err => console.error(err));

You can find more info in the official documentation Marathon Event Bus docs.

Methods

Apps (marathon.apps.methodName)

  • getList(parameters)
  • getOne(id)
  • getVersions(id)
  • getVersion(id, version)
  • getTasks(id)
  • create(body)
  • update(id, body, force)
  • restart(id, force)
  • destroy(id)
  • killTasks(id, parameters)
  • killTask(id, task, scale)

Groups (marathon.groups.methodName)

  • getList()
  • create(body)
  • getOne(id)
  • update(id, body, force)
  • destroy(id, force)

Tasks (marathon.tasks.methodName)

  • getList()
  • kill(body, scale, wipe)

Deployments (marathon.deployments.methodName)

  • getList()
  • destroy(id)

Event Stream (marathon.events.methodName)

  • attach() (deprecated)
  • createEventSource(opts)

Event Subscriptions (marathon.subscriptions.methodName)

  • getList()
  • create(callbackUrl)

Queue (marathon.queue.methodName)

  • get()
  • resetDelay(appId)

Server Info (marathon.info.methodName)

  • get()

Leader (marathon.leader.methodName)

  • get()
  • abdicate()

Miscellaneous (marathon.misc.methodName)

  • ping()

Readme

Keywords

none

Package Sidebar

Install

npm i marathon-node

Weekly Downloads

1

Version

1.1.1

License

ISC

Unpacked Size

53.5 kB

Total Files

27

Last publish

Collaborators

  • ariklabs
  • andrewreshitko
  • stas1313
  • legendmiha
  • garry_ua
  • vi6x