Provides puppet classes and definitions to deal with dashing.
==============
The dashing
module provides a simple interface to manage the installation of dashing and the install and configuration of dashing instances.
dashing is a Sinatra based framework that lets you build beautiful dashboards.
What puppet-dashing affects:
- dashing gem installation
- provides init/upstart service management scripts
- configuration files under /etc/dashing.conf and /etc/dashing.d (by default)
- storing dashing instances under /usr/share/dashing (by default)
As easy as
include dashing
will give you a setup of dashing using all the default parameters.
There are classes and definitions for the functionality described above.
You must always include this class, it takes care of all the common install/setup.
The parameters for dashing
are not required, but you can use them to customize.
class {'dashing':
dashing_package_name => 'dashing',
package_status => installed,
dashing_conf => '/etc/dashing.conf',
dashing_default => '/etc/default/dashing',
dashing_binary => '/usr/local/bin/dashing',
dashing_basepath => '/usr/share/dashing',
run_user => 'root',
run_group => 'root',
service_name => 'dashing',
enable => true,
}
Defaults are enough for the usual locations after a gem install dashing
, but you can overwrite them if your setup is different.
Handles the installation of a remote dashing dashboard.
Expects a targz location (gets extracted into $dashing::dashing_basepath
), and handles the setup of upstart for that specific instance.
dashing::instance {'ceph':
targz => 'https://github.com/rochaporto/dashing-ceph/tarball/master',
dashing_port => '3030',
dashing_dir => "$dashing::dashing_basepath/$name",
strip_parent_dir => true,
}
strip_parent_dir
is a hint for tar to strip the parent directory (or not).
You should have port
being different for each dashing::instance
(but the actual instance might have multiple dashboards).
Handles the configuration of a local dashing dashboard. Using this requires you to manage the source of your dashing dashboard via other means; be it through another puppet module, or manually.
dashing::instance::local {'ceph':
dashing_port => '3030',
dashing_dir => '/usr/local/share/dashboards,
}
You should have port
being different for each dashing::instance
(but the actual instance might have multiple dashboards).
Currently only upstart scripts are being provided to manage the service.
All contributions more than welcome, just send pull requests.
GPLv3 (check LICENSE).
Ricardo Rocha [email protected]
Please log tickets and issues at the github home.