- '2a01:3f0:0:28::25'
postgres::backup_cluster::db_backup_role: 'debian-backup'
postgres::backup_server::globals::backup_unix_user: 'debbackup'
+webserver::defaultpage::defaultdomain: 'default.debian.org'
# bacula
#
bacula::email_all: 'bacula-reports@admin.debian.org'
class apache2::auth_digest {
- apache2::module { 'auth_digest': }
+ include apache2::module::auth_digest
}
class apache2::authn_anon {
- apache2::module { 'authn_anon': }
+ include apache2::module::authn_anon
}
class apache2::authn_file {
- apache2::module { 'authn_file': }
+ include apache2::module::authn_file
}
+# Install and enable (or disable) an apache config snippet
+#
+# @param source source of the apache conf file
+# @param content content of the apache conf file
+# @param ensure present or absent
define apache2::config (
- $source=undef,
- $content=undef,
- $nocontentok=undef,
- $ensure=present
+ Optional[String] $source = undef,
+ Optional[String] $content = undef,
+ Enum['present','absent'] $ensure = 'present',
) {
+ include apache2
- include apache2
+ case $ensure {
+ present: {
+ if ! ($source or $content) {
+ fail ( "No configuration found for ${name}" )
+ }
+ }
+ absent: {}
+ default: { fail ( "Unknown ensure value: ${ensure}" ) }
+ }
- case $ensure {
- present: {
- if ! ($source or $content or $nocontentok) {
- fail ( "No configuration found for ${name}" )
- }
+ file { "/etc/apache2/conf-available/${name}.conf":
+ ensure => $ensure,
+ content => $content,
+ source => $source,
+ require => Package['apache2'],
+ notify => Exec['service apache2 reload'],
+ }
- if $content {
- file { "/etc/apache2/conf-available/${name}.conf":
- ensure => $ensure,
- content => $content,
- require => Package['apache2'],
- notify => Exec['service apache2 reload'],
- }
- } elsif $source {
- file { "/etc/apache2/conf-available/${name}.conf":
- ensure => $ensure,
- source => $source,
- require => Package['apache2'],
- notify => Exec['service apache2 reload'],
- }
- }
- }
- absent: {
- file { "/etc/apache2/conf-available/${name}.conf":
- ensure => $ensure,
- require => Package['apache2'],
- notify => Exec['service apache2 reload'],
- }
- }
- default: { fail ( "Unknown ensure value: '$ensure'" ) }
- }
- $link_ensure = $ensure ? {
- present => link,
- absent => absent
- }
+ $link_ensure = $ensure ? {
+ present => link,
+ absent => absent
+ }
- file { "/etc/apache2/conf-enabled/${name}.conf":
- ensure => $link_ensure,
- target => "../conf-available/${name}.conf",
- notify => Exec['service apache2 reload'],
- }
+ file { "/etc/apache2/conf-enabled/${name}.conf":
+ ensure => $link_ensure,
+ target => "../conf-available/${name}.conf",
+ notify => Exec['service apache2 reload'],
+ }
}
class apache2::expires {
- apache2::module { 'expires': }
+ include apache2::module::expires
}
-define apache2::module ($ensure = present) {
- case $ensure {
- present: {
- exec { "/usr/sbin/a2enmod ${name}":
- creates => "/etc/apache2/mods-enabled/${name}.load",
- require => Package['apache2'],
- notify => Service['apache2']
- }
- }
- absent: {
- exec { "/usr/sbin/a2dismod ${name}":
- onlyif => "test -L /etc/apache2/mods-enabled/${name}.load",
- require => Package['apache2'],
- notify => Service['apache2']
- }
- }
- default: { fail ( "Unknown ensure value: '$ensure'" ) }
- }
+# Enable an apache module
+#
+# @param ensure present or absent
+define apache2::module (
+ Enum['present','absent'] $ensure = 'present',
+) {
+ case $ensure {
+ present: {
+ exec { "/usr/sbin/a2enmod ${name}":
+ creates => "/etc/apache2/mods-enabled/${name}.load",
+ require => Package['apache2'],
+ notify => Service['apache2'],
+ }
+ }
+ absent: {
+ exec { "/usr/sbin/a2dismod ${name}":
+ onlyif => "test -L /etc/apache2/mods-enabled/${name}.load",
+ require => Package['apache2'],
+ notify => Service['apache2'],
+ }
+ }
+ default: { fail ( "Unknown ensure value: ${ensure}" ) }
+ }
}
--- /dev/null
+class apache2::module::auth_digest {
+ apache2::module { 'auth_digest': }
+}
--- /dev/null
+class apache2::module::authn_anon {
+ apache2::module { 'authn_anon': }
+}
--- /dev/null
+class apache2::module::authn_file {
+ apache2::module { 'authn_file': }
+}
--- /dev/null
+class apache2::module::expires {
+ apache2::module { 'expires': }
+}
--- /dev/null
+class apache2::module::proxy_http {
+ apache2::module { 'proxy_http': }
+}
--- /dev/null
+class apache2::module::rewrite {
+ apache2::module { 'rewrite': }
+}
--- /dev/null
+class apache2::module::ssl {
+ apache2::module { 'ssl': }
+}
class apache2::proxy_http {
- apache2::module { 'proxy_http': }
+ include apache2::module::proxy_http
}
class apache2::rewrite {
- apache2::module { 'rewrite': }
+ include apache2::module::rewrite
}
+# Install and enable an apache site
+#
+# @param source source of the apache vhost file
+# @param content content of the apache vhost file
+# @param ensure present or absent
+# @param site site name
define apache2::site (
- $source=undef,
- $content=undef,
- $ensure=present,
- $site=undef
+ Optional[String] $source = undef,
+ Optional[String] $content = undef,
+ Enum['present','absent'] $ensure = 'present',
+ String $site = $name
) {
-
- include apache2
-
- case $ensure {
- present: {
- if ! ($source or $content) {
- fail ( "No configuration found for ${name}" )
- }
- }
- absent: {}
- default: { fail ( "Unknown ensure value: '$ensure'" ) }
- }
-
- if $site {
- $base = $site
- } else {
- $base = $name
- }
-
- $target = "/etc/apache2/sites-available/${base}"
-
- $link_target = $ensure ? {
- present => $target,
- absent => absent
- }
-
- if $content {
- file { $target:
- ensure => $ensure,
- content => $content,
- require => Package['apache2'],
- notify => Exec['service apache2 reload'],
- }
- } else {
- file { $target:
- ensure => $ensure,
- source => $source,
- require => Package['apache2'],
- notify => Exec['service apache2 reload'],
- }
- }
-
- $symlink = "/etc/apache2/sites-enabled/${name}.conf"
-
- file { "/etc/apache2/sites-enabled/${name}":
- ensure => absent,
- notify => Exec['service apache2 reload'],
- }
-
- if $ensure == present {
- file { $symlink:
- ensure => link,
- target => $link_target,
- notify => Exec['service apache2 reload'],
- }
- } else {
- file { $symlink:
- ensure => absent,
- notify => Exec['service apache2 reload'],
- }
- }
+ include apache2
+
+ if $ensure == 'present' {
+ if ! ($source or $content) {
+ fail ( "No configuration (source or content) found for ${name}" )
+ }
+ }
+
+ $target = "/etc/apache2/sites-available/${site}"
+ $symlink = "/etc/apache2/sites-enabled/${name}.conf"
+ $link_ensure = $ensure ? {
+ present => link,
+ absent => absent,
+ }
+
+ file { $target:
+ ensure => $ensure,
+ content => $content,
+ source => $source,
+ require => Package['apache2'],
+ notify => Exec['service apache2 reload'],
+ }
+ file { $symlink:
+ ensure => $link_ensure,
+ target => $target,
+ notify => Exec['service apache2 reload'],
+ }
}
class apache2::ssl {
- apache2::module { 'ssl': }
+ include apache2::module::ssl
}
+# Install default website content
#
-class webserver::defaultpage {
- file { [ '/srv/www', '/srv/www/default.debian.org', '/srv/www/default.debian.org/htdocs', '/srv/www/default.debian.org/htdocs-disabled' ]:
- ensure => directory,
- mode => '0755',
- }
+# @param defaultdomain domain name of the default page, to create directory under /srv/www
+class webserver::defaultpage (
+ String $defaultdomain,
+) {
+ file { [ '/srv/www', "/srv/www/${defaultdomain}", "/srv/www/${defaultdomain}/htdocs", "/srv/www/${defaultdomain}/htdocs-disabled" ]:
+ ensure => directory,
+ mode => '0755',
+ }
- file { '/srv/www/default.debian.org/htdocs/index.html':
- content => template('webserver/default-index.html'),
- }
+ file { "/srv/www/${defaultdomain}/htdocs/index.html":
+ content => template('webserver/default-index.html'),
+ }
- file { '/srv/www/default.debian.org/htdocs-disabled/index.html':
- content => template('webserver/disabled-index.html'),
- }
+ file { "/srv/www/${defaultdomain}/htdocs-disabled/index.html":
+ content => template('webserver/disabled-index.html'),
+ }
}
+# base webserver class. Currently only ships a default page
#
class webserver {
- include webserver::defaultpage
+ include webserver::defaultpage
}