summaryrefslogtreecommitdiffstats
path: root/modules/tozt/manifests/prometheus.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/tozt/manifests/prometheus.pp')
-rw-r--r--modules/tozt/manifests/prometheus.pp35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/tozt/manifests/prometheus.pp b/modules/tozt/manifests/prometheus.pp
index 444ac67..8120cdc 100644
--- a/modules/tozt/manifests/prometheus.pp
+++ b/modules/tozt/manifests/prometheus.pp
@@ -1,5 +1,7 @@
class tozt::prometheus {
+ include postgres;
include prometheus
+ include grafana
file { "/media/persistent/prometheus":
ensure => directory,
@@ -15,11 +17,44 @@ class tozt::prometheus {
source => 'puppet:///modules/tozt/prometheus-override.conf';
}
+ file { "/etc/grafana.ini":
+ source => "puppet:///modules/tozt/grafana.ini",
+ require => Package["grafana"];
+ }
+
+ exec { "create grafana db user":
+ provider => shell,
+ command => "createuser -d grafana",
+ user => 'postgres',
+ unless => "psql -Atc 'select usename from pg_catalog.pg_user' | grep -F grafana",
+ require => [
+ Package["postgresql"],
+ Service["postgresql"],
+ ];
+ }
+
+ exec { "create grafana db":
+ provider => shell,
+ command => "createdb -U grafana grafana",
+ user => 'postgres',
+ unless => "psql -Atc 'select datname from pg_catalog.pg_database' | grep -F grafana",
+ require => [
+ Exec["create grafana db user"],
+ Package["postgresql"],
+ Service["postgresql"],
+ ];
+ }
+
nginx::site {
"prometheus-tls":
source => 'puppet:///modules/tozt/nginx/prometheus-tls.conf',
require => Class['certbot'];
"prometheus":
source => 'puppet:///modules/tozt/nginx/prometheus.conf';
+ "grafana-tls":
+ source => 'puppet:///modules/tozt/nginx/grafana-tls.conf',
+ require => Class['certbot'];
+ "grafana":
+ source => 'puppet:///modules/tozt/nginx/grafana.conf';
}
}