Karabo server control documentation

# REST API Documentation for the server control

## Servers API

`/api/servers.json`

a GET to the address will return a JSON object like

                {
                    "version": "1.0.0",
                    "success": true,
                    "status_ok": true,
                    "servers": [
                        {
                            "name": "server_name",
                            "karabo_name": "server/name",
                            "status": "up, running",
                            "since": "calendar date",
                            "duration": uptime_in_seconds
                        },
                        ... more servers
                    ]
                }

## Single Server API

`/api/servers/:server_name:.json`

a GET to the address will return a JSON object like

            {
                "version": "1.0.0",
                "success": true,
                "status_ok": true,
                "servers": [
                    {
                        "name": "server_name",
                        "karabo_name": "server/name",
                        "status": "up, running",
                        "since": "calendar date",
                        "duration": uptime_in_seconds
                    },
                ]
            }

a PUT to the address with a JSON object like

            {
                "server":
                    {
                        "command": "command_name",
                    },
            }

will instruct the daemontools supervisor to execute the command `command_name`. The following commands are allowed:

`up`: If the service is not running, start it. If the service stops, restart it.

`down`: If the service is running, send it a TERM signal and then a CONT signal. After it stops, do not restart it.

`once`: If the service is not running, start it. Do not restart it if it stops.

`kill`: Send a KILL signal to the service and to the service's whole process group.

Note: the `name` field is optional