mesos

    0.7.0 • Public • Published

    Mesos

    Mesos clients.

    Documentation

    ### 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' });
    ### chronos.job.create(opts, callback)

    Create job.

    Options

    chronos.job.destroy(opts, callback)

    Delete job.

    Options

    • name (String): job name
    ### chronos.job.list(callback)

    List jobs.

    chronos.job.search(opts, callback)

    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

    chronos.job.start(opts, callback)

    Manually start job.

    Options

    • name (String): job name

    chronos.job.stats(opts, callback)

    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.

    chronos.task.update(opts, callback)

    Update task.

    Options

    • id (String): task id
    • statusCode (Integer, supports: 0, 1): task succeeded (0) or fail (1)

    chronos.task.kill(opts, callback)

    Kill tasks.

    Options

    • job (String): job name
    ### mesos.Marathon([opts])

    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
    ### marathon.app.get(opts, callback)

    Get application with by ID.

    Options

    • id (String): app ID
    ### marathon.app.versions(opts, callback)

    List the versions of an application by ID.

    Options

    • id (String): app ID
    ### marathon.app.version(opts, callback)

    List the configuration of an application by ID at a specified version.

    Options

    • id (String): app ID
    • version (String): app version
    ### marathon.app.update(opts, callback)

    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
    ### marathon.app.tasks(opts, callback)

    List all running tasks for an application by ID.

    Options

    • id (String): app ID
    ### marathon.app.kill(opts, callback)

    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
    ### marathon.eventSubscription.register(opts, callback)

    Register a callback URL as an event subscriber.

    Options

    • url (String): callback URL
    ### marathon.eventSubscription.list(callback)

    List all event subscriber callback URLs.

    ### marathon.eventSubscription.unregister(opts, callback)

    Unregister a callback URL.

    Options

    • url (String): callback URL
    ### marathon.tasks(callback)

    List all running tasks.

    Development

    1. Install Vagrant

    2. Clone repository

      $ git clone https://github.com/silas/node-mesos.git
    3. Switch to project directory

      $ cd node-mesos
    4. Start VM

      $ vagrant up
    5. Install client dependencies

      $ npm install
    6. Run tests

      $ npm test

    License

    This work is licensed under the MIT License (see the LICENSE file).

    Install

    npm i mesos

    DownloadsWeekly Downloads

    1

    Version

    0.7.0

    License

    MIT

    Last publish

    Collaborators

    • silas