First, let’s talk about the API part of the deal:
We recently launched SolarSystem 2.0. It included a handful of new features and improvements to SolarSystem’s easy to use, web-based control panel interface. At the same time, we also launched the first version of our SolarSystem API. This means that you can now programmatically interface with SolarSystem in your favorite programming language, allowing you to integrate, automate, and manage Pod-related activities on your own terms.
To gain access to the API, you must first obtain an API key. To do this, existing SolarSystem clients can login and then click on their name on the top right of any screen in the control panel. From there, just click the “Generate New API Key” button and you will be given an API key.
To access the SolarSystem API’s documentation, navigate yourself over to Support>>API from the control panel. Or, if you are not yet a SolarSystem client, you can peep the documentation at http://api.ss.solarvps.com/. The documentation shows the required Request URL and Parameters for each method along with the corresponding JSON responses. The documentation is interactive, so you can try any method from the documentation itself, using any key you want. To make things easy for you, we pre-populated the API Key field with a Demo Key– so, you can boot, reboot, or shutdown a pretend Pod to see what that would look like.About the Open Source part:
We thought that we should eat our own dogfood and try building something fun with the API. Since the API supports JSONP as well as JSON, we thought it’d be fun to build an HTML5 Mobile App using jQuery Mobile for the interface, and PhoneGap Build to compile to a native device. We wanted a simple Mobile App that supported the following operations:
– Setting the API Key to be used for operations (and saving with HTML5 localStorage)
– Listing Pods
– Viewing information (hostname, main ip, state, operating system) about a Pod
– Booting, Rebooting, Shutting Down and Pinging a selected Pod
– Viewing SolarRay alerts
With our API in hand, and the help of Codiqa to get the skeleton of our application started, we were able to build something that met our requirements list in less than a day.
Please note, the mobile application is not supported and is not an official mobile app for the SolarSystem. Rather, it is a proof of concept to show the types of things that can be done with our new API. That is why we’re sharing the source code with you on our Github.
After compiling to native devices in PhoneGap, we were able to install the application onto our Android phones and manage our Pods on the go. Here’s a few screenshots of what the end result looked like.
Fun! We hope you’ll have fun with our API, too. If you do, send us a message @solarvps and let us know what you made. We’ll keep an eye out for forks of the repo and would love to pull in any improvements!