view modules/website/manifests/http.pp @ 12:72466547cc79

Update HTTP website manifest so that it works, since we're now hosting a HTTP site
author IBBoard <dev@ibboard.co.uk>
date Mon, 01 Dec 2014 20:27:38 +0000
parents 956e484adc12
children d2b4750e843a
line wrap: on
line source

define website::http(
    $docroot            = undef,
    $docroot_owner      = 'root',
    $docroot_group      = 'root',
    $serveraliases      = [],
    $ensure             = 'present',
    $custom_fragment    = undef
  ) {
  validate_re($ensure, '^(present|absent)$',
  "${ensure} is not supported for ensure.
  Allowed values are 'present' and 'absent'.")

  if ! defined(Class['website']) {
    fail('You must include the website base class before using any website defined resources')
  }

  validate_re($ensure, '^(present|absent)$',
  "${ensure} is not supported for ensure.
  Allowed values are 'present' and 'absent'.")

  $shortname = domain_to_short_name($name)
  $logpart = $shortname

  if $docroot == undef {
    $siteroot = "${website::basedir}/${shortname}"
  } else {
    $siteroot = $docroot
  }

  apache::vhost { $name:
    port            => '80',
    docroot         => $siteroot,
    docroot_owner   => $docroot_owner,
    docroot_group   => $docroot_group,
    custom_fragment => $custom_fragment,
    logroot         => '/var/log/apache/',
    access_log_file => "access_${logpart}.log",
    serveraliases   => $serveraliases,
    ensure          => $ensure,
  }
}