recommit for updates in build 107

This commit is contained in:
Jenkins ConfDroid
2021-01-02 22:35:04 +01:00
parent cc24e6b869
commit 5117acd7c3
4 changed files with 154 additions and 226 deletions

View File

@@ -61,98 +61,76 @@
<p><a href="https://pipelines.confdroid.com/job/cd_haproxy/"><img
src="https://pipelines.confdroid.com/buildStatus/icon?job=cd_haproxy"></a>|</p>
<h3 id="label-Synopsis">Synopsis</h3>
<p>[[<em>TOC</em>]]</p>
<h1 id="label-Synopsis">Synopsis</h1>
<p><code>HA Proxy</code> is a very powerful and popular open source load
balanacer to balance incoming requests between multiple instances of web-,
balancer to balance incoming requests between multiple instances of web-,
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>
<h3 id="label-WARNING">WARNING</h3>
<h1 id="label-WARNING">WARNING</h1>
<p><code>**__!!! Attention: Never use this puppet module on systems which have
been previously configured manually. It is impossible to predict how and
what would have been configured, hence previuos configurations outside the
what would have been configured, hence previous configurations outside the
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>
<h3 id="label-Table+of+Contents">Table of Contents</h3>
<h1 id="label-Features">Features</h1>
<p>INSTALLATION</p>
<ul><li>
<p><a href="#label-Features">Features</a></p>
</li><li>
<p><a
href="https://gitlab.confdroid.com/12WW1160/cd_haproxy/blob/master/REPOSTRUCTURE.md">Repo
Structure</a></p>
</li><li>
<p><a href="#label-Repo+documentation"> Repo Documentation</a></p>
</li><li>
<p><a href="#label-Dependencies">Dependencies</a></p>
</li><li>
<p><a href="#label-Deployment">Deployment</a></p>
</li><li>
<p><a href="#label-Native+puppet+deployment">native Puppet deployment</a></p>
</li><li>
<p><a href="#label-Through+foreman">through Foreman</a></p>
</li><li>
<p><a href="#label-Parameters">Parameters</a></p>
</li><li>
<p><a href="#label-Mandatory+parameters">Mandatory Parameters</a></p>
</li><li>
<p><a href="#label-Optional+parameters">Optional Parameters</a></p>
</li><li>
<p><a href="#label-Selinux">SELINUX</a></p>
</li><li>
<p><a href="#label-Known+problems">Known Problems</a></p>
</li><li>
<p><a href="#label-Support">Support</a></p>
</li><li>
<p><a href="#label-Tests">Tests</a></p>
</li><li>
<p><a href="https://confdroid.com/contact/">Contact Us</a></p>
</li><li>
<p><a href="#label-Disclaimer">Disclaimer</a></p>
<p>install rpm binaries</p>
</li></ul>
<h3 id="label-Features">Features</h3>
<p>CONFIGURATION</p>
<ul><li>
<p>manage haproxy user</p>
</li><li>
<p>manage directories (file system permissions, selinux context)</p>
</li><li>
<p>manage files (file system permissions, content, selinux context)</p>
</li><li>
<p>manage proxy instances through a define</p>
</li><li>
<p>frontend options</p>
</li><li>
<p>backend options</p>
</li><li>
<p>ACL options</p>
</li></ul>
<p>INSTALLATION * install rpm binaries</p>
<p>SERVICE</p>
<ul><li>
<p>manage haproxy service</p>
</li><li>
<p>restart service after changes in the configuration</p>
</li></ul>
<p>CONFIGURATION * manage haproxy user * manage directories (file system
permissions, selinux context) * manage files (file system permissions,
content, selinux context) * manage proxy instances through a define *
frontend options * backend options * ACL options</p>
<h1 id="label-Puppet+Documentation"><a href="docs/index.html">Puppet Documentation</a></h1>
<p>SERVICE * manage haproxy service * restart service after changes in the
configuration</p>
<h3 id="label-Repo+Structure">Repo Structure</h3>
<p>Repostructure has moved to REPOSTRUCTURE.md in repo.</p>
<h3 id="label-Repo+Documentation">Repo Documentation</h3>
<p>See the full Puppet documentation in docs/index.html</p>
<h3 id="label-Dependencies">Dependencies</h3>
<h1 id="label-Dependencies">Dependencies</h1>
<p>All dependencies must be included in the catalogue.</p>
<ul><li>
<p><a
href="https://gitlab.confdroid.com/12WW1160/cd_resources">cd_resources</a>
href="https://gitlab.confdroid.com/12WW1160/cd_resources">cd_resources</a>
for managing yum base repos</p>
</li><li>
<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
<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
managing file fragments</p>
</li></ul>
<h3 id="label-Deployment">Deployment</h3>
<h1 id="label-Deployment">Deployment</h1>
<h5 id="label-native+Puppet+deployment">native Puppet deployment</h5>
<h2 id="label-native+Puppet+deployment">native Puppet deployment</h2>
<p>via site.pp or nodes.pp</p>
@@ -160,41 +138,30 @@ managing file fragments</p>
include cd_haproxy
}</code></pre>
<h4 id="label-through+Foreman-3A">through Foreman:</h4>
<h2 id="label-through+Foreman">through Foreman</h2>
<p>In order to apply parameters through Foreman,
<strong>cd_haproxy::params</strong> must be added to the host or hostgroup
in question.</p>
<p>Add params.pp to the host or hostgroup.</p>
<p>See <a
href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more
details about class deployment on Confdroid.com</a>.</p>
href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">details</a>.</p>
<h3 id="label-Parameters">Parameters</h3>
<h1 id="label-Documentation">Documentation</h1>
<p>The following parameters are editable via params.pp or through ENC
(<strong>recommended</strong>). Values changed will take immediate effect
at next puppet run. Services will be restarted where neccessary.</p>
<h2 id="label-Parameters">Parameters</h2>
<p>The <a href="https://confdroid.com/2017/08/cd_haproxy-parameters/">full
list of Parameters</a> is available <a
href="https://confdroid.com/2017/08/cd_haproxy-parameters/">here</a> and in
the docs folder in the software repo.</p>
<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>
<h4 id="label-Mandatory+Parameters">Mandatory Parameters</h4>
<ul><li>
<p><code>hy_host_fqdn</code>: Specify the FQDN of the host(s) where HA proxy
should be running. The module will install it only on the host in question.</p>
</li></ul>
<h1 id="label-Proxy+Configuration">Proxy Configuration</h1>
<h4 id="label-Optional+Parameters">Optional Parameters</h4>
<h2 id="label-Via+Define">Via Define</h2>
<h3 id="label-Proxy+Configuration">Proxy Configuration</h3>
<p>The proxy instances are configured in /etc/haproxy/haproxy.cfg, 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>
<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>
<pre class="code ruby"><code class="ruby">cd_haproxy::server::proxy { &#39;testing&#39;:
haproxy_fqdn =&gt; &#39;node.example.net&#39;,
@@ -205,65 +172,59 @@ addresses the define, like so:</p>
backend_name =&gt; &#39;test01-backend&#39;,
}</code></pre>
<p>This allows the puppet module to create the sections in the configuration
file as required. The haproxy service will be restarted after the changes
in the configuration file are made. <code>haproxy_fqdn</code>
<strong>must</strong> contain the fqdn of the haproxy
<strong>server</strong> where this should be configured, otherwise the
templates are not being populated. Multiple ACLs need to be added as array,
and will create one line each.</p>
<p>This class should be placed in an internal configuration repo specific to
your environment.</p>
<h3 id="label-SELINUX">SELINUX</h3>
<h1 id="label-SELINUX">SELINUX</h1>
<p>All files and directories are configured with correct selinux context. If
selinux is disabled, these contexts are ignored.</p>
<h3 id="label-Known+Problems">Known Problems</h3>
<h1 id="label-Known+Problems">Known Problems</h1>
<h3 id="label-Support">Support</h3>
<h1 id="label-Support">Support</h1>
<ul><li>
<p>OS: CentOS 7</p>
</li><li>
<p>Puppet 5.x</p>
</li></ul>
<h3 id="label-Tests">Tests</h3>
<h1 id="label-Tests">Tests</h1>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>excluded tests:</p>
<ul><li>
<p><code>--no-class_inherits_from_params_class-check</code>:relavant only to
<p><code>--no-class_inherits_from_params_class-check</code>:relevant only to
non-supported outdated puppet versions</p>
</li><li>
<p><code>--no-variable_scope-check</code>: not applicable as we are inheriting
parameters from params class. the lint check does not distinguish between
facts and inherited parameters.</p>
parameters from the params class. the lint check does not distinguish
between facts and inherited parameters.</p>
</li><li>
<p><code>--no-80chars-check</code>: it is not always possible to stay within
80 characters, although typically only occurring on the parameter vault
<p><code>--no-80chars-check</code>: it is not always possible to stay within
80 characters, although typically only occurring on the parameter vault
<code>params.pp</code>.</p>
</li><li>
<p><code>--no-arrow_alignment-check</code>: this check leads to actually not
having am easily readable arrow alignment, as this checks <code>per
block</code>, not per class.</p>
having easily readable arrow alignments, as this checks <code>per
block</code>, not per class.</p>
</li></ul>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
</li><li>
<p>Test for unwanted UTF8 files in the Puppet code as this causes problems
with PuppetDB (see tests/UTF_Files)</p>
<h3 id="label-Contact+Us">Contact Us</h3>
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<p>Test for unwanted UTF8 files</p>
</li></ul>
<h3 id="label-Disclaimer">Disclaimer</h3>
<h1 id="label-Contact+Us">Contact Us</h1>
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<h1 id="label-Disclaimer">Disclaimer</h1>
<p>ConfDroid as entity is independent from Puppet. We provide custom
configuration modules, written for specific purposes and specific
environments. The modules are tested and supported only as documented, and
require testing in designated environments (i.e. lab or development

View File

@@ -61,98 +61,76 @@
<p><a href="https://pipelines.confdroid.com/job/cd_haproxy/"><img
src="https://pipelines.confdroid.com/buildStatus/icon?job=cd_haproxy"></a>|</p>
<h3 id="label-Synopsis">Synopsis</h3>
<p>[[<em>TOC</em>]]</p>
<h1 id="label-Synopsis">Synopsis</h1>
<p><code>HA Proxy</code> is a very powerful and popular open source load
balanacer to balance incoming requests between multiple instances of web-,
balancer to balance incoming requests between multiple instances of web-,
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>
<h3 id="label-WARNING">WARNING</h3>
<h1 id="label-WARNING">WARNING</h1>
<p><code>**__!!! Attention: Never use this puppet module on systems which have
been previously configured manually. It is impossible to predict how and
what would have been configured, hence previuos configurations outside the
what would have been configured, hence previous configurations outside the
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>
<h3 id="label-Table+of+Contents">Table of Contents</h3>
<h1 id="label-Features">Features</h1>
<p>INSTALLATION</p>
<ul><li>
<p><a href="#label-Features">Features</a></p>
</li><li>
<p><a
href="https://gitlab.confdroid.com/12WW1160/cd_haproxy/blob/master/REPOSTRUCTURE.md">Repo
Structure</a></p>
</li><li>
<p><a href="#label-Repo+documentation"> Repo Documentation</a></p>
</li><li>
<p><a href="#label-Dependencies">Dependencies</a></p>
</li><li>
<p><a href="#label-Deployment">Deployment</a></p>
</li><li>
<p><a href="#label-Native+puppet+deployment">native Puppet deployment</a></p>
</li><li>
<p><a href="#label-Through+foreman">through Foreman</a></p>
</li><li>
<p><a href="#label-Parameters">Parameters</a></p>
</li><li>
<p><a href="#label-Mandatory+parameters">Mandatory Parameters</a></p>
</li><li>
<p><a href="#label-Optional+parameters">Optional Parameters</a></p>
</li><li>
<p><a href="#label-Selinux">SELINUX</a></p>
</li><li>
<p><a href="#label-Known+problems">Known Problems</a></p>
</li><li>
<p><a href="#label-Support">Support</a></p>
</li><li>
<p><a href="#label-Tests">Tests</a></p>
</li><li>
<p><a href="https://confdroid.com/contact/">Contact Us</a></p>
</li><li>
<p><a href="#label-Disclaimer">Disclaimer</a></p>
<p>install rpm binaries</p>
</li></ul>
<h3 id="label-Features">Features</h3>
<p>CONFIGURATION</p>
<ul><li>
<p>manage haproxy user</p>
</li><li>
<p>manage directories (file system permissions, selinux context)</p>
</li><li>
<p>manage files (file system permissions, content, selinux context)</p>
</li><li>
<p>manage proxy instances through a define</p>
</li><li>
<p>frontend options</p>
</li><li>
<p>backend options</p>
</li><li>
<p>ACL options</p>
</li></ul>
<p>INSTALLATION * install rpm binaries</p>
<p>SERVICE</p>
<ul><li>
<p>manage haproxy service</p>
</li><li>
<p>restart service after changes in the configuration</p>
</li></ul>
<p>CONFIGURATION * manage haproxy user * manage directories (file system
permissions, selinux context) * manage files (file system permissions,
content, selinux context) * manage proxy instances through a define *
frontend options * backend options * ACL options</p>
<h1 id="label-Puppet+Documentation"><a href="docs/index.html">Puppet Documentation</a></h1>
<p>SERVICE * manage haproxy service * restart service after changes in the
configuration</p>
<h3 id="label-Repo+Structure">Repo Structure</h3>
<p>Repostructure has moved to REPOSTRUCTURE.md in repo.</p>
<h3 id="label-Repo+Documentation">Repo Documentation</h3>
<p>See the full Puppet documentation in docs/index.html</p>
<h3 id="label-Dependencies">Dependencies</h3>
<h1 id="label-Dependencies">Dependencies</h1>
<p>All dependencies must be included in the catalogue.</p>
<ul><li>
<p><a
href="https://gitlab.confdroid.com/12WW1160/cd_resources">cd_resources</a>
href="https://gitlab.confdroid.com/12WW1160/cd_resources">cd_resources</a>
for managing yum base repos</p>
</li><li>
<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
<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
managing file fragments</p>
</li></ul>
<h3 id="label-Deployment">Deployment</h3>
<h1 id="label-Deployment">Deployment</h1>
<h5 id="label-native+Puppet+deployment">native Puppet deployment</h5>
<h2 id="label-native+Puppet+deployment">native Puppet deployment</h2>
<p>via site.pp or nodes.pp</p>
@@ -160,41 +138,30 @@ managing file fragments</p>
include cd_haproxy
}</code></pre>
<h4 id="label-through+Foreman-3A">through Foreman:</h4>
<h2 id="label-through+Foreman">through Foreman</h2>
<p>In order to apply parameters through Foreman,
<strong>cd_haproxy::params</strong> must be added to the host or hostgroup
in question.</p>
<p>Add params.pp to the host or hostgroup.</p>
<p>See <a
href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more
details about class deployment on Confdroid.com</a>.</p>
href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">details</a>.</p>
<h3 id="label-Parameters">Parameters</h3>
<h1 id="label-Documentation">Documentation</h1>
<p>The following parameters are editable via params.pp or through ENC
(<strong>recommended</strong>). Values changed will take immediate effect
at next puppet run. Services will be restarted where neccessary.</p>
<h2 id="label-Parameters">Parameters</h2>
<p>The <a href="https://confdroid.com/2017/08/cd_haproxy-parameters/">full
list of Parameters</a> is available <a
href="https://confdroid.com/2017/08/cd_haproxy-parameters/">here</a> and in
the docs folder in the software repo.</p>
<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>
<h4 id="label-Mandatory+Parameters">Mandatory Parameters</h4>
<ul><li>
<p><code>hy_host_fqdn</code>: Specify the FQDN of the host(s) where HA proxy
should be running. The module will install it only on the host in question.</p>
</li></ul>
<h1 id="label-Proxy+Configuration">Proxy Configuration</h1>
<h4 id="label-Optional+Parameters">Optional Parameters</h4>
<h2 id="label-Via+Define">Via Define</h2>
<h3 id="label-Proxy+Configuration">Proxy Configuration</h3>
<p>The proxy instances are configured in /etc/haproxy/haproxy.cfg, 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>
<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>
<pre class="code ruby"><code class="ruby">cd_haproxy::server::proxy { &#39;testing&#39;:
haproxy_fqdn =&gt; &#39;node.example.net&#39;,
@@ -205,65 +172,59 @@ addresses the define, like so:</p>
backend_name =&gt; &#39;test01-backend&#39;,
}</code></pre>
<p>This allows the puppet module to create the sections in the configuration
file as required. The haproxy service will be restarted after the changes
in the configuration file are made. <code>haproxy_fqdn</code>
<strong>must</strong> contain the fqdn of the haproxy
<strong>server</strong> where this should be configured, otherwise the
templates are not being populated. Multiple ACLs need to be added as array,
and will create one line each.</p>
<p>This class should be placed in an internal configuration repo specific to
your environment.</p>
<h3 id="label-SELINUX">SELINUX</h3>
<h1 id="label-SELINUX">SELINUX</h1>
<p>All files and directories are configured with correct selinux context. If
selinux is disabled, these contexts are ignored.</p>
<h3 id="label-Known+Problems">Known Problems</h3>
<h1 id="label-Known+Problems">Known Problems</h1>
<h3 id="label-Support">Support</h3>
<h1 id="label-Support">Support</h1>
<ul><li>
<p>OS: CentOS 7</p>
</li><li>
<p>Puppet 5.x</p>
</li></ul>
<h3 id="label-Tests">Tests</h3>
<h1 id="label-Tests">Tests</h1>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>excluded tests:</p>
<ul><li>
<p><code>--no-class_inherits_from_params_class-check</code>:relavant only to
<p><code>--no-class_inherits_from_params_class-check</code>:relevant only to
non-supported outdated puppet versions</p>
</li><li>
<p><code>--no-variable_scope-check</code>: not applicable as we are inheriting
parameters from params class. the lint check does not distinguish between
facts and inherited parameters.</p>
parameters from the params class. the lint check does not distinguish
between facts and inherited parameters.</p>
</li><li>
<p><code>--no-80chars-check</code>: it is not always possible to stay within
80 characters, although typically only occurring on the parameter vault
<p><code>--no-80chars-check</code>: it is not always possible to stay within
80 characters, although typically only occurring on the parameter vault
<code>params.pp</code>.</p>
</li><li>
<p><code>--no-arrow_alignment-check</code>: this check leads to actually not
having am easily readable arrow alignment, as this checks <code>per
block</code>, not per class.</p>
having easily readable arrow alignments, as this checks <code>per
block</code>, not per class.</p>
</li></ul>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
</li><li>
<p>Test for unwanted UTF8 files in the Puppet code as this causes problems
with PuppetDB (see tests/UTF_Files)</p>
<h3 id="label-Contact+Us">Contact Us</h3>
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<p>Test for unwanted UTF8 files</p>
</li></ul>
<h3 id="label-Disclaimer">Disclaimer</h3>
<h1 id="label-Contact+Us">Contact Us</h1>
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<h1 id="label-Disclaimer">Disclaimer</h1>
<p>ConfDroid as entity is independent from Puppet. We provide custom
configuration modules, written for specific purposes and specific
environments. The modules are tested and supported only as documented, and
require testing in designated environments (i.e. lab or development