
Why this needed to be a linter rule I do not know. Change-Id: I27ba74c6060c9d2ad09b52bc38090ff9c1f83721
77 lines
1.9 KiB
Puppet
77 lines
1.9 KiB
Puppet
# Define: httpd::vhost::proxy
|
|
#
|
|
# Configures an apache vhost that will only proxy requests
|
|
#
|
|
# Parameters:
|
|
# * $port:
|
|
# The port on which the vhost will respond
|
|
# * $dest:
|
|
# URI that the requests will be proxied for
|
|
# - $priority
|
|
# - $template -- the template to use for the vhost
|
|
# - $vhost_name - the name to use for the vhost, defaults to '*'
|
|
#
|
|
# Actions:
|
|
# * Install Apache Virtual Host
|
|
#
|
|
# Requires:
|
|
#
|
|
# Sample Usage:
|
|
#
|
|
define httpd::vhost::proxy (
|
|
$dest,
|
|
$port,
|
|
$docroot = undef,
|
|
$priority = '10',
|
|
$proxyexclusions = undef,
|
|
$serveraliases = undef,
|
|
$servername = undef,
|
|
$ssl = false,
|
|
$template = 'httpd/vhost-proxy.conf.erb',
|
|
$vhost_name = '*',
|
|
) {
|
|
|
|
include httpd
|
|
|
|
$apache_name = $httpd::params::apache_name
|
|
$ssl_path = $httpd::params::ssl_path
|
|
if $servername == undef {
|
|
$srvname = $name
|
|
} else {
|
|
$srvname = $servername
|
|
}
|
|
|
|
if $ssl == true {
|
|
include httpd::ssl
|
|
}
|
|
|
|
# The Apache mod_version module only needs to be enabled on Ubuntu 12.04
|
|
# as it comes compiled and enabled by default on newer OS, including CentOS
|
|
if !defined(Httpd::Mod['version']) and $::operatingsystem == 'Ubuntu' and $::operatingsystemrelease == '12.04' {
|
|
httpd::mod { 'version': ensure => present }
|
|
}
|
|
|
|
file { "${priority}-${name}":
|
|
ensure => absent,
|
|
path => "${httpd::params::vdir}/${priority}-${name}",
|
|
}
|
|
|
|
file { "${priority}-${name}.conf":
|
|
path => "${httpd::params::vdir}/${priority}-${name}.conf",
|
|
content => template($template),
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0755',
|
|
require => Package['httpd'],
|
|
notify => Service['httpd'],
|
|
}
|
|
|
|
# enable that setting, that allows httpd scripts and
|
|
# modules to connect to the network
|
|
if $::osfamily == 'RedHat' {
|
|
selinux::boolean { 'httpd_can_network_connect':
|
|
ensure => 'on',
|
|
}
|
|
}
|
|
}
|