Puppet Class: puppet_metrics_dashboard::grafana
- Defined in:
- manifests/grafana.pp
Summary
Install and configure GrafanaOverview
Install and configure Grafana. This work is broken out into its own class because it requires the InfluxDB service to be running before it can even start doing its thing.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'manifests/grafana.pp', line 8
class puppet_metrics_dashboard::grafana {
if $puppet_metrics_dashboard::use_dashboard_ssl {
$grafana_cfg = {
server => {
http_port => $puppet_metrics_dashboard::grafana_http_port,
protocol => 'https',
cert_file => $puppet_metrics_dashboard::dashboard_cert_file,
cert_key => $puppet_metrics_dashboard::dashboard_cert_key,
},
}
puppet_metrics_dashboard::certs{'grafana':
notify => Service['grafana-server'],
require => Package['grafana'],
before => Service['grafana-server'],
}
} else {
$grafana_cfg = {
server => {
http_port => $puppet_metrics_dashboard::grafana_http_port,
},
}
}
$_grafana_cfg = $grafana_cfg.merge({
'security' => {
'admin_user' => 'admin',
'admin_password' => $puppet_metrics_dashboard::grafana_password,
}
}).merge($puppet_metrics_dashboard::grafana_config) # Merge any custom config over the top finally
class { 'grafana':
install_method => 'repo',
manage_package_repo => false,
version => $puppet_metrics_dashboard::grafana_version,
cfg => $_grafana_cfg,
require => Service[$puppet_metrics_dashboard::influx_db_service_name],
}
}
|