aboutsummaryrefslogtreecommitdiffstats
path: root/modules/youri-check/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/youri-check/manifests/init.pp')
-rw-r--r--modules/youri-check/manifests/init.pp132
1 files changed, 84 insertions, 48 deletions
diff --git a/modules/youri-check/manifests/init.pp b/modules/youri-check/manifests/init.pp
index 37902ba2..ebdaa492 100644
--- a/modules/youri-check/manifests/init.pp
+++ b/modules/youri-check/manifests/init.pp
@@ -1,52 +1,81 @@
class youri-check {
class base {
- $vhost = "check.$domain"
+ $vhost = "check.${::domain}"
$user = 'youri'
$home = '/var/lib/youri'
+ $home_check = '/var/www/youri-check'
+ $pgsql_password = extlookup('youri_pgsql','x')
user { $user:
comment => 'Youri Check',
home => $home,
}
- file { $home:
- ensure => directory,
- owner => $user,
- group => $user,
- }
+ file { $home:
+ ensure => directory,
+ owner => $user,
+ group => $user,
+ }
+
+ file { $home_check:
+ ensure => directory,
+ owner => $user,
+ group => $user,
+ }
- $pgsql_server = "$vhost"
+ $pgsql_server = "${vhost}"
- package { ['youri-check', 'perl-DBD-Pg', 'perl-Youri-Media']: }
+ package { ['youri-check', 'perl-DBD-Pg', 'perl-Youri-Media']: }
}
+
define config($version) {
- include youri-check::base
+ include stdlib
+ include youri-check::base
+
+ $config = "/etc/youri/${version}.conf"
+ $outdir = "/var/www/youri-check/${version}"
+ $pgsql_db = "youri_check_${version}"
+ $pgsql_server = $base::pgsql_server
+ $pgsql_user = "youri${version}"
+ $pgsql_password = extlookup('youri_pgsql','x')
+ # We want to alert for packages older than the cut-off for latest mass rebuild
+ # 1745539200 is 2025-04-25
+ $max_days = (time() - 1745539200)/(24*3600)
+
+ file { "${config}":
+ ensure => present,
+ owner => $base::user,
+ mode => '0640',
+ content => template("youri-check/${version}.conf"),
+ require => User[$base::user],
+ }
+ }
+
- $config = "/etc/youri/$version.conf"
- $outdir = "/var/www/youri-check/$version"
- $pgsql_db = "youri_check_$version"
- $pgsql_server = $base::pgsql_server
- $pgsql_user = "youri$version"
+ define createdb_user($version) {
+ $pgsql_db = "youri_check_${version}"
+ $pgsql_user = "youri${version}"
$pgsql_password = extlookup('youri_pgsql','x')
- file { "$config":
- ensure => present,
- owner => $base::user,
- mode => 640,
- content => template("youri-check/$version.conf"),
- require => User[$base::user],
- }
+ postgresql::remote_user { $pgsql_user:
+ password => $base::pgsql_password,
+ }
+
+ postgresql::remote_database { $pgsql_db:
+ description => "Youri Check results",
+ user => $pgsql_user,
+ }
}
define check($version, $hour = "*", $minute = 0) {
- include youri-check::base
- $config = "/etc/youri/$version.conf"
- $pgsql_server = $base::pgsql_server
- $pgsql_db = "youri_check_$version"
- $pgsql_user = "youri$version"
- $pgsql_password = extlookup('youri_pgsql','x')
+ include youri-check::base
+ $config = "/etc/youri/${version}.conf"
+ $pgsql_server = $base::pgsql_server
+ $pgsql_db = "youri_check_${version}"
+ $pgsql_user = "youri${version}"
+ $pgsql_password = extlookup('youri_pgsql','x')
postgresql::remote_user { $pgsql_user:
password => $base::pgsql_password,
@@ -54,44 +83,51 @@ class youri-check {
postgresql::remote_database { $pgsql_db:
description => "Youri Check results",
- user => $pgsql_user,
+ user => $pgsql_user,
}
- cron { "check_$version":
- command => "youri-check -c $config test",
- hour => $hour,
- minute => $minute,
- user => $base::user,
- environment => "MAILTO=root",
- require => User[$base::user],
+ cron { "check_${version}":
+ command => "youri-check -c ${config} --parallel test",
+ hour => $hour,
+ minute => $minute,
+ user => $base::user,
+ environment => "MAILTO=root",
+ require => User[$base::user],
}
}
define report_www {
include youri-check::base
- $outdir = "/var/www/youri-check/"
- apache::vhost_simple { $base::vhost:
+ $outdir = "/var/www/youri-check/"
+ apache::vhost::base { $base::vhost:
+ location => $outdir,
+ content => template('youri-check/vhost_check.conf'),
+ }
+ apache::vhost::base { "ssl_${base::vhost}":
+ vhost => $base::vhost,
+ use_ssl => true,
location => $outdir,
+ content => template('youri-check/vhost_check.conf'),
}
}
define report($version, $hour = "*", $minute = 20) {
include youri-check::base
- $config = "/etc/youri/$version.conf"
+ $config = "/etc/youri/${version}.conf"
- $outdir = "/var/www/youri-check/$version"
- file { "$outdir":
+ $outdir = "/var/www/youri-check/${version}"
+ file { "${outdir}":
ensure => directory,
- owner => $base::user,
- mode => 755,
+ owner => $base::user,
+ mode => '0755',
}
- cron { "check_$version":
- command => "youri-check -c $config report",
- hour => $hour,
- minute => $minute,
- user => $base::user,
- require => User[$base::user],
+ cron { "check_${version}":
+ command => "youri-check -c ${config} report",
+ hour => $hour,
+ minute => $minute,
+ user => $base::user,
+ require => User[$base::user],
}
}
}