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,
  }

  munin::plugin { [ 'mysql_queries', 'mysql_slowqueries', 'mysql_bytes', 'mysql_threads' ]:
    ensure => present,
    config => "user root",
  }

  # 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",
  }
}