ALERT: Please note this library is currently under active development. Any release versioned 0.x is subject to backwards incompatible changes.
nami
Nami is a synchronous node-based command line tool designed to ease the deployment of runtimes, servers and web applications in multiple environments.
- Application specific: automate the configuration process with a simple API.
- Customize your stack: deploy your app using any runtime version, do not depend on Linux distro package versions.
Installation
Nami is supported in any 64-bit Linux distribution. OS X and Windows platforms are not supported right now. We are open to PRs to support other platforms.
Development version
Nami requires Node.js and npm already installed on the system. Clone the repo and install dependencies and runtime.
$ git clone https://github.com/bitnami/nami
$ cd nami
$ npm install
$ npm run install-runtime
$ bin/nami --help
Get started
Nami provides different ways of operation through its multiple cli commands, all of them following the format:
$ nami [<global-options> | <command> [<command-options> [<command-arguments>]]]
<global-options>
: Global Nami options that are not specific to any particular sub-command.
<command>
: Command to execute: list
, install
, unpack
, uninstall
, test
, initialize
, new
, execute
, start
, stop
, restart
, status
, inspect
<command-options>
: Options related to the command being executed.
<command-arguments>
: Command-specific arguments.
How to implement a nami module
Populate the files for a new module.
$ nami new --id "com.bitnami.sample" sample_package
nami INFO Creating new nami package under /home/user/sample_package
$> tree sample_package
sample_package
|-- nami.js
Copy your files into files/
and install the module:
$ cd sample_package
$ sudo nami install .
The files will be copied to /opt/bitnami
folder by default.
You can find more info about how to create a nami module at the Nami User Guide.
Licensing
Nami is licensed under the GPL, Version 2.0. See the COPYING file for the full license text.
Contributing
Check our Contributing guide.