Commander – A simple sample application to rule your environments

Just an incredibly simple way to start/stop any server instance, from the same place.

Our team is responsible for deploying onto, starting and and stopping test servers. Sometimes the servers don’t respond and you need to restart them. You can contact us or, with the help of “COMMANDER”, do it by yourself.

A brief overview

“COMMANDER” is a simple web module that offers you a REST API to manage (for the moment, start, stop and deploy onto) a previously defined set of server instances. This API defines a set of functions which users can:

Query to get the list of defined server or environment instances

pic01
 
http://[host]:[port]/commander/rest/servers
http://[host]:[port]/commander/rest/environments

How to start a server (or the whole bunch of servers from an environment)

pic02
 
http://[host]:[port]/commander/rest/servers/[server_id]/start
http://[host]:[port]/commander/rest/environments/[environment_id]/start

How to stop a server (or the whole bunch of servers from an environment)

pic03
 
http://[host]:[port]/commander/rest/servers/[server_id]/stop
http://[host]:[port]/commander/rest/environments/[environment_id]/stop

How to deploy your app to a server instance

plus
 
http://[host]:[port]/commander/rest/servers/[server_id]/deploy

A lot of additional operations are also available and appearing in greater number every day, such as: to know the version of the app deployed, to check the alive status of the server, etc.

Additionally “COMMANDER” has a home page (index.html), to access them all. It is only a matter of time before new functions arise, or new clients (python, android, iOS, etc…) be created.

Technical overview

I’ve used Apache CXF to expose services as REST API, Spring for dependency injection and (JCraft) JSch as SSH implementation. Maybe it’s not an innovation example in the field of WEB application development, but it’s good enough. And at least I had a great time coding, and of course, this small module will definitely be useful and convenient.

Open source software

Of course, we’ve shared the project in Github, for community enjoyment.

You can download the completely functional maven project from our repository, there you can find a brief reference called reference.htm (REST API reference).

Would you use it, or to enhance it? Or simply are you curious about design and technology, and would you like to dig into the code? If so, or you’re interested in receiving more information, please post your comments above and we can write about it!

And as always, if you’ve liked this post, you can it. Thank you.


Deja un comentario