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 passed to request lib. Overview of all the options is here.
HTTP Authentication example:
const opts = {
auth: {
user: 'foo',
pass: 'baz'
}
};Other options:
logTime- iftrue, logs requests time to console
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.
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)
getList()create(body)getOne(id)update(id, body, force)destroy(id, force)
getList()kill(body, scale, wipe)
getList()destroy(id)
attach()(deprecated)createEventSource(opts)
getList()create(callbackUrl)
get()resetDelay(appId)
get()
get()abdicate()
ping()