https://github.com/koding/rope
Public registry for Kites with proxy support between kites
https://github.com/koding/rope
Last synced: 10 months ago
JSON representation
Public registry for Kites with proxy support between kites
- Host: GitHub
- URL: https://github.com/koding/rope
- Owner: koding
- License: mit
- Created: 2017-07-06T08:39:13.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-21T04:48:55.000Z (about 8 years ago)
- Last Synced: 2025-01-20T10:11:29.541Z (11 months ago)
- Language: JavaScript
- Size: 8.82 MB
- Stars: 0
- Watchers: 8
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rope
====
Rope is a public Kite registry with proxy support between kites. Also introduces bi-directional communication between Kites.
Getting Started
---------------
Before starting make sure to call `npm install` and `go get github.com/koding/kite` if you want to try go example. Then to start Rope server;
```
$ node rope.js
```
This will start the server on `0.0.0.0:8080` which then you can run one of the node examples (in another terminal session);
```
$ node rope-node.js
```
will create a Rope Node with Node.js, same file also supports browsers which you can try it out;
```
$ open rope-browser.html
```
will load the `kite.js` bundle and then runs the `rope-node.js` which will create another Rope Node in the browser this time.
To try another Rope Node in Go this time;
```
$ go run rope-node.go
```
Which will do the same with others.
Once ready, you can start playing with nodes by calling `run` over `Rope Server`. The best way to do that for now opening Dev Console in your choice of Browser after loading the `rope-browser.html`. Which will connect to `Rope Server`, identifies itself and will get a list of Kites registered before which you can access from `publicKites` global variable. There will be another public variable called `kite` which will allow you to interact with `Rope Server`. And for an example of usage of `run` over `Rope Server` would be (in Dev Console of rope-browser.html);
## `kite.ping`
```
> kite.tell('run', {kiteId: publicKites[0], method: "kite.ping"}).then(console.log.bind(console))
pong
```
will ping the first public kite which will end with a simple `pong`
## `kite.systemInfo`
```
> kite.tell('run', {kiteId: publicKites[0], method: "kite.systemInfo"}).then(console.log.bind(console))
{
diskTotal: 975902848,
diskUsage: 328007624,
homeDir: "/Users/gokmen",
memoryUsage: 12602589184,
state: "RUNNING",
totalMemoryLimit: 17179869184,
uname: "darwin",
}
```
will return the system info from first public kite.
## `kite.prompt`
```
> kite.tell('run', {kiteId: publicKites[0], method: "kite.prompt", args: ["Your Name? "]}).then(console.log.bind(console))
# on the terminal of first public kite you will see the prompt "Your Name? "
λ go run rope-node.go
2017-07-06 01:24:30 [dope] INFO New listening: 0.0.0.0:49558
2017-07-06 01:24:30 [dope] INFO Serving...
2017-07-06 01:24:30 [dope] INFO Identify requested!
2017-07-06 01:24:30 [dope] INFO Following Kites found on Rope: [8542b5e3-fc67-4c6b-a368-968c12d69357 11f4f2f9-1cd7-4f77-862b-4de07a42a991]
Your Name? Poyraz
# once provided it will return the result to the browser console.
Poyraz
```
## `square`
```
> kite.tell('run', {kiteId: publicKites[0], method: "square", args: [5]}).then(console.log.bind(console))
25
```
you can check it out the implementation in `rope-node.{go, js}`