diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-07-01 23:35:30 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-07-01 23:35:30 -0400 |
commit | 4e5410017e38ad0d425c68d032bc4c908c5dbded (patch) | |
tree | 7e4c1fefc843edd902166289d361da9ee004558f /modules/tozt/manifests/prometheus.pp | |
parent | 737acd4a3b38773979ff1fc0c192a703655eb46c (diff) | |
download | puppet-tozt-4e5410017e38ad0d425c68d032bc4c908c5dbded.tar.gz puppet-tozt-4e5410017e38ad0d425c68d032bc4c908c5dbded.zip |
install grafana
Diffstat (limited to 'modules/tozt/manifests/prometheus.pp')
-rw-r--r-- | modules/tozt/manifests/prometheus.pp | 35 |
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'; } } |