class nodo::role::web inherits nodo::base::vserver { # Hidden services $hidden = hiera('apache::site::hidden', false) if $hidden == true { include onion } # Munin munin::plugin { [ 'apache_accesses', 'apache_processes', 'apache_volume' ]: ensure => present, } package { 'libcache-cache-perl': # needed by munin mysql plugin ensure => present, } munin::plugin { [ 'mysql_queries', 'mysql_slowqueries', 'mysql_bytes', 'mysql_threads' ]: ensure => present, config => "user root\nenv.mysqluser debian-sys-maint\nenv.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf", } # Classes for web nodes include database include users::virtual include nodo::utils::web # The websites class require websites # Reprepro configuration $reprepro = hiera('nodo::web::reprepro', false) $reprepro_basedir = '/var/reprepro' case $reprepro { true,'enabled': { class { 'reprepro': basedir => '/var/reprepro', uploaders => hiera('nodo::web::reprepro_uploaders', [ ]), } include reprepro::cron } 'disabled': { class { 'reprepro::disabled': basedir => '/var/reprepro', } } 'purged': { class { 'reprepro::purged': basedir => '/var/reprepro', } } false,default: { } } $git_daemon = hiera('nodo::web::git_daemon', True) if $git_daemon != false { class { 'git::daemon': } } backupninja::svn { "svn": src => "/var/svn", } }