2018-04-24 17:07:21 +02:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
<title>
|
|
|
|
|
File: README
|
|
|
|
|
|
2018-12-07 15:09:55 +01:00
|
|
|
— Documentation by YARD 0.9.16
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
</title>
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
|
|
|
pathId = "";
|
|
|
|
|
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="file_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</a> »
|
|
|
|
|
<span class="title">File: README</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"><div id='filecontents'>
|
2020-12-01 19:41:57 +01:00
|
|
|
<p><a href="https://pipelines.confdroid.com/job/cd_haproxy/"><img
|
2020-12-01 19:43:30 +01:00
|
|
|
src="https://pipelines.confdroid.com/buildStatus/icon?job=cd_haproxy"></a>|</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>[[<em>TOC</em>]]</p>
|
|
|
|
|
|
|
|
|
|
<h1 id="label-Synopsis">Synopsis</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p><code>HA Proxy</code> is a very powerful and popular open source load
|
2021-01-02 22:35:04 +01:00
|
|
|
balancer to balance incoming requests between multiple instances of web-,
|
2018-04-24 17:07:21 +02:00
|
|
|
application- or database servers etc.</p>
|
|
|
|
|
|
|
|
|
|
<p><code>cd_haproxy</code> automates installation and configuration of
|
|
|
|
|
<code>HA proxy</code> including self-healing, monitoring and firewall etc.</p>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-WARNING">WARNING</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p><code>**__!!! Attention: Never use this puppet module on systems which have
|
|
|
|
|
been previously configured manually. It is impossible to predict how and
|
2021-01-02 22:35:04 +01:00
|
|
|
what would have been configured, hence previous configurations outside the
|
2018-04-24 17:07:21 +02:00
|
|
|
scope of this module may be overwritten! Automated configurations require a
|
|
|
|
|
test environment to verify that the module suits the purpose intended by
|
|
|
|
|
the user, as well as tune the parameters, before deploying into live
|
|
|
|
|
production!!! __**</code></p>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Features">Features</h1>
|
|
|
|
|
|
|
|
|
|
<p>INSTALLATION</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
<ul><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>install rpm binaries</p>
|
|
|
|
|
</li></ul>
|
|
|
|
|
|
|
|
|
|
<p>CONFIGURATION</p>
|
|
|
|
|
<ul><li>
|
|
|
|
|
<p>manage haproxy user</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>manage directories (file system permissions, selinux context)</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>manage files (file system permissions, content, selinux context)</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>manage proxy instances through a define</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>frontend options</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>backend options</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>ACL options</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li></ul>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>SERVICE</p>
|
|
|
|
|
<ul><li>
|
|
|
|
|
<p>manage haproxy service</p>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p>restart service after changes in the configuration</p>
|
|
|
|
|
</li></ul>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Puppet+Documentation"><a href="docs/index.html">Puppet Documentation</a></h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Dependencies">Dependencies</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p>All dependencies must be included in the catalogue.</p>
|
|
|
|
|
<ul><li>
|
|
|
|
|
<p><a
|
2021-01-02 22:35:04 +01:00
|
|
|
href="https://gitlab.confdroid.com/12WW1160/cd_resources">cd_resources</a>
|
2018-04-24 17:07:21 +02:00
|
|
|
for managing yum base repos</p>
|
|
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p><a href="https://gitlab.confdroid.com/12ww1160/cd_concat">cd_concat</a> or
|
|
|
|
|
<a href="https://github.com/puppetlabs/puppetlabs-concat">concat</a> for
|
2018-12-10 15:58:34 +01:00
|
|
|
managing file fragments</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li></ul>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Deployment">Deployment</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h2 id="label-native+Puppet+deployment">native Puppet deployment</h2>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p>via site.pp or nodes.pp</p>
|
|
|
|
|
|
|
|
|
|
<pre class="code ruby"><code class="ruby">node 'example.example.net' {
|
|
|
|
|
include cd_haproxy
|
|
|
|
|
}</code></pre>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h2 id="label-through+Foreman">through Foreman</h2>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>Add params.pp to the host or hostgroup.</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p>See <a
|
2021-01-02 22:35:04 +01:00
|
|
|
href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">details</a>.</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Documentation">Documentation</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h2 id="label-Parameters">Parameters</h2>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>The parameters are defined and described in <code>params.pp</code>. The
|
|
|
|
|
documentation is provided via <code>puppet strings</code> in HTML format,
|
|
|
|
|
please see <code>doc/index.html</code> via web browser.</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Proxy+Configuration">Proxy Configuration</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h2 id="label-Via+Define">Via Define</h2>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>The proxy instances are configured in
|
|
|
|
|
<code>/etc/haproxy/haproxy.cfg</code>, which is concatenated from various
|
|
|
|
|
templates through a define in this puppet module. In order to create proxy
|
|
|
|
|
instances, you will need an external class, which addresses the define,
|
|
|
|
|
like so:</p>
|
2018-12-30 15:19:18 +01:00
|
|
|
|
|
|
|
|
<pre class="code ruby"><code class="ruby">cd_haproxy::server::proxy { 'testing':
|
2018-12-30 18:32:21 +01:00
|
|
|
haproxy_fqdn => 'node.example.net',
|
2018-12-30 15:19:18 +01:00
|
|
|
frontend_name => 'test01-frontend',
|
2018-12-30 17:13:15 +01:00
|
|
|
frontend_mode => 'http',
|
2018-12-30 17:17:56 +01:00
|
|
|
acl_rule => ['too_fast fe_sess_rate ge 10',
|
2018-12-30 17:13:15 +01:00
|
|
|
'network_allowed src 0.0.0.0/0'],
|
2018-12-30 15:19:18 +01:00
|
|
|
backend_name => 'test01-backend',
|
|
|
|
|
}</code></pre>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>This class should be placed in an internal configuration repo specific to
|
|
|
|
|
your environment.</p>
|
2018-12-30 15:19:18 +01:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-SELINUX">SELINUX</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p>All files and directories are configured with correct selinux context. If
|
|
|
|
|
selinux is disabled, these contexts are ignored.</p>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Known+Problems">Known Problems</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Support">Support</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
<ul><li>
|
2018-12-10 14:39:32 +01:00
|
|
|
<p>OS: CentOS 7</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2018-12-10 14:39:32 +01:00
|
|
|
<p>Puppet 5.x</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li></ul>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Tests">Tests</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
<ul><li>
|
|
|
|
|
<p>Puppet Lint</p>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p>excluded tests:</p>
|
|
|
|
|
<ul><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p><code>--no-class_inherits_from_params_class-check</code>:relevant only to
|
2018-04-24 17:07:21 +02:00
|
|
|
non-supported outdated puppet versions</p>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p><code>--no-variable_scope-check</code>: not applicable as we are inheriting
|
2021-01-02 22:35:04 +01:00
|
|
|
parameters from the params class. the lint check does not distinguish
|
|
|
|
|
between facts and inherited parameters.</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p><code>--no-80chars-check</code>: it is not always possible to stay within
|
|
|
|
|
80 characters, although typically only occurring on the parameter vault
|
2018-04-24 17:07:21 +02:00
|
|
|
<code>params.pp</code>.</p>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p><code>--no-arrow_alignment-check</code>: this check leads to actually not
|
2021-01-02 22:35:04 +01:00
|
|
|
having easily readable arrow alignments, as this checks <code>per
|
|
|
|
|
block</code>, not per class.</p>
|
2018-04-24 17:07:21 +02:00
|
|
|
</li></ul>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p>Puppet Parser</p>
|
|
|
|
|
</li><li>
|
|
|
|
|
<p>ERB Template Parser</p>
|
|
|
|
|
</li><li>
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>Test for unwanted UTF8 files</p>
|
|
|
|
|
</li></ul>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Contact+Us">Contact Us</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
|
|
|
|
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
|
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<h1 id="label-Disclaimer">Disclaimer</h1>
|
2018-04-24 17:07:21 +02:00
|
|
|
|
2021-01-02 22:35:04 +01:00
|
|
|
<p>ConfDroid as entity is independent from Puppet. We provide custom
|
2018-04-24 17:07:21 +02:00
|
|
|
configuration modules, written for specific purposes and specific
|
2018-12-07 15:09:55 +01:00
|
|
|
environments. The modules are tested and supported only as documented, and
|
2018-04-24 17:07:21 +02:00
|
|
|
require testing in designated environments (i.e. lab or development
|
|
|
|
|
environments) for parameter tuning etc. before deploying into production
|
|
|
|
|
environments.</p>
|
|
|
|
|
</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>
|