File: proxy.pp

package info (click to toggle)
puppet-module-puppetlabs-apache 12.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,664 kB
  • sloc: ruby: 275; sh: 32; makefile: 2
file content (56 lines) | stat: -rw-r--r-- 1,699 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# @summary
#   Installs and configures `mod_proxy`.
#
# @param proxy_requests
#   Enables forward (standard) proxy requests.
#
# @param allow_from
#   IP address or list of IPs allowed to access proxy.
#
# @param package_name
#   Name of the proxy package to install.
#
# @param proxy_via
#   Set local IP address for outgoing proxy connections.
#
# @param proxy_timeout
#   Network timeout for proxied requests.
#
# @param proxy_iobuffersize
#   Set the size of internal data throughput buffer
#
# @see https://httpd.apache.org/docs/current/mod/mod_proxy.html for additional documentation.
#
class apache::mod::proxy (
  String $proxy_requests                    = 'Off',
  Optional[Variant[Stdlib::IP::Address, Array[Stdlib::IP::Address]]] $allow_from = undef,
  Optional[String] $package_name            = undef,
  String $proxy_via                         = 'On',
  Optional[Integer[0]] $proxy_timeout       = undef,
  Optional[String] $proxy_iobuffersize      = undef,
) {
  include apache
  $_proxy_timeout = $apache::timeout
  ::apache::mod { 'proxy':
    package => $package_name,
  }

  $parameters = {
    'proxy_requests'      => $proxy_requests,
    'allow_from'          => $allow_from,
    'proxy_via'           => $proxy_via,
    'proxy_timeout'       => $proxy_timeout,
    'proxy_iobuffersize'  => $proxy_iobuffersize,
  }

  # Template uses $proxy_requests
  file { 'proxy.conf':
    ensure  => file,
    path    => "${apache::mod_dir}/proxy.conf",
    mode    => $apache::file_mode,
    content => epp('apache/mod/proxy.conf.epp', $parameters),
    require => Exec["mkdir ${apache::mod_dir}"],
    before  => File[$apache::mod_dir],
    notify  => Class['apache::service'],
  }
}