1 | # skale
|
2 |
|
3 | [![Join the chat at https://gitter.im/skale-me/skale-engine](https://badges.gitter.im/skale-me/skale-engine.svg)](https://gitter.im/skale-me/skale-engine?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
4 | [![Build Status](https://travis-ci.org/skale-me/skale-cli.svg?branch=master)](https://travis-ci.org/skale-me/skale-cli)
|
5 |
|
6 | Create, run and deploy distributed NodeJS applications
|
7 |
|
8 | The skale command is the quickest and easiest way to create distributed
|
9 | scalable applications based on
|
10 | [skale-engine](https://www.npmjs.com/package/skale-engine) and then
|
11 | to submit them either locally or on the cloud.
|
12 |
|
13 | ## Install
|
14 |
|
15 | `skale` and `skale-engine` have been tested so far on Unix-like
|
16 | system such as Linux or MacOSX. MS-Windows is not supported.
|
17 |
|
18 | Assuming you have already installed [NodeJS](https://nodejs.org):
|
19 |
|
20 | $ npm install -g skale
|
21 |
|
22 | This installs the skale command globally on your system. You may have to run
|
23 | this command with `sudo` depending on your platform:
|
24 |
|
25 | $ sudo npm install -g skale
|
26 |
|
27 | Note that `skale` itself does not require superuser privileges.
|
28 | You can for example install `skale` from your home directory and
|
29 | add `$HOME/node_modules/.bin` in your PATH environment:
|
30 |
|
31 | $ cd $HOME
|
32 | $ npm install skale
|
33 | $ export PATH=$PATH:~/node_modules/.bin # or write it in your ~/.profile
|
34 |
|
35 | ## Getting started
|
36 |
|
37 | To create an application called `my_app`, simply run
|
38 |
|
39 | $ skale create my_app
|
40 |
|
41 | It will create a directory `my_app`, populate it with a template
|
42 | (hello world) application `my_app.js`, and install skale-engine
|
43 | dependency using [`npm`](https://npmjs.com).
|
44 |
|
45 | You can then go to `my_app` and run your app using `skale run`:
|
46 |
|
47 | $ cd my_app
|
48 | $ skale run
|
49 |
|
50 | To do something useful, modify your application by editing `my_app.js`,
|
51 | then run again using `skale run`.
|
52 |
|
53 | Under the hood, the `skale run` commands starts a skale-engine cluster on the
|
54 | the localhost at the first invocation, then simply executes `my_app.js`. You
|
55 | can check the status of the cluster using the `skale status` command, and stop
|
56 | it using `skale stop`.
|
57 |
|
58 | To go on further details, please refer to skale-engine [documentation](https://github.com/skale-me/skale-engine/blob/master/doc/skale-API.md)
|
59 | and [skale examples](https://github.com/skale-me/skale-examples)
|
60 |
|
61 | ## Deploying an application
|
62 |
|
63 | *Coming soon*
|
64 |
|
65 | ## Usage
|
66 | ```
|
67 | Usage: skale [options] <command> [<args>]
|
68 |
|
69 | Create, run, deploy clustered node applications
|
70 |
|
71 | Commands:
|
72 | create <app> Create a new application
|
73 | run [<args>...] Run application
|
74 | deploy [<args>...] Deploy application (coming soon)
|
75 | status print status of local skale cluster
|
76 | stop Stop local skale cluster
|
77 |
|
78 | Options:
|
79 | -h, --help Show help
|
80 | -V, --version Show version
|
81 | ```
|
82 |
|
83 | ## Community
|
84 |
|
85 | * [Gitter](https://gitter.im/skale-me/skale-engine) for support and
|
86 | discussion
|
87 | * [skale](https://groups.google.com/forum/#!forum/skale)
|
88 | mailing list for general discussion about use and development
|
89 |
|
90 | ## License
|
91 |
|
92 | [Apache-2.0](LICENSE)
|