fabric-remote

0.2.0 • Public • Published

Fabric Remote JS Client

This is a javascript interface to Fabric Remote. It allows you to remotely call Fabric commands over the HTTP REST API provided by Fabric Remote. It works both as a node module (server-site) and in the browser, thanks to browserify.

What is Fabric Remote?

It's a project I'm working on that I haven't open sourced yet. But this is the JS interface for it!

Installation

For the browser:

bower install fabric-remote

For node:

npm install fabric-remote

Usage

Fabric Remote Js provides the FabricRemote object. This needs to be configured to point to the correct Fabric Remote server, and given the authorization credentials:

var fr = new FabricRemote("http://localhost", 1234, "opensesame");

Now you can get a list of available tasks:

fr.listTasks();

This returns a promise that will return a result like this:

{
  host_type: {
  name: "host_type",
  description: "returns the host type"
},
  check_foo: {
  name: "check_foo",
  description: null
  }
}

Here is how you execute tasks. This allows you to pass args and kwargs, and you can also pass a list of tasks.

fr.execute([
  {task: "host_type", args: ["foo", "bar"], kwargs: {"arg1":"val1"}}
])

Promise interface

You can call .progress() on the promise to get regular updates of the streaming output of the task execution. .success() will get called with the output of your execution.

TODO

Error handling sucks.

Readme

Keywords

none

Package Sidebar

Install

npm i fabric-remote

Weekly Downloads

5

Version

0.2.0

License

none

Last publish

Collaborators

  • kevin1024