-
Notifications
You must be signed in to change notification settings - Fork 8
Bandshell Spec
mikldt edited this page May 30, 2012
·
3 revisions
Ruby, Rubygems (Sinatra), a compatible webserver
Bash
System utils optional: uptime, ps, munin, etc.
- daemon_controller (1.0.0)
- daemons (1.1.8)
- eventmachine (0.12.10)
- fastthread (1.0.7)
- ffi (1.0.11)
- passenger (3.0.12)
- rack (1.4.1)
- rack-protection (1.2.0)
- rake (0.9.2.2)
- sinatra (1.3.2)
- sys-proctable (0.9.1)
- sys-uptime (0.6.0)
- thin (1.3.1)
- tilt (1.3.3)
OS-level Utilities
At boot, checks player directory for any pending files to be installed
Ruby library providing management functionality
System Daemon (written in Ruby)
Starts the Web App Server & verifies that it is still alive
Starts the Browser & verifies that it is still alive
Periodically uses local library methods to check for updates from the server
Controls screen according to rules downloaded from server
Web app
Uses local library methods and some configuration logic to provide the methods listed below under “Actions”
Local terminal
Allows local (TTY/SSH) access to library methods, such as running through configuration.
Local Library Methods
Set server address / get server information
Request Temporary ID
Request Real ID (based on a Temporary ID we already have)
Check Configuration (based on our Real Instance ID)
Get Status
Force Reboot
Actions (Concerto Player App)
/screen (only to be accessed by localhost)
if instance ID is set -> redirect to instance for display
if instance ID not set -> redirect to /configure
/configure
if server info not set -> attempt autodetect
if autodetect succeeds -> proceed with below
if autodetect fails -> display form (submits to self)
if server info is set set
if instance ID is set -> download configuration info, redirect to actual player on server
else, if no temporary ID set -> request and save temporary ID, proceed with next step:
if temporary ID is set
check whether this has been associated with a real ID on the server. If it has, save ID, download configuration info, redirect to actual player
otherwise, display temporary ID, reload periodically
/status
Uptime
Firmware Version
Local Resource
Local process status, etc.
/force_update
Cause a request to the webserver to download instance information