App42
Client library and command-line tool to deploy and manage apps on App42PaaS.
Installation
You need to install and run the app42 client gem in your local environment on your development machine. Even if you already have the app42 client gem installed, it is good practice to run “gem install app42″ to make sure that you have the latest version of the gem.
To install the client gem, you must have ruby installed on your system.
Linux
Before you do anything else, You should install the below libraries to make sure that your system is ready to install ruby.
INSTALL THE NEEDED LIBRARIES
$ sudo apt-get install zlib1g zlib1g-dev build-essential openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev
Install Ruby on Linux using apt-get tool
Download and install ruby 1.9.3 (you may install latest ruby too)
$ sudo apt-get update
$ sudo apt-get install ruby1.9.3
Install Ruby on Linux from source code.
Download ruby source code from Ruby Site
$ apt-get -y update
$ apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
$ cd /tmp
$ wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
$ tar -xvzf ruby-2.0.0-p0.tar.gz
$ cd ruby-2.0.0-p0/
$ ./configure --prefix=/usr/local
$ make
$ make install
Mac OS X
To install the client gem, you must have ruby installed on your system. You can use MacPort to download and compile everything.
Install MacPort http://www.macports.org/ From a terminal window, install Ruby
$ sudo port install ruby19 _nosuffix
$ sudo port select --set ruby ruby19
$ alias ruby='/opt/local/bin/ruby1.9'
Windows
To install the client gem, you must have ruby installed on your system.
Download and install Ruby Installer(http://rubyinstaller.org/) for Windows and set ruby to your path to access App42 from command prompt.
Install App42 Client Gem
You can install app42 client like any other ruby gem.
Note: app42 require Ruby 1.9.2 or newer.
$ gem install app42
Commands
Usage: app42 COMMAND [command-specific-options]
Key
keys # List API key and Secret key
addKeys # Add API key and Secret key
clearKeys # Clear API key and Secret key
Applications
setupInfra # Setup your deployment and runtime environment i.e. Instance(Memory, CPU) and Technology Stack
deploy # Deploy the application over your runtime environment
update # Update the application over your runtime environment
scale # Scale application by number of instance(s)
descale # Descale application by number of instance(s)
start # Start the application
stop # Stop the application
restart # Restart the application
deleteInfra # Delete the Infrastructure environment
apps # List all the deployed applications with their meta details
appInfo # Show meta information of the application
appState # Show current state of the application
logs # Returns the log file URL(s) for the application
Services
createService # Creates a new service e.g. MySQL, MongoDB, CouchDB, PostgreSQL etc.
deleteService # Delete provisioned service
startService # Start the service
restartService # Restart the service
stopService # Stop the service
services # List all the provisioned services with their meta details
serviceInfo # Show meta information of the provisioned service
resetServicePassword # Reset password of provisioned service
bindIP # Bind IP to provisioned service
unbindIP # Unbind IP from provisioned service
bindInfo # Show IP bind information related to provisioned service
Misc
supportedServices # List supported services by App42
iaasProviders # List supported IaaS providers by App42
runtimes # List supported runtimes by App42
activities # List all activities with their status
Setup
setupCloudAPI # Setup App42 cloud API by choosing required configuration
deleteCloudAPI # Delete App42 cloud API setup
setupInfo # Show setup information
setups # List all the setups
Help
version # Show Ruby client gem version
help # List available commands and their description
COMMAND --help # Display detailed help of a specific command
Usage
$ app42 keys
=== API/Secret Key ===
API Key = df1dcdb0-958c-0130-9368-3c970e529c4b
Secret Key = be9faaf56ff75bacae2ac9712b02c8feb8ffc6bb3381b60e1e9efccccd81086d
$ app42 apps
+------------------------+------------+------------------+------+------------+----------------+--------+
| === My Apps === |
+------------------------+------------+------------------+------+------------+----------------+--------+
| App Url | App Status | Iaas Provider | Name | Runtime | Instance Count | Memory |
+------------------------+------------+------------------+------+------------+----------------+--------+
| demo.aws.app42paas.com | RUNNING | Amazon us-west-2 | demo | Ruby 2.0.0 | 1 | 256 MB |
| demo1.aws.app42paas.com| STOPPED | Amazon us-west-2 | demo1| Ruby 2.0.0 | 2 | 520 MB |
+------------------------+------------+------------------+------+------------+----------------+--------+
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request