2017 © Pedro Peláez
 

library sgcli

ServerGrove CLI

image

servergrove/sgcli

ServerGrove CLI

  • Thursday, January 17, 2013
  • by pgodel
  • Repository
  • 3 Watchers
  • 6 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

ServerGrove Control Panel Command Line Interface (CLI)

The utility allows interaction with the ServerGrove Control Panel through the command line. It also provides an interactive shell., (*1)

The following command line tools are provided:, (*2)

  • API client Command Line Interface
  • Interactive Shell

The API client CLI allows to connect to the ServerGrove Control Panel through a HTTP API. To connect to the API you will need to be a registered customer with access to the Control Panel and API, and you will need to enable API access in the user profile., (*3)

Installation:

You will need PHP 5.3, (*4)

Download sgcli.phar executable and place it in a directory in your PATH., (*5)

Make sure sgcli.phar has executable permissions or use with php sgcli.phar, (*6)

Configuration:

By default, the API client will use our demo API secret/key combination. This only lets you runs some tests against the server but it won't allow you to access your account and servers., (*7)

You will need to enable API access in your user profile in https://control.servergrove.com/profile, (*8)

Once you have the API key and secret, add it to your environment variables:, (*9)

Example:
    $ export SG_API_KEY=yourkey
    $ export SG_API_SECRET=yoursecret
  • For *nix add these two lines to your user's ~/.profile

Usage:

./sgcli.phar client call [args]
  • call: call composed of namespace and action (ie. server/list)
  • args: (optional) list of variables to send to the call (ie. serverId=abc123&isActive=0)

Example:

./sgcli.phar client test/version
./sgcli.phar client server/list
./sgcli.phar client server/stop serverId=abc123

Interactive shell:

./sgcli.phar shell

Commands:, (*10)

  • help/h/? - list commands
  • servers - list servers
  • server [option] - selects a server from the servers list. option can be an numeric option from the list or a server name. A partial name can also be provided and it will select the first match
  • exec cmd - executes a command in the selected server
  • reboot [server] - reboots a server. [server] is optional. If not given it will use the selected server. It will ask for confirmation before proceding
  • shutdown [server] - shuts down a server. [server] is optional. If not given it will use the selected server. It will ask for confirmation before proceding
  • bootup [server] - boots up a server. [server] is optional. If not given it will use the selected server
  • domains - list domains under selected server
  • domain [option] - selects a domain from the domains list. option can be an numeric option from the list or a domain name. A partial name can also be provided and it will select the first match
  • apps - list apps under selected server
  • app [option] - selects a app from the apps list. option can be an numeric option from the list or a app name. A partial name can also be provided and it will select the first match
  • restart [app] - restarts an application. [app] is optional. If not given it will use the selected app. It will ask for confirmation before proceding
  • stop [app] - restarts an application. [app] is optional. If not given it will use the selected app. It will ask for confirmation before proceding
  • start [app] - restarts an application. [app] is optional. If not given it will use the selected app
  • . - runs the last command again
  • x - resets internal selections
  • exit/quit - exits shell

WARNING

Notice: The API is still under heavy development, so things MAY change. Please be aware of this., (*11)

More information:

TODO & Contributions

We have a bunch of features we want to add. If you have any cool ideas feel free to send us suggestions or even Pull Requests. This is a Github project, so anybody can fork it and extend it!, (*12)

We love PRs!, (*13)

Credits

  • Fabien Potencier for the awesome Symfony Components.
  • The Composer team for inspiration on the Application code and the phar file compiler.

The Versions

17/01 2013

dev-master

9999999-dev http://servergrove.com/

ServerGrove CLI

  Sources   Download

MIT

The Requires

 

cli vps servergrove