Mesos clients.
### mesos.Chronos([opts])Initialize a new Chronos client.
Options
- host (String, default: 127.0.0.1): Chronos address
- port (String, default: 4400): Chronos HTTP port
- secure (Boolean, default: false): enable HTTPS
Usage
var mesos = require('mesos');
var chronos = mesos.Chronos({ host: '10.141.141.10' });
Create job.
Options
- name (String): job name
- schedule (String): ISO-8601 recurring series time
- command (String): command to execute
- epsilon (String): run if missed within this time period (ISO-8601 duration)
- owner (String): email address of job owner
- async (Boolean, default: false): run job asynchronously
Delete job.
Options
- name (String): job name
List jobs.
Search jobs.
Options
- name (String, optional): query on name
- command (String, optional): query on command
- any (String, optional): query on any field
- limit (Number, default: 10): limit the number of results
- offset (Number, default: 0): offset results by number
Manually start job.
Options
- name (String): job name
Get jobs statistics.
Options
- name (String, optional): job name
- percentile (String, optional): statistic type
If you specify the job name you'll get all the statistics for that job, otherwise if you specify a percentile you'll get that statistic for all jobs.
You must specify either a job name or a percentile.
Update task.
Options
- id (String): task id
- statusCode (Integer, supports: 0, 1): task succeeded (0) or fail (1)
Kill tasks.
Options
- job (String): job name
Initialize a new Marathon client.
Options
- host (String, default: 127.0.0.1): Marathon address
- port (String, default: 8080): Marathon HTTP port
- secure (Boolean, default: false): enable HTTPS
Usage
var mesos = require('mesos');
var marathon = mesos.Marathon({ host: '10.141.141.10' });
See Marathon REST documentation for more information.
### marathon.app.create(opts, callback)Create and start a new application.
Options
- id (String): app ID
- cpus (Number): number of CPUs for each instance
- mem (Number): amount of memory for each instance
- instances (Number): number of instances
- cmd (String, optional): command to execute
And more, see docs.
### marathon.app.list([opts], callback)List all running applications.
Options
- cmd (String, optional): filter apps by command
Get application with by ID.
Options
- id (String): app ID
List the versions of an application by ID.
Options
- id (String): app ID
List the configuration of an application by ID at a specified version.
Options
- id (String): app ID
- version (String): app version
Change parameters of a running application. The new application parameters apply only to subsequently created tasks, and currently running tasks are not pre-emptively restarted.
Options
- id (String): app ID
- cpus (Number): number of CPUs for each instance
- mem (Number): amount of memory for each instance
- instances (Number): number of instances
- cmd (String, optional): command to execute
And more, see docs.
### marathon.app.destroy(opts, callback)Destroy an applicationb by ID.
Options
- id (String): app ID
List all running tasks for an application by ID.
Options
- id (String): app ID
Kill tasks that belong to an application.
Options
- id (String): app ID
- task (String, optional): kill by task ID
- host (String, optional): restrict to tasks on specified slave (can't use with task)
- scale (Boolean, optional): scale application down by one
Register a callback URL as an event subscriber.
Options
- url (String): callback URL
List all event subscriber callback URLs.
### marathon.eventSubscription.unregister(opts, callback)Unregister a callback URL.
Options
- url (String): callback URL
List all running tasks.
-
Install Vagrant
-
Clone repository
$ git clone https://github.com/silas/node-mesos.git
-
Switch to project directory
$ cd node-mesos
-
Start VM
$ vagrant up
-
Install client dependencies
$ npm install
-
Run tests
$ npm test
This work is licensed under the MIT License (see the LICENSE file).