{"id":13749383,"url":"https://github.com/silas/node-mesos","last_synced_at":"2025-05-09T12:32:48.705Z","repository":{"id":18342206,"uuid":"21521864","full_name":"silas/node-mesos","owner":"silas","description":"Mesos framework clients","archived":true,"fork":false,"pushed_at":"2018-02-03T00:40:23.000Z","size":53,"stargazers_count":50,"open_issues_count":2,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-09-19T13:37:28.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/silas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-05T14:42:25.000Z","updated_at":"2023-04-16T22:34:01.000Z","dependencies_parsed_at":"2022-08-25T13:00:30.388Z","dependency_job_id":null,"html_url":"https://github.com/silas/node-mesos","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silas%2Fnode-mesos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silas%2Fnode-mesos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silas%2Fnode-mesos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silas%2Fnode-mesos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silas","download_url":"https://codeload.github.com/silas/node-mesos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224863108,"owners_count":17382279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T07:01:00.732Z","updated_at":"2024-11-16T00:30:32.363Z","avatar_url":"https://github.com/silas.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Mesos\n\nMesos clients.\n\n * [Documentation](#documentation)\n * [Development](#development)\n * [License](#license)\n\n## Documentation\n\n * [Chronos](#chronos)\n * [Marathon](#marathon)\n\n\u003ca name=\"chronos\"/\u003e\n\n### mesos.Chronos([opts])\n\nInitialize a new Chronos client.\n\nOptions\n\n * host (String, default: 127.0.0.1): Chronos address\n * port (String, default: 4400): Chronos HTTP port\n * secure (Boolean, default: false): enable HTTPS\n\nUsage\n\n``` javascript\nvar mesos = require('mesos');\n\nvar chronos = mesos.Chronos({ host: '10.141.141.10' });\n```\n\n\u003ca name=\"chronos-job-create\"/\u003e\n\n### chronos.job.create(opts, callback)\n\nCreate job.\n\nOptions\n\n * name (String): job name\n * schedule (String): [ISO-8601][iso-8601] recurring series time\n * command (String): command to execute\n * epsilon (String): run if missed within this time period ([ISO-8601][iso-8601] duration)\n * owner (String): email address of job owner\n * async (Boolean, default: false): run job asynchronously\n\n### chronos.job.destroy(opts, callback)\n\nDelete job.\n\nOptions\n\n * name (String): job name\n\n\u003ca name=\"chronos-job-list\"/\u003e\n\n### chronos.job.list(callback)\n\nList jobs.\n\n### chronos.job.search(opts, callback)\n\nSearch jobs.\n\nOptions\n\n * name (String, optional): query on name\n * command (String, optional): query on command\n * any (String, optional): query on any field\n * limit (Number, default: 10): limit the number of results\n * offset (Number, default: 0): offset results by number\n\n### chronos.job.start(opts, callback)\n\nManually start job.\n\nOptions\n\n * name (String): job name\n\n### chronos.job.stats(opts, callback)\n\nGet jobs statistics.\n\nOptions\n\n * name (String, optional): job name\n * percentile (String, optional): statistic type\n\nIf 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.\n\nYou must specify either a job name or a percentile.\n\n### chronos.task.update(opts, callback)\n\nUpdate task.\n\nOptions\n\n * id (String): task id\n * statusCode (Integer, supports: 0, 1): task succeeded (0) or fail (1)\n\n### chronos.task.kill(opts, callback)\n\nKill tasks.\n\nOptions\n\n * job (String): job name\n\n\u003ca name=\"marathon\"/\u003e\n\n### mesos.Marathon([opts])\n\nInitialize a new Marathon client.\n\nOptions\n\n * host (String, default: 127.0.0.1): Marathon address\n * port (String, default: 8080): Marathon HTTP port\n * secure (Boolean, default: false): enable HTTPS\n\nUsage\n\n``` javascript\nvar mesos = require('mesos');\n\nvar marathon = mesos.Marathon({ host: '10.141.141.10' });\n```\n\nSee [Marathon REST][marathon-rest] documentation for more information.\n\n\u003ca name=\"marathon-app-create\"/\u003e\n\n### marathon.app.create(opts, callback)\n\nCreate and start a new application.\n\nOptions\n\n * id (String): app ID\n * cpus (Number): number of CPUs for each instance\n * mem (Number): amount of memory for each instance\n * instances (Number): number of instances\n * cmd (String, optional): command to execute\n\nAnd more, see [docs](https://github.com/mesosphere/marathon/blob/master/REST.md#post-v2apps).\n\n\u003ca name=\"marathon-app-list\"/\u003e\n\n### marathon.app.list([opts], callback)\n\nList all running applications.\n\nOptions\n\n * cmd (String, optional): filter apps by command\n\n\u003ca name=\"marathon-app-get\"/\u003e\n\n### marathon.app.get(opts, callback)\n\nGet application with by ID.\n\nOptions\n\n * id (String): app ID\n\n\u003ca name=\"marathon-app-versions\"/\u003e\n\n### marathon.app.versions(opts, callback)\n\nList the versions of an application by ID.\n\nOptions\n\n * id (String): app ID\n\n\u003ca name=\"marathon-app-version\"/\u003e\n\n### marathon.app.version(opts, callback)\n\nList the configuration of an application by ID at a specified version.\n\nOptions\n\n * id (String): app ID\n * version (String): app version\n\n\u003ca name=\"marathon-app-update\"/\u003e\n\n### marathon.app.update(opts, callback)\n\nChange parameters of a running application. The new application parameters\napply only to subsequently created tasks, and currently running tasks are\nnot pre-emptively restarted.\n\nOptions\n\n * id (String): app ID\n * cpus (Number): number of CPUs for each instance\n * mem (Number): amount of memory for each instance\n * instances (Number): number of instances\n * cmd (String, optional): command to execute\n\nAnd more, see [docs](https://github.com/mesosphere/marathon/blob/master/REST.md#put-v2appsappid).\n\n\u003ca name=\"marathon-app-destroy\"/\u003e\n\n### marathon.app.destroy(opts, callback)\n\nDestroy an applicationb by ID.\n\nOptions\n\n * id (String): app ID\n\n\u003ca name=\"marathon-app-tasks\"/\u003e\n\n### marathon.app.tasks(opts, callback)\n\nList all running tasks for an application by ID.\n\nOptions\n\n * id (String): app ID\n\n\u003ca name=\"marathon-app-kill\"/\u003e\n\n### marathon.app.kill(opts, callback)\n\nKill tasks that belong to an application.\n\nOptions\n\n * id (String): app ID\n * task (String, optional): kill by task ID\n * host (String, optional): restrict to tasks on specified slave (can't use with task)\n * scale (Boolean, optional): scale application down by one\n\n\u003ca name=\"marathon-eventSubscription-register\"/\u003e\n\n### marathon.eventSubscription.register(opts, callback)\n\nRegister a callback URL as an event subscriber.\n\nOptions\n\n * url (String): callback URL\n\n\u003ca name=\"marathon-eventSubscription-list\"/\u003e\n\n### marathon.eventSubscription.list(callback)\n\nList all event subscriber callback URLs.\n\n\u003ca name=\"marathon-eventSubscription-unregister\"/\u003e\n\n### marathon.eventSubscription.unregister(opts, callback)\n\nUnregister a callback URL.\n\nOptions\n\n * url (String): callback URL\n\n\u003ca name=\"marathon-tasks\"/\u003e\n\n### marathon.tasks(callback)\n\nList all running tasks.\n\n## Development\n\n 1. Install [Vagrant][vagrant]\n\n 1. Clone repository\n\n    ``` console\n    $ git clone https://github.com/silas/node-mesos.git\n    ```\n\n 1. Switch to project directory\n\n    ``` console\n    $ cd node-mesos\n    ```\n\n 1. Start VM\n\n    ``` console\n    $ vagrant up\n    ```\n\n 1. Install client dependencies\n\n    ``` console\n    $ npm install\n    ```\n\n 1. Run tests\n\n    ``` console\n    $ npm test\n    ```\n\n## License\n\nThis work is licensed under the MIT License (see the LICENSE file).\n\n[iso-8601]: https://github.com/cylc/cylc/wiki/ISO-8601\n[marathon-rest]: https://github.com/mesosphere/marathon/blob/master/REST.md\n[vagrant]: http://www.vagrantup.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilas%2Fnode-mesos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilas%2Fnode-mesos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilas%2Fnode-mesos/lists"}