ukraine
v0.14.5
Published
Open Source Node.js PaaS with automatic Proxy and CLI client
Downloads
40
Readme
ukraine
ukraine
glues haibu
and node-http-proxy
adding two little helpers, chernobyl
and ducktape
, that deploys into this cloud. It is probably as stable as you think it is.
.. image:: https://raw.github.com/radekstepan/ukraine/master/example.png
Quick start
Make sure you have node >= 0.8.0
installed <https://github.com/joyent/node/blob/master/README.md#to-build>
_, 0.8.15 is recommended as current stable.
Install the package globally:
.. code-block:: bash
$ sudo npm install ukraine -g
As a server
Start it up:
.. code-block:: bash
$ sudo ukraine
As a client
Move to a directory with the app to deploy. Deploy pointing to cloud instance:
.. code-block:: bash
$ chernobyl deploy <ukraine_ip>
Config
To set the ports the proxy and haibu are supposed to be listening on, edit the config.json
file.
For setting environment variables exposed through process.env
, set the key value pair env
in your app's config.json
file.
Architecture
ukraine
Spawns a node-http-proxy
server that dynamically watches for changes in a routing table. It also uses a custom loader over haibu
injecting a plugin called kgb
that wiretap listens if a new app has been spawned. If it was, it updates the routing table.
There is also a plugin called ``ducktape`` in use that will cleanup any local files before attempting to spawn a new app. Otherwise, we would constantly be spawning an older version of an app.
chernobyl
#. checks that your app's package.json
file is in order
#. checks that ukraine
instance is up
#. checks and stops an existing app if need be
#. packs the new app and sends it to the cloud to deploy