Files
confdroid_apache/doc/puppet_classes/confdroid_apache_3A_3Aparams.html

573 lines
14 KiB
HTML
Raw Normal View History

2026-02-03 00:55:05 +01:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_apache::params
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_apache::params";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_apache::params</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_apache::params</h1>
<div class="box_info">
<dl>
<dt>Inherited by:</dt>
<dd>
<span class='object_link'><a href="confdroid_apache_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_apache::main::config (puppet_class)">confdroid_apache::main::config</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Aserver_3A_3Adirs.html" title="puppet_classes::confdroid_apache::server::dirs (puppet_class)">confdroid_apache::server::dirs</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Aserver_3A_3Afiles.html" title="puppet_classes::confdroid_apache::server::files (puppet_class)">confdroid_apache::server::files</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Aserver_3A_3Ainstall.html" title="puppet_classes::confdroid_apache::server::install (puppet_class)">confdroid_apache::server::install</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Aserver_3A_3Aservice.html" title="puppet_classes::confdroid_apache::server::service (puppet_class)">confdroid_apache::server::service</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_apache::firewall::iptables (puppet_class)">confdroid_apache::firewall::iptables</a></span><br/>
<span class='object_link'><a href="confdroid_apache_3A_3Amonitoring_3A_3Atarget.html" title="puppet_classes::confdroid_apache::monitoring::target (puppet_class)">confdroid_apache::monitoring::target</a></span><br/>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/params.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
This class holds all parameters for the confdroid_apache module, which are
inherited by all classes except defines.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_apache::params.pp Module name: confdroid_apache Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>pkg_ensure</span>
<span class='type'>(<tt>String</tt>)</span>
2026-02-03 01:16:33 +01:00
<em class="default">(defaults to: <tt>&#39;present&#39;</tt>)</em>
2026-02-03 00:55:05 +01:00
&mdash;
<div class='inline'>
2026-02-03 01:16:33 +01:00
<p>Specify which package type to use, i.e. <code>latest</code>, <code>present</code> or <code>absent</code>.</p>
2026-02-03 00:55:05 +01:00
</div>
</li>
<li>
<span class='name'>ae_manage_cfg</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>false</tt>)</em>
&mdash;
<div class='inline'>
<p>Whether or not to manage the httpd configuration. httpd is very often a sub system used by many other services, and the required configuration depends on the use case. If using httpd as sub-service ( i.e. for phpmyadmin, Nagios etc.), the main configuration should be done on that end, not in confdroid_apache. IN that case, set <code>ae_manage_cfg</code> to <code>false</code>.</p>
</div>
</li>
<li>
<span class='name'>ae_manage_dirs</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>true</tt>)</em>
&mdash;
<div class='inline'>
<p>Whether or not main directories required to run httpd should be managed. Typically this should be set to true.</p>
</div>
</li>
<li>
<span class='name'>ae_allow_user_dirs</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>false</tt>)</em>
&mdash;
<div class='inline'>
<p>Whether or not to allow user directories should be allowed to share content through httpd. Usually this is a security problem and as such should be disabled.</p>
</div>
</li>
<li>
<span class='name'>ae_incl_target</span>
<span class='type'>(<tt>Boolean</tt>)</span>
2026-03-13 10:52:07 +01:00
<em class="default">(defaults to: <tt>true</tt>)</em>
2026-02-03 00:55:05 +01:00
&mdash;
<div class='inline'>
<p>whether or not to allow nagios monitoring.</p>
</div>
</li>
<li>
<span class='name'>ae_order_no</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;50&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the order number for the firewall rules</p>
</div>
</li>
<li>
<span class='name'>ae_http_port</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;80&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the port to use for the http protocol</p>
</div>
</li>
<li>
<span class='name'>ae_https_port</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;443&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the port to use for the https protocol</p>
</div>
</li>
<li>
<span class='name'>ae_target_service</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;/etc/nagios/conf.d/httpd_service.cfg&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>which service to monitor with nagios</p>
</div>
</li>
2026-03-10 12:22:21 +01:00
<li>
<span class='name'>ae_target_contacts</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;nagiosadmin&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>which contacts to notify for nagios alerts</p>
</div>
</li>
2026-02-03 00:55:05 +01:00
<li>
<span class='name'>ae_manage_fw</span>
<span class='type'>(<tt>Boolean</tt>)</span>
2026-02-14 20:16:42 +01:00
<em class="default">(defaults to: <tt>true</tt>)</em>
2026-02-03 00:55:05 +01:00
&mdash;
<div class='inline'>
<p>whether to manage firewall settings</p>
</div>
</li>
<li>
<span class='name'>reqpackages</span>
2026-02-03 01:16:33 +01:00
<span class='type'>(<tt>Array</tt>)</span>
2026-02-03 00:55:05 +01:00
<em class="default">(defaults to: <tt>[&#39;httpd&#39;,&#39;mod_ssl&#39;]</tt>)</em>
&mdash;
<div class='inline'>
<p>List of packages to install.</p>
2026-03-14 13:20:36 +01:00
</div>
</li>
<li>
<span class='name'>ae_use_lb</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>false</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to use load balancer or not. If true, a configuration file will be created to allow reading the client ips from the X-Forwarded-For header, and the httpd service will be restarted to apply the changes. This is required when using httpd behind a load balancer like haproxy, otherwise all client ips will be logged as the load balancer ip.</p>
</div>
</li>
<li>
<span class='name'>ae_trusted_proxy</span>
2026-03-14 15:10:51 +01:00
<span class='type'>(<tt>Array</tt>)</span>
<em class="default">(defaults to: <tt>[&#39;127.0.0.1&#39;,&#39;10.0.1.0/24&#39;]</tt>)</em>
&mdash;
<div class='inline'>
<p>the IP addresses of the trusted proxies, i.e. the load balancers. This is required when <code>ae_use_lb</code> is set to true, and defaults to [127.0.0.1,10.0.1.0/24].</p>
</div>
</li>
<li>
<span class='name'>ae_internal_proxy</span>
<span class='type'>(<tt>Array</tt>)</span>
2026-03-14 13:20:36 +01:00
2026-03-14 15:10:51 +01:00
<em class="default">(defaults to: <tt>[&#39;127.0.0.1&#39;,&#39;10.0.1.0/24&#39;]</tt>)</em>
2026-03-14 13:20:36 +01:00
&mdash;
<div class='inline'>
2026-03-14 15:10:51 +01:00
<p>the IP addresses of the internal proxies, i.e. the internal load balancers. This is required when <code>ae_use_lb</code> is set to true, and defaults to [127.0.0.1].</p>
2026-03-14 15:15:28 +01:00
</div>
</li>
<li>
<span class='name'>ae_remoteip_header</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;X-Forwarded-For&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the header to use for the remote ip, typically <code>X-Forwarded-For</code>. This is required when <code>ae_use_lb</code> is set to true, and defaults to <code>X-Forwarded-For</code>.</p>
2026-02-03 00:55:05 +01:00
</div>
</li>
</ul>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
2026-03-14 13:20:36 +01:00
43
44
45
46
2026-02-03 00:55:05 +01:00
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
2026-02-03 01:29:37 +01:00
102
103
104
105
2026-03-14 15:10:51 +01:00
106
107
108
109
2026-03-14 15:15:28 +01:00
110
111
112
113
114</pre>
2026-02-03 00:55:05 +01:00
</td>
<td>
2026-03-14 15:15:28 +01:00
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 43</span>
2026-02-03 00:55:05 +01:00
class confdroid_apache::params (
# installation
2026-03-10 12:22:21 +01:00
String $pkg_ensure = &#39;present&#39;,
Array $reqpackages = [&#39;httpd&#39;,&#39;mod_ssl&#39;],
2026-02-03 00:55:05 +01:00
# configuration files
Boolean $ae_manage_cfg = false,
Boolean $ae_manage_dirs = true,
Boolean $ae_allow_user_dirs = false,
# nagios
2026-03-13 10:52:07 +01:00
Boolean $ae_incl_target = true,
2026-03-10 12:22:21 +01:00
String $ae_target_service = &#39;/etc/nagios/conf.d/httpd_service.cfg&#39;,
String $ae_target_contacts = &#39;nagiosadmin&#39;,
2026-02-03 00:55:05 +01:00
# firewall
2026-02-14 20:16:42 +01:00
Boolean $ae_manage_fw = true,
2026-03-10 12:22:21 +01:00
String $ae_order_no = &#39;50&#39;,
String $ae_http_port = &#39;80&#39;,
String $ae_https_port = &#39;443&#39;,
2026-02-03 00:55:05 +01:00
2026-03-14 13:20:36 +01:00
# loadbalancer
Boolean $ae_use_lb = false,
2026-03-14 15:10:51 +01:00
Array $ae_trusted_proxy = [&#39;127.0.0.1&#39;,&#39;10.0.1.0/24&#39;],
Array $ae_internal_proxy = [&#39;127.0.0.1&#39;,&#39;10.0.1.0/24&#39;],
2026-03-14 15:28:13 +01:00
String $ae_remoteip_header = &#39;X-Forwarded-For&#39;,
2026-03-14 13:20:36 +01:00
2026-02-03 00:55:05 +01:00
) {
2026-02-03 01:29:37 +01:00
# facts
$fqdn = $facts[&#39;networking&#39;][&#39;fqdn&#39;]
$domain = $facts[&#39;networking&#39;][&#39;domain&#39;]
$os_name = $facts[&#39;os&#39;][&#39;name&#39;]
$os_release = $facts[&#39;os&#39;][&#39;release&#39;][&#39;major&#39;]
2026-02-03 00:55:05 +01:00
# service
$ae_service = &#39;httpd&#39;
# directories
$ae_main_dir = &#39;/etc/httpd&#39;
$ae_conf_dir = &quot;${ae_main_dir}/conf&quot;
$ae_conf_d_dir = &quot;${ae_main_dir}/conf.d&quot;
$ae_conf_mods_d = &quot;${ae_main_dir}/conf.modules.d&quot;
$ae_var_logs_dir = &#39;/var/log/httpd&#39;
$ae_logs_dir = &quot;${ae_main_dir}/logs&quot;
$ae_usr_lib_dir = &#39;/usr/lib64/httpd&#39;
$ae_usr_mods_dir = &quot;${ae_usr_lib_dir}/modules&quot;
$ae_mods_dir = &quot;${ae_main_dir}/modules&quot;
$ae_run_dir = &#39;/run/httpd&#39;
$ae_run_link = &quot;${ae_main_dir}/run&quot;
$ae_share_httpd = &#39;/usr/share/httpd&#39;
$ae_cache_httpd = &#39;/var/cache/httpd&#39;
# files
$ae_conf_file = &quot;${ae_conf_dir}/httpd.conf&quot;
$ae_conf_file_erb = &#39;confdroid_apache/httpd_conf.erb&#39;
$ae_magic_file = &quot;${ae_conf_dir}/magic&quot;
$ae_magic_file_erb = &#39;confdroid_apache/magic.erb&#39;
$ae_ssl_file = &quot;${ae_conf_d_dir}/ssl.conf&quot;
$ae_ssl_file_erb = &#39;confdroid_apache/ssl_conf.erb&#39;
$ae_autoindex_file = &quot;${ae_conf_d_dir}/autoindex.conf&quot;
$ae_autoindex_erb = &#39;confdroid_apache/autoindex_conf.erb&#39;
$ae_userdir_file = &quot;${ae_conf_d_dir}/userdir.conf&quot;
$ae_userdir_erb = &#39;confdroid_apache/userdir_conf.erb&#39;
$ae_index_file = &#39;/var/www/html/index.html&#39;
$ae_index_erb = &#39;confdroid_apache/index_html.erb&#39;
2026-03-14 13:20:36 +01:00
$ae_remoteip_file = &#39;/etc/httpd/conf.d/loadbalancer-remoteip.conf&#39;
2026-03-14 13:33:50 +01:00
$ae_remoteip_erb = &#39;confdroid_apache/loadbalancer/remoteip.conf.erb&#39;
2026-02-03 00:55:05 +01:00
# includes must be last
include confdroid_apache::main::config
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>