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()