diff --git a/site-modules/profile/manifests/grafana.pp b/site-modules/profile/manifests/grafana.pp index 759a4dbf..57b4f512 100644 --- a/site-modules/profile/manifests/grafana.pp +++ b/site-modules/profile/manifests/grafana.pp @@ -1,30 +1,31 @@ class profile::grafana { $db = lookup('grafana::db::database') $db_username = lookup('grafana::db::username') $db_password = lookup('grafana::db::password') $config = lookup('grafana::config') include ::postgresql::server ::postgresql::server::db {$db: user => $db_username, password => postgresql_password($db_username, $db_password), } class {'::grafana': install_method => 'repo', cfg => $config + { database => { type => 'postgres', host => '127.0.0.1:5432', name => $db, user => $db_username, password => $db_password } } } contain profile::grafana::vhost contain profile::grafana::objects + contain profile::grafana::dashboards } diff --git a/site-modules/profile/manifests/grafana/dashboards.pp b/site-modules/profile/manifests/grafana/dashboards.pp new file mode 100644 index 00000000..bb838b74 --- /dev/null +++ b/site-modules/profile/manifests/grafana/dashboards.pp @@ -0,0 +1,14 @@ +# Grafanalib-generated dashboards for grafana + +class profile::grafana::dashboards { + + file { '/etc/grafana/provisioning/dashboards/10-grafanalib-dashboards.yaml': + ensure => 'file', + content => template('profile/grafana/10-grafanalib-dashboards.yaml.erb'), + } + + package { 'swh-grafanalib-dashboards': + ensure => 'installed', + } + +} diff --git a/site-modules/profile/templates/grafana/10-grafanalib-dashboards.yaml.erb b/site-modules/profile/templates/grafana/10-grafanalib-dashboards.yaml.erb new file mode 100644 index 00000000..053abd6e --- /dev/null +++ b/site-modules/profile/templates/grafana/10-grafanalib-dashboards.yaml.erb @@ -0,0 +1,11 @@ +# config file version +apiVersion: 1 + +providers: +- name: 'default' + orgId: 1 + folder: '' + type: file + updateIntervalSeconds: 180 + options: + path: /usr/local/share/swh-data/swh-grafanalib-dashboards