diff options
| -rw-r--r-- | puppet/modules/site_apache/manifests/common.pp | 21 | ||||
| -rw-r--r-- | puppet/modules/site_apache/manifests/common/tls.pp | 6 | ||||
| -rw-r--r-- | puppet/modules/site_nagios/manifests/server.pp | 1 | ||||
| -rw-r--r-- | puppet/modules/site_static/manifests/init.pp | 13 | ||||
| -rw-r--r-- | puppet/modules/site_webapp/files/server-status.conf | 28 | ||||
| -rw-r--r-- | puppet/modules/site_webapp/manifests/apache.pp | 3 | ||||
| -rw-r--r-- | puppet/modules/site_webapp/manifests/common_vhost.pp | 18 | ||||
| -rw-r--r-- | puppet/modules/site_webapp/manifests/hidden_service.pp | 10 | 
8 files changed, 73 insertions, 27 deletions
| diff --git a/puppet/modules/site_apache/manifests/common.pp b/puppet/modules/site_apache/manifests/common.pp index 2b83ffa5..64beb231 100644 --- a/puppet/modules/site_apache/manifests/common.pp +++ b/puppet/modules/site_apache/manifests/common.pp @@ -1,27 +1,8 @@  class site_apache::common { -  # installs x509 cert + key and common config -  # that both nagios + leap webapp use - -  $web_domain       = hiera('domain') -  $domain_name      = $web_domain['name'] - -  include x509::variables -  include site_config::x509::commercial::cert -  include site_config::x509::commercial::key -  include site_config::x509::commercial::ca - -  Class['Site_config::X509::Commercial::Key'] ~> Service[apache] -  Class['Site_config::X509::Commercial::Cert'] ~> Service[apache] -  Class['Site_config::X509::Commercial::Ca'] ~> Service[apache]    include site_apache::module::rewrite    class { '::apache': no_default_site => true, ssl => true } -  apache::vhost::file { -    'common': -      content => template('site_apache/vhosts.d/common.conf.erb') -  } - -  apache::config::include{ 'ssl_common.inc': } +  include site_apache::common::tls  } diff --git a/puppet/modules/site_apache/manifests/common/tls.pp b/puppet/modules/site_apache/manifests/common/tls.pp new file mode 100644 index 00000000..040868bf --- /dev/null +++ b/puppet/modules/site_apache/manifests/common/tls.pp @@ -0,0 +1,6 @@ +class site_apache::common::tls { +  # class to setup common SSL configurations + +  apache::config::include{ 'ssl_common.inc': } + +} diff --git a/puppet/modules/site_nagios/manifests/server.pp b/puppet/modules/site_nagios/manifests/server.pp index cb6c8d95..60a471b7 100644 --- a/puppet/modules/site_nagios/manifests/server.pp +++ b/puppet/modules/site_nagios/manifests/server.pp @@ -32,6 +32,7 @@ class site_nagios::server inherits nagios::base {    }    include site_apache::common +  include site_webapp::common_vhost    include site_apache::module::headers    File ['nagios_htpasswd'] { diff --git a/puppet/modules/site_static/manifests/init.pp b/puppet/modules/site_static/manifests/init.pp index 1efc510b..f69ffba7 100644 --- a/puppet/modules/site_static/manifests/init.pp +++ b/puppet/modules/site_static/manifests/init.pp @@ -9,6 +9,7 @@ class site_static {    $domains       = $static['domains']    $formats       = $static['formats']    $bootstrap     = $static['bootstrap_files'] +  $tor           = hiera('tor', false)    if $bootstrap['enabled'] {      $bootstrap_domain  = $bootstrap['domain'] @@ -27,14 +28,11 @@ class site_static {      }    } -  class { '::apache': no_default_site => true, ssl => true }    include site_apache::module::headers    include site_apache::module::alias    include site_apache::module::expires    include site_apache::module::removeip -  include site_apache::module::rewrite -  apache::config::include{ 'ssl_common.inc': } - +  include site_apache::common    include site_config::ruby::dev    if (member($formats, 'rack')) { @@ -57,6 +55,13 @@ class site_static {    create_resources(site_static::domain, $domains) +  if $tor { +    $hidden_service = $tor['hidden_service'] +    if $hidden_service['active'] { +      include site_webapp::hidden_service +    } +  } +    include site_shorewall::defaults    include site_shorewall::service::http    include site_shorewall::service::https diff --git a/puppet/modules/site_webapp/files/server-status.conf b/puppet/modules/site_webapp/files/server-status.conf new file mode 100644 index 00000000..84cb9ae0 --- /dev/null +++ b/puppet/modules/site_webapp/files/server-status.conf @@ -0,0 +1,28 @@ +# Keep track of extended status information for each request +ExtendedStatus On + +# Determine if mod_status displays the first 63 characters of a request or +# the last 63, assuming the request itself is greater than 63 chars. +# Default: Off +#SeeRequestTail On + +Listen 127.0.0.1:8162 +NameVirtualHost 127.0.0.1:8162 + +<VirtualHost 127.0.0.1:8162> + +<Location /server-status> +    SetHandler server-status +    Order deny,allow +    Deny from all +    Allow from 127.0.0.1 +</Location> + +</VirtualHost> + + +<IfModule mod_proxy.c> +    # Show Proxy LoadBalancer status in mod_status +    ProxyStatus On +</IfModule> + diff --git a/puppet/modules/site_webapp/manifests/apache.pp b/puppet/modules/site_webapp/manifests/apache.pp index 93e172a0..ddd04a91 100644 --- a/puppet/modules/site_webapp/manifests/apache.pp +++ b/puppet/modules/site_webapp/manifests/apache.pp @@ -15,12 +15,13 @@ class site_webapp::apache {    include site_apache::module::alias    include site_apache::module::expires    include site_apache::module::removeip +  include site_webapp::common_vhost    class { 'passenger': use_munin => false }    apache::vhost::file {      'api': -      content => template('site_apache/vhosts.d/api.conf.erb') +      content => template('site_apache/vhosts.d/api.conf.erb');    }  } diff --git a/puppet/modules/site_webapp/manifests/common_vhost.pp b/puppet/modules/site_webapp/manifests/common_vhost.pp new file mode 100644 index 00000000..c57aad57 --- /dev/null +++ b/puppet/modules/site_webapp/manifests/common_vhost.pp @@ -0,0 +1,18 @@ +class site_webapp::common_vhost { +  # installs x509 cert + key and common config +  # that both nagios + leap webapp use + +  include x509::variables +  include site_config::x509::commercial::cert +  include site_config::x509::commercial::key +  include site_config::x509::commercial::ca + +  Class['Site_config::X509::Commercial::Key'] ~> Service[apache] +  Class['Site_config::X509::Commercial::Cert'] ~> Service[apache] +  Class['Site_config::X509::Commercial::Ca'] ~> Service[apache] + +  apache::vhost::file { +  'common': +    content => template('site_apache/vhosts.d/common.conf.erb') +  } +} diff --git a/puppet/modules/site_webapp/manifests/hidden_service.pp b/puppet/modules/site_webapp/manifests/hidden_service.pp index 16b6e2e7..99a756ca 100644 --- a/puppet/modules/site_webapp/manifests/hidden_service.pp +++ b/puppet/modules/site_webapp/manifests/hidden_service.pp @@ -32,12 +32,18 @@ class site_webapp::hidden_service {        owner   => 'debian-tor',        group   => 'debian-tor',        mode    => '0600'; + +    '/etc/apache2/mods-enabled/status.conf': +      ensure => absent, +      notify => Service['apache'];    }    apache::vhost::file {      'hidden_service': -      content => template('site_apache/vhosts.d/hidden_service.conf.erb') +      content => template('site_apache/vhosts.d/hidden_service.conf.erb'); +    'server_status': +      vhost_source => 'modules/site_webapp/server-status.conf';    }    include site_shorewall::tor -}
\ No newline at end of file +} | 
