From 8fa9a83b992f1b105d4105ea05b82d807ebbd76a Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Tue, 1 Dec 2020 19:49:52 +0100 Subject: [PATCH 01/10] recommit for updates in build 67 --- REPOSTRUCTURE.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md index f325c24..7d68709 100644 --- a/REPOSTRUCTURE.md +++ b/REPOSTRUCTURE.md @@ -59,11 +59,10 @@ | `-- haproxy_head.erb |-- tests | `-- UTF_Files -|-- CHANGELOG.md |-- Gemfile |-- Gemfile.lock |-- Jenkinsfile |-- LICENSE `-- README.md -12 directories, 54 files +12 directories, 53 files From c5fdd79084739e2974fce3649dbfbdb4ad6a2017 Mon Sep 17 00:00:00 2001 From: 12ww1160 Date: Sat, 2 Jan 2021 20:29:47 +0100 Subject: [PATCH 02/10] Delete REPOSTRUCTURE.md --- REPOSTRUCTURE.md | 68 ------------------------------------------------ 1 file changed, 68 deletions(-) delete mode 100644 REPOSTRUCTURE.md diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md deleted file mode 100644 index 7d68709..0000000 --- a/REPOSTRUCTURE.md +++ /dev/null @@ -1,68 +0,0 @@ -. -|-- doc -| |-- css -| | |-- common.css -| | |-- full_list.css -| | `-- style.css -| |-- js -| | |-- app.js -| | |-- full_list.js -| | `-- jquery.js -| |-- puppet_classes -| | |-- cd_haproxy_3A_3Afirewall_3A_3Aiptables.html -| | |-- cd_haproxy_3A_3Amain_3A_3Aconfig.html -| | |-- cd_haproxy_3A_3Amain_3A_3Adirs.html -| | |-- cd_haproxy_3A_3Amain_3A_3Afiles.html -| | |-- cd_haproxy_3A_3Amain_3A_3Ainstall.html -| | |-- cd_haproxy_3A_3Amain_3A_3Auser.html -| | |-- cd_haproxy_3A_3Aparams.html -| | |-- cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html -| | |-- cd_haproxy_3A_3Aserver_3A_3Aservice.html -| | `-- cd_haproxy.html -| |-- puppet_defined_types -| | `-- cd_haproxy_3A_3Aserver_3A_3Aproxy.html -| |-- file.README.html -| |-- frames.html -| |-- _index.html -| |-- index.html -| |-- puppet_class_list.html -| |-- puppet_defined_type_list.html -| `-- top-level-namespace.html -|-- manifests -| |-- firewall -| | `-- iptables.pp -| |-- main -| | |-- config.pp -| | |-- dirs.pp -| | |-- files.pp -| | |-- install.pp -| | `-- user.pp -| |-- server -| | |-- proxy.pp -| | |-- proxy_test.pp -| | `-- service.pp -| |-- init.pp -| `-- params.pp -|-- templates -| |-- errors -| | |-- 400_http.erb -| | |-- 403_http.erb -| | |-- 408_http.erb -| | |-- 500_http.erb -| | |-- 502_http.erb -| | |-- 503_http.erb -| | `-- 504_http.erb -| |-- haproxy_acl_rule.erb -| |-- haproxy_backend_rule.erb -| |-- haproxy.cfg -| |-- haproxy_frontend_rule.erb -| `-- haproxy_head.erb -|-- tests -| `-- UTF_Files -|-- Gemfile -|-- Gemfile.lock -|-- Jenkinsfile -|-- LICENSE -`-- README.md - -12 directories, 53 files From 5117acd7c3ca1785746ee2a5d25fe84577fc218e Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Sat, 2 Jan 2021 22:35:04 +0100 Subject: [PATCH 03/10] recommit for updates in build 107 --- .scannerwork/.sonar_lock | 0 .scannerwork/report-task.txt | 6 ++ doc/file.README.html | 187 ++++++++++++++--------------------- doc/index.html | 187 ++++++++++++++--------------------- 4 files changed, 154 insertions(+), 226 deletions(-) create mode 100644 .scannerwork/.sonar_lock create mode 100644 .scannerwork/report-task.txt diff --git a/.scannerwork/.sonar_lock b/.scannerwork/.sonar_lock new file mode 100644 index 0000000..e69de29 diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt new file mode 100644 index 0000000..1ccfec8 --- /dev/null +++ b/.scannerwork/report-task.txt @@ -0,0 +1,6 @@ +projectKey=confdroid_kubernetes +serverUrl=http://sonarqube.confdroid.com +serverVersion=7.9.1.27448 +dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=confdroid_kubernetes +ceTaskId=AXbFBnlxjqhs1DgyZKhw +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbFBnlxjqhs1DgyZKhw diff --git a/doc/file.README.html b/doc/file.README.html index 476a718..ff33232 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -61,98 +61,76 @@

|

-

Synopsis

+

[[TOC]]

+ +

Synopsis

HA Proxy 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.

cd_haproxy automates installation and configuration of HA proxy including self-healing, monitoring and firewall etc.

-

WARNING

+

WARNING

**__!!! 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!!! __**

-

Table of Contents

+

Features

+ +

INSTALLATION

-

Features

+

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

    +
-

INSTALLATION * install rpm binaries

+

SERVICE

+
  • +

    manage haproxy service

    +
  • +

    restart service after changes in the configuration

    +
-

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

+

Puppet Documentation

-

SERVICE * manage haproxy service * restart service after changes in the -configuration

- -

Repo Structure

- -

Repostructure has moved to REPOSTRUCTURE.md in repo.

- -

Repo Documentation

- -

See the full Puppet documentation in docs/index.html

- -

Dependencies

+

Dependencies

All dependencies must be included in the catalogue.

-

Deployment

+

Deployment

-
native Puppet deployment
+

native Puppet deployment

via site.pp or nodes.pp

@@ -160,41 +138,30 @@ managing file fragments

include cd_haproxy } -

through Foreman:

+

through Foreman

-

In order to apply parameters through Foreman, -cd_haproxy::params must be added to the host or hostgroup -in question.

+

Add params.pp to the host or hostgroup.

See more -details about class deployment on Confdroid.com.

+href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">details.

-

Parameters

+

Documentation

-

The following parameters are editable via params.pp or through ENC -(recommended). Values changed will take immediate effect -at next puppet run. Services will be restarted where neccessary.

+

Parameters

-

The full -list of Parameters is available here and in -the docs folder in the software repo.

+

The parameters are defined and described in params.pp. The +documentation is provided via puppet strings in HTML format, +please see doc/index.html via web browser.

-

Mandatory Parameters

-
  • -

    hy_host_fqdn: Specify the FQDN of the host(s) where HA proxy -should be running. The module will install it only on the host in question.

    -
+

Proxy Configuration

-

Optional Parameters

+

Via Define

-

Proxy Configuration

- -

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:

+

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:

cd_haproxy::server::proxy { 'testing':
     haproxy_fqdn    =>  'node.example.net',
@@ -205,65 +172,59 @@ addresses the define, like so:

backend_name => 'test01-backend', }
-

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. haproxy_fqdn -must contain the fqdn of the haproxy -server 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.

+

This class should be placed in an internal configuration repo specific to +your environment.

-

SELINUX

+

SELINUX

All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.

-

Known Problems

+

Known Problems

-

Support

+

Support

  • OS: CentOS 7

  • Puppet 5.x

-

Tests

+

Tests

  • Puppet Lint

  • excluded tests:

    • -

      --no-class_inherits_from_params_class-check:relavant only to +

      --no-class_inherits_from_params_class-check:relevant only to non-supported outdated puppet versions

    • --no-variable_scope-check: not applicable as we are inheriting -parameters from params class. the lint check does not distinguish between -facts and inherited parameters.

      +parameters from the params class. the lint check does not distinguish +between facts and inherited parameters.

    • -

      --no-80chars-check: it is not always possible to stay within -80 characters, although typically only occurring on the parameter vault +

      --no-80chars-check: it is not always possible to stay within +80 characters, although typically only occurring on the parameter vault params.pp.

    • --no-arrow_alignment-check: this check leads to actually not -having am easily readable arrow alignment, as this checks per -block, not per class.

      +having easily readable arrow alignments, as this checks per +block, not per class.

  • Puppet Parser

  • ERB Template Parser

  • -

    Test for unwanted UTF8 files in the Puppet code as this causes problems -with PuppetDB (see tests/UTF_Files)

    - -

    Contact Us

    - -

    contact Us

    +

    Test for unwanted UTF8 files

-

Disclaimer

+

Contact Us

-

ConfDroid as entity is entirely independent from Puppet. We provide custom +

contact Us

+ +

Disclaimer

+ +

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 diff --git a/doc/index.html b/doc/index.html index dc57f2c..7c8cf3e 100644 --- a/doc/index.html +++ b/doc/index.html @@ -61,98 +61,76 @@

|

-

Synopsis

+

[[TOC]]

+ +

Synopsis

HA Proxy 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.

cd_haproxy automates installation and configuration of HA proxy including self-healing, monitoring and firewall etc.

-

WARNING

+

WARNING

**__!!! 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!!! __**

-

Table of Contents

+

Features

+ +

INSTALLATION

-

Features

+

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

    +
-

INSTALLATION * install rpm binaries

+

SERVICE

+
  • +

    manage haproxy service

    +
  • +

    restart service after changes in the configuration

    +
-

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

+

Puppet Documentation

-

SERVICE * manage haproxy service * restart service after changes in the -configuration

- -

Repo Structure

- -

Repostructure has moved to REPOSTRUCTURE.md in repo.

- -

Repo Documentation

- -

See the full Puppet documentation in docs/index.html

- -

Dependencies

+

Dependencies

All dependencies must be included in the catalogue.

-

Deployment

+

Deployment

-
native Puppet deployment
+

native Puppet deployment

via site.pp or nodes.pp

@@ -160,41 +138,30 @@ managing file fragments

include cd_haproxy } -

through Foreman:

+

through Foreman

-

In order to apply parameters through Foreman, -cd_haproxy::params must be added to the host or hostgroup -in question.

+

Add params.pp to the host or hostgroup.

See more -details about class deployment on Confdroid.com.

+href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">details.

-

Parameters

+

Documentation

-

The following parameters are editable via params.pp or through ENC -(recommended). Values changed will take immediate effect -at next puppet run. Services will be restarted where neccessary.

+

Parameters

-

The full -list of Parameters is available here and in -the docs folder in the software repo.

+

The parameters are defined and described in params.pp. The +documentation is provided via puppet strings in HTML format, +please see doc/index.html via web browser.

-

Mandatory Parameters

-
  • -

    hy_host_fqdn: Specify the FQDN of the host(s) where HA proxy -should be running. The module will install it only on the host in question.

    -
+

Proxy Configuration

-

Optional Parameters

+

Via Define

-

Proxy Configuration

- -

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:

+

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:

cd_haproxy::server::proxy { 'testing':
     haproxy_fqdn    =>  'node.example.net',
@@ -205,65 +172,59 @@ addresses the define, like so:

backend_name => 'test01-backend', }
-

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. haproxy_fqdn -must contain the fqdn of the haproxy -server 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.

+

This class should be placed in an internal configuration repo specific to +your environment.

-

SELINUX

+

SELINUX

All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.

-

Known Problems

+

Known Problems

-

Support

+

Support

  • OS: CentOS 7

  • Puppet 5.x

-

Tests

+

Tests

  • Puppet Lint

  • excluded tests:

    • -

      --no-class_inherits_from_params_class-check:relavant only to +

      --no-class_inherits_from_params_class-check:relevant only to non-supported outdated puppet versions

    • --no-variable_scope-check: not applicable as we are inheriting -parameters from params class. the lint check does not distinguish between -facts and inherited parameters.

      +parameters from the params class. the lint check does not distinguish +between facts and inherited parameters.

    • -

      --no-80chars-check: it is not always possible to stay within -80 characters, although typically only occurring on the parameter vault +

      --no-80chars-check: it is not always possible to stay within +80 characters, although typically only occurring on the parameter vault params.pp.

    • --no-arrow_alignment-check: this check leads to actually not -having am easily readable arrow alignment, as this checks per -block, not per class.

      +having easily readable arrow alignments, as this checks per +block, not per class.

  • Puppet Parser

  • ERB Template Parser

  • -

    Test for unwanted UTF8 files in the Puppet code as this causes problems -with PuppetDB (see tests/UTF_Files)

    - -

    Contact Us

    - -

    contact Us

    +

    Test for unwanted UTF8 files

-

Disclaimer

+

Contact Us

-

ConfDroid as entity is entirely independent from Puppet. We provide custom +

contact Us

+ +

Disclaimer

+ +

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 From 33865b82bd47b6fab07ef4ea665253dea6612d3b Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Mon, 4 Jan 2021 16:24:41 +0100 Subject: [PATCH 04/10] recommit for updates in build 108 --- .scannerwork/report-task.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt index 1ccfec8..3e2f9ba 100644 --- a/.scannerwork/report-task.txt +++ b/.scannerwork/report-task.txt @@ -1,6 +1,6 @@ -projectKey=confdroid_kubernetes +projectKey=cd_haproxy serverUrl=http://sonarqube.confdroid.com serverVersion=7.9.1.27448 -dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=confdroid_kubernetes -ceTaskId=AXbFBnlxjqhs1DgyZKhw -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbFBnlxjqhs1DgyZKhw +dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy +ceTaskId=AXbOABWGjqhs1DgyZKh3 +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOABWGjqhs1DgyZKh3 From 5c589be5c6f421514dde13df68c3ccf9b25aea11 Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Mon, 4 Jan 2021 16:29:18 +0100 Subject: [PATCH 05/10] recommit for updates in build 109 --- .scannerwork/report-task.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt index 3e2f9ba..1b8d6ec 100644 --- a/.scannerwork/report-task.txt +++ b/.scannerwork/report-task.txt @@ -2,5 +2,5 @@ projectKey=cd_haproxy serverUrl=http://sonarqube.confdroid.com serverVersion=7.9.1.27448 dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy -ceTaskId=AXbOABWGjqhs1DgyZKh3 -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOABWGjqhs1DgyZKh3 +ceTaskId=AXbOBFF6jqhs1DgyZKh5 +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOBFF6jqhs1DgyZKh5 From a2c81360135edc437d2e94ad5e174d2621201c86 Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Mon, 4 Jan 2021 16:32:39 +0100 Subject: [PATCH 06/10] recommit for updates in build 110 --- .scannerwork/report-task.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt index 1b8d6ec..da998f0 100644 --- a/.scannerwork/report-task.txt +++ b/.scannerwork/report-task.txt @@ -2,5 +2,5 @@ projectKey=cd_haproxy serverUrl=http://sonarqube.confdroid.com serverVersion=7.9.1.27448 dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy -ceTaskId=AXbOBFF6jqhs1DgyZKh5 -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOBFF6jqhs1DgyZKh5 +ceTaskId=AXbOB2K8jqhs1DgyZKh6 +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOB2K8jqhs1DgyZKh6 From bacf6bc8538e929f23999f7c748c5c1588545854 Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Mon, 4 Jan 2021 19:11:11 +0100 Subject: [PATCH 07/10] recommit for updates in build 111 --- .scannerwork/report-task.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt index da998f0..9b814ea 100644 --- a/.scannerwork/report-task.txt +++ b/.scannerwork/report-task.txt @@ -2,5 +2,5 @@ projectKey=cd_haproxy serverUrl=http://sonarqube.confdroid.com serverVersion=7.9.1.27448 dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy -ceTaskId=AXbOB2K8jqhs1DgyZKh6 -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOB2K8jqhs1DgyZKh6 +ceTaskId=AXbOmIahjqhs1DgyZKh7 +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOmIahjqhs1DgyZKh7 From c4eabe8b88aab95a126a9f1a7683f5b46aa31876 Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Mon, 4 Jan 2021 19:18:23 +0100 Subject: [PATCH 08/10] recommit for updates in build 112 --- .scannerwork/report-task.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt index 9b814ea..bf823d4 100644 --- a/.scannerwork/report-task.txt +++ b/.scannerwork/report-task.txt @@ -2,5 +2,5 @@ projectKey=cd_haproxy serverUrl=http://sonarqube.confdroid.com serverVersion=7.9.1.27448 dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy -ceTaskId=AXbOmIahjqhs1DgyZKh7 -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOmIahjqhs1DgyZKh7 +ceTaskId=AXbOnx2_jqhs1DgyZKh8 +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOnx2_jqhs1DgyZKh8 From 7421da8d7fb641a63953da204f0d7121174e98ae Mon Sep 17 00:00:00 2001 From: 12ww1160 Date: Thu, 9 Sep 2021 11:03:59 +0000 Subject: [PATCH 09/10] Deleted .scannerwork/.sonar_lock, .scannerwork/report-task.txt, doc/css/common.css, doc/css/full_list.css, doc/css/style.css, doc/js/app.js, doc/js/full_list.js, doc/js/jquery.js, doc/puppet_classes/cd_haproxy.html, doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html, doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html, doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html, doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html, doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html, doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html, doc/puppet_classes/cd_haproxy_3A_3Aparams.html, doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html, doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html, doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html, doc/_index.html, doc/file.README.html, doc/frames.html, doc/index.html, doc/puppet_class_list.html, doc/puppet_defined_type_list.html, doc/top-level-namespace.html, tests/UTF_Files files --- .scannerwork/.sonar_lock | 0 .scannerwork/report-task.txt | 6 - doc/_index.html | 181 ---- doc/css/common.css | 8 - doc/css/full_list.css | 58 -- doc/css/style.css | 496 ---------- doc/file.README.html | 241 ----- doc/frames.html | 17 - doc/index.html | 241 ----- doc/js/app.js | 292 ------ doc/js/full_list.js | 216 ---- doc/js/jquery.js | 4 - doc/puppet_class_list.html | 117 --- doc/puppet_classes/cd_haproxy.html | 136 --- ...d_haproxy_3A_3Afirewall_3A_3Aiptables.html | 177 ---- .../cd_haproxy_3A_3Amain_3A_3Aconfig.html | 152 --- .../cd_haproxy_3A_3Amain_3A_3Adirs.html | 199 ---- .../cd_haproxy_3A_3Amain_3A_3Afiles.html | 399 -------- .../cd_haproxy_3A_3Amain_3A_3Ainstall.html | 156 --- .../cd_haproxy_3A_3Amain_3A_3Auser.html | 191 ---- .../cd_haproxy_3A_3Aparams.html | 922 ------------------ ...d_haproxy_3A_3Aserver_3A_3Aproxy_test.html | 173 ---- .../cd_haproxy_3A_3Aserver_3A_3Aservice.html | 167 ---- doc/puppet_defined_type_list.html | 54 - .../cd_haproxy_3A_3Aserver_3A_3Aproxy.html | 437 --------- doc/top-level-namespace.html | 98 -- tests/UTF_Files | 6 - 27 files changed, 5144 deletions(-) delete mode 100644 .scannerwork/.sonar_lock delete mode 100644 .scannerwork/report-task.txt delete mode 100644 doc/_index.html delete mode 100644 doc/css/common.css delete mode 100644 doc/css/full_list.css delete mode 100644 doc/css/style.css delete mode 100644 doc/file.README.html delete mode 100644 doc/frames.html delete mode 100644 doc/index.html delete mode 100644 doc/js/app.js delete mode 100644 doc/js/full_list.js delete mode 100644 doc/js/jquery.js delete mode 100644 doc/puppet_class_list.html delete mode 100644 doc/puppet_classes/cd_haproxy.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aparams.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html delete mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html delete mode 100644 doc/puppet_defined_type_list.html delete mode 100644 doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html delete mode 100644 doc/top-level-namespace.html delete mode 100644 tests/UTF_Files diff --git a/.scannerwork/.sonar_lock b/.scannerwork/.sonar_lock deleted file mode 100644 index e69de29..0000000 diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt deleted file mode 100644 index bf823d4..0000000 --- a/.scannerwork/report-task.txt +++ /dev/null @@ -1,6 +0,0 @@ -projectKey=cd_haproxy -serverUrl=http://sonarqube.confdroid.com -serverVersion=7.9.1.27448 -dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_haproxy -ceTaskId=AXbOnx2_jqhs1DgyZKh8 -ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXbOnx2_jqhs1DgyZKh8 diff --git a/doc/_index.html b/doc/_index.html deleted file mode 100644 index d590fc2..0000000 --- a/doc/_index.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - -

- -
- - -

Documentation by YARD 0.9.16

-
-

Alphabetic Index

- -

Puppet Class Listing A-Z

- - - - - - -
- - - - -
- - -

Defined Type Listing A-Z

- - - - - - -
- - - - -
- - - - - - - -

File Listing

- - -
- - -
- -
- - - -
- - \ No newline at end of file diff --git a/doc/css/common.css b/doc/css/common.css deleted file mode 100644 index d28b093..0000000 --- a/doc/css/common.css +++ /dev/null @@ -1,8 +0,0 @@ -/* Ensure the search bar doesn't overlap with links */ -.fixed_header { - padding-bottom: 25px; -} - -#full_list { - padding-top: 15px; -} diff --git a/doc/css/full_list.css b/doc/css/full_list.css deleted file mode 100644 index fa35982..0000000 --- a/doc/css/full_list.css +++ /dev/null @@ -1,58 +0,0 @@ -body { - margin: 0; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - height: 101%; - overflow-x: hidden; - background: #fafafa; -} - -h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } -.clear { clear: both; } -.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; } -#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } -#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } -#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; } -#full_list ul { padding: 0; } -#full_list li { padding: 0; margin: 0; list-style: none; } -#full_list li .item { padding: 5px 5px 5px 12px; } -#noresults { padding: 7px 12px; background: #fff; } -#content.insearch #noresults { margin-left: 7px; } -li.collapsed ul { display: none; } -li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } -li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } -li { color: #888; cursor: pointer; } -li.deprecated { text-decoration: line-through; font-style: italic; } -li.odd { background: #f0f0f0; } -li.even { background: #fafafa; } -.item:hover { background: #ddd; } -li small:before { content: "("; } -li small:after { content: ")"; } -li small.search_info { display: none; } -a, a:visited { text-decoration: none; color: #05a; } -li.clicked > .item { background: #05a; color: #ccc; } -li.clicked > .item a, li.clicked > .item a:visited { color: #eee; } -li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; } -li.collapsed.clicked a.toggle { background-position: top right; } -#search input { border: 1px solid #bbb; border-radius: 3px; } -#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; } -#full_list_nav a, #nav a:visited { color: #358; } -#full_list_nav a:hover { background: transparent; color: #5af; } -#full_list_nav span:after { content: ' | '; } -#full_list_nav span:last-child:after { content: ''; } - -#content h1 { margin-top: 0; } -li { white-space: nowrap; cursor: normal; } -li small { display: block; font-size: 0.8em; } -li small:before { content: ""; } -li small:after { content: ""; } -li small.search_info { display: none; } -#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } -#content.insearch #search { background-position: center right; } -#search input { width: 110px; } - -#full_list.insearch ul { display: block; } -#full_list.insearch .item { display: none; } -#full_list.insearch .found { display: block; padding-left: 11px !important; } -#full_list.insearch li a.toggle { display: none; } -#full_list.insearch li small.search_info { display: block; } diff --git a/doc/css/style.css b/doc/css/style.css deleted file mode 100644 index 0bf7e2c..0000000 --- a/doc/css/style.css +++ /dev/null @@ -1,496 +0,0 @@ -html { - width: 100%; - height: 100%; -} -body { - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - width: 100%; - margin: 0; - padding: 0; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} - -#nav { - position: relative; - width: 100%; - height: 100%; - border: 0; - border-right: 1px dotted #eee; - overflow: auto; -} -.nav_wrap { - margin: 0; - padding: 0; - width: 20%; - height: 100%; - position: relative; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; - flex-shrink: 0; - -webkit-flex-shrink: 0; - -ms-flex: 1 0; -} -#resizer { - position: absolute; - right: -5px; - top: 0; - width: 10px; - height: 100%; - cursor: col-resize; - z-index: 9999; -} -#main { - flex: 5 1; - -webkit-flex: 5 1; - -ms-flex: 5 1; - outline: none; - position: relative; - background: #fff; - padding: 1.2em; - padding-top: 0.2em; -} - -@media (max-width: 920px) { - .nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; } - #resizer { display: none; } - #nav { - z-index: 9999; - background: #fff; - display: none; - position: absolute; - top: 40px; - right: 12px; - width: 500px; - max-width: 80%; - height: 80%; - overflow-y: scroll; - border: 1px solid #999; - border-collapse: collapse; - box-shadow: -7px 5px 25px #aaa; - border-radius: 2px; - } -} - -@media (min-width: 920px) { - body { height: 100%; overflow: hidden; } - #main { height: 100%; overflow: auto; } - #search { display: none; } -} - -#main img { max-width: 100%; } -h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } -h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } -h1.title { margin-bottom: 10px; } -h1.alphaindex { margin-top: 0; font-size: 22px; } -h2 { - padding: 0; - padding-bottom: 3px; - border-bottom: 1px #aaa solid; - font-size: 1.4em; - margin: 1.8em 0 0.5em; - position: relative; -} -h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; } -h2 small a { - display: block; - height: 20px; - border: 1px solid #aaa; - border-bottom: 0; - border-top-left-radius: 5px; - background: #f8f8f8; - position: relative; - padding: 2px 7px; -} -.clear { clear: both; } -.inline { display: inline; } -.inline p:first-child { display: inline; } -.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; } -.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt { - color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } -.docstring h1 { font-size: 1.2em; } -.docstring h2 { font-size: 1.1em; } -.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } -.summary_desc .object_link a, .docstring .object_link a { - font-family: monospace; font-size: 1.05em; - color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.rdoc-term { padding-right: 25px; font-weight: bold; } -.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } -.summary_desc pre.code .object_link a, .docstring pre.code .object_link a { - padding: 0px; background: inherit; color: inherit; border-radius: inherit; -} - -/* style for */ -#filecontents table, .docstring table { border-collapse: collapse; } -#filecontents table th, #filecontents table td, -.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } -#filecontents table tr:nth-child(odd), -.docstring table tr:nth-child(odd) { background: #eee; } -#filecontents table tr:nth-child(even), -.docstring table tr:nth-child(even) { background: #fff; } -#filecontents table th, .docstring table th { background: #fff; } - -/* style for
    */ -#filecontents li > p, .docstring li > p { margin: 0px; } -#filecontents ul, .docstring ul { padding-left: 20px; } -/* style for
    */ -#filecontents dl, .docstring dl { border: 1px solid #ccc; } -#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; } -#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; } -#filecontents dd > p, .docstring dd > p { margin: 0px; } - -.note { - color: #222; - margin: 20px 0; - padding: 10px; - border: 1px solid #eee; - border-radius: 3px; - display: block; -} -.docstring .note { - border-left-color: #ccc; - border-left-width: 5px; -} -.note.todo { background: #ffffc5; border-color: #ececaa; } -.note.returns_void { background: #efefef; } -.note.deprecated { background: #ffe5e5; border-color: #e9dada; } -.note.title.deprecated { background: #ffe5e5; border-color: #e9dada; } -.note.private { background: #ffffc5; border-color: #ececaa; } -.note.title { padding: 3px 6px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; } -.summary_signature + .note.title { margin-left: 7px; } -h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; } -.note.title { background: #efefef; } -.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; } -.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; } -.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; } -.note.title.private { background: #d5d5d5; border-color: #c5c5c5; } -.note.title.not_defined_here { background: transparent; border: none; font-style: italic; } -.discussion .note { margin-top: 6px; } -.discussion .note:first-child { margin-top: 0; } - -h3.inherited { - font-style: italic; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-weight: normal; - padding: 0; - margin: 0; - margin-top: 12px; - margin-bottom: 3px; - font-size: 13px; -} -p.inherited { - padding: 0; - margin: 0; - margin-left: 25px; -} - -.box_info dl { - margin: 0; - border: 0; - width: 100%; - font-size: 1em; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} -.box_info dl dt { - flex-shrink: 0; - -webkit-flex-shrink: 1; - -ms-flex-shrink: 1; - width: 100px; - text-align: right; - font-weight: bold; - border: 1px solid #aaa; - border-width: 1px 0px 0px 1px; - padding: 6px 0; - padding-right: 10px; -} -.box_info dl dd { - flex-grow: 1; - -webkit-flex-grow: 1; - -ms-flex: 1; - max-width: 420px; - padding: 6px 0; - padding-right: 20px; - border: 1px solid #aaa; - border-width: 1px 1px 0 0; - overflow: hidden; - position: relative; -} -.box_info dl:last-child > * { - border-bottom: 1px solid #aaa; -} -.box_info dl:nth-child(odd) > * { background: #eee; } -.box_info dl:nth-child(even) > * { background: #fff; } -.box_info dl > * { margin: 0; } - -ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; } -.index_inline_list { padding-left: 0; font-size: 1.1em; } - -.index_inline_list li { - list-style: none; - display: inline-block; - padding: 0 12px; - line-height: 30px; - margin-bottom: 5px; -} - -dl.constants { margin-left: 10px; } -dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; } -dl.constants.compact dt { display: inline-block; font-weight: normal } -dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; } -dl.constants .docstring .note:first-child { margin-top: 5px; } - -.summary_desc { - margin-left: 32px; - display: block; - font-family: sans-serif; - font-size: 1.1em; - margin-top: 8px; - line-height: 1.5145em; - margin-bottom: 0.8em; -} -.summary_desc tt { font-size: 0.9em; } -dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; } -dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; } -dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; } -dl.constants .discussion *:first-child { margin-top: 0; } -dl.constants .discussion *:last-child { margin-bottom: 0; } - -.method_details { border-top: 1px dotted #ccc; margin-top: 25px; padding-top: 0; } -.method_details.first { border: 0; margin-top: 5px; } -.method_details.first h3.signature { margin-top: 1em; } -p.signature, h3.signature { - font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace; - padding: 6px 10px; margin-top: 1em; - background: #E8F4FF; border: 1px solid #d8d8e5; border-radius: 5px; -} -p.signature tt, -h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; } -p.signature .overload, -h3.signature .overload { display: block; } -p.signature .extras, -h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; } -p.signature .not_defined_here, -h3.signature .not_defined_here, -p.signature .aliases, -h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; } -p.signature .aliases .names, -h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; } - -.tags .tag_title { font-size: 1.05em; margin-bottom: 0; font-weight: bold; } -.tags .tag_title tt { color: initial; padding: initial; background: initial; } -.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; } -.tags ul li { margin-bottom: 3px; } -.tags ul .name { font-family: monospace; font-weight: bold; } -.tags ul .note { padding: 3px 6px; } -.tags { margin-bottom: 12px; } - -.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; } -.tags .examples .inline p { padding: 0; margin: 0; font-weight: bold; font-size: 1em; } -.tags .examples .inline p:before { content: "▸"; font-size: 1em; margin-right: 5px; } - -.tags .overload .overload_item { list-style: none; margin-bottom: 25px; } -.tags .overload .overload_item .signature { - padding: 2px 8px; - background: #F1F8FF; border: 1px solid #d8d8e5; border-radius: 3px; -} -.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; } -.tags .overload .docstring { margin-top: 15px; } - -.defines { display: none; } - -#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; } - -.showSource { font-size: 0.9em; } -.showSource a, .showSource a:visited { text-decoration: none; color: #666; } - -#content a, #content a:visited { text-decoration: none; color: #05a; } -#content a:hover { background: #ffffa5; } - -ul.summary { - list-style: none; - font-family: monospace; - font-size: 1em; - line-height: 1.5em; - padding-left: 0px; -} -ul.summary a, ul.summary a:visited { - text-decoration: none; font-size: 1.1em; -} -ul.summary li { margin-bottom: 5px; } -.summary_signature { padding: 4px 8px; background: #f8f8f8; border: 1px solid #f0f0f0; border-radius: 5px; } -.summary_signature:hover { background: #CFEBFF; border-color: #A4CCDA; cursor: pointer; } -.summary_signature.deprecated { background: #ffe5e5; border-color: #e9dada; } -ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;} -ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; } -#content .summary_signature:hover a, -#content .summary_signature:hover a:visited { - background: transparent; - color: #049; -} - -p.inherited a { font-family: monospace; font-size: 0.9em; } -p.inherited { word-spacing: 5px; font-size: 1.2em; } - -p.children { font-size: 1.2em; } -p.children a { font-size: 0.9em; } -p.children strong { font-size: 0.8em; } -p.children strong.modules { padding-left: 5px; } - -ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; } -ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; } -ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; } -ul.fullTree li:first-child { padding-top: 0; background: transparent; } -ul.fullTree li:last-child { padding-bottom: 0; } -.showAll ul.fullTree { display: block; } -.showAll .inheritName { display: none; } - -#search { position: absolute; right: 12px; top: 0px; z-index: 9000; } -#search a { - display: block; float: left; - padding: 4px 8px; text-decoration: none; color: #05a; fill: #05a; - border: 1px solid #d8d8e5; - border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; - background: #F1F8FF; - box-shadow: -1px 1px 3px #ddd; -} -#search a:hover { background: #f5faff; color: #06b; fill: #06b; } -#search a.active { - background: #568; padding-bottom: 20px; color: #fff; fill: #fff; - border: 1px solid #457; - border-top-left-radius: 5px; border-top-right-radius: 5px; -} -#search a.inactive { color: #999; fill: #999; } -.inheritanceTree, .toggleDefines { - float: right; - border-left: 1px solid #aaa; - position: absolute; top: 0; right: 0; - height: 100%; - background: #f6f6f6; - padding: 5px; - min-width: 55px; - text-align: center; -} - -#menu { font-size: 1.3em; color: #bbb; } -#menu .title, #menu a { font-size: 0.7em; } -#menu .title a { font-size: 1em; } -#menu .title { color: #555; } -#menu a, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; } -#menu a:hover { color: #05a; } - -#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; } -#footer a, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; } -#footer a:hover { color: #05a; } - -#listing ul.alpha { font-size: 1.1em; } -#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; } -#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; } -#listing ul.alpha ul { margin: 0; padding-left: 15px; } -#listing ul small { color: #666; font-size: 0.7em; } - -li.r1 { background: #f0f0f0; } -li.r2 { background: #fafafa; } - -#content ul.summary li.deprecated .summary_signature a, -#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; } - -#toc { - position: relative; - float: right; - overflow-x: auto; - right: -3px; - margin-left: 20px; - margin-bottom: 20px; - padding: 20px; padding-right: 30px; - max-width: 300px; - z-index: 5000; - background: #fefefe; - border: 1px solid #ddd; - box-shadow: -2px 2px 6px #bbb; -} -#toc .title { margin: 0; } -#toc ol { padding-left: 1.8em; } -#toc li { font-size: 1.1em; line-height: 1.7em; } -#toc > ol > li { font-size: 1.1em; font-weight: bold; } -#toc ol > ol { font-size: 0.9em; } -#toc ol ol > ol { padding-left: 2.3em; } -#toc ol + li { margin-top: 0.3em; } -#toc.hidden { padding: 10px; background: #fefefe; box-shadow: none; } -#toc.hidden:hover { background: #fafafa; } -#filecontents h1 + #toc.nofloat { margin-top: 0; } -@media (max-width: 560px) { - #toc { - margin-left: 0; - margin-top: 16px; - float: none; - max-width: none; - } -} - -/* syntax highlighting */ -.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; } -#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; } -#filecontents pre.code, .docstring pre.code { display: block; } -.source_code .lines { padding-right: 12px; color: #555; text-align: right; } -#filecontents pre.code, .docstring pre.code, -.tags pre.example { - padding: 9px 14px; - margin-top: 4px; - border: 1px solid #e1e1e8; - background: #f7f7f9; - border-radius: 4px; - font-size: 1em; - overflow-x: auto; - line-height: 1.2em; -} -pre.code { color: #000; tab-size: 2; } -pre.code .info.file { color: #555; } -pre.code .val { color: #036A07; } -pre.code .tstring_content, -pre.code .heredoc_beg, pre.code .heredoc_end, -pre.code .qwords_beg, pre.code .qwords_end, pre.code .qwords_sep, -pre.code .words_beg, pre.code .words_end, pre.code .words_sep, -pre.code .qsymbols_beg, pre.code .qsymbols_end, pre.code .qsymbols_sep, -pre.code .symbols_beg, pre.code .symbols_end, pre.code .symbols_sep, -pre.code .tstring, pre.code .dstring { color: #036A07; } -pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s, -pre.code .rubyid_to_sym, pre.code .rubyid_to_f, -pre.code .dot + pre.code .id, -pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; } -pre.code .comment { color: #0066FF; } -pre.code .const, pre.code .constant { color: #585CF6; } -pre.code .label, -pre.code .symbol { color: #C5060B; } -pre.code .kw, -pre.code .rubyid_require, -pre.code .rubyid_extend, -pre.code .rubyid_include { color: #0000FF; } -pre.code .ivar { color: #318495; } -pre.code .gvar, -pre.code .rubyid_backref, -pre.code .rubyid_nth_ref { color: #6D79DE; } -pre.code .regexp, .dregexp { color: #036A07; } -pre.code a { border-bottom: 1px dotted #bbf; } -/* inline code */ -*:not(pre) > code { - padding: 1px 3px 1px 3px; - border: 1px solid #E1E1E8; - background: #F7F7F9; - border-radius: 4px; -} - -/* Color fix for links */ -#content .summary_desc pre.code .id > .object_link a, /* identifier */ -#content .docstring pre.code .id > .object_link a { color: #0085FF; } -#content .summary_desc pre.code .const > .object_link a, /* constant */ -#content .docstring pre.code .const > .object_link a { color: #585CF6; } diff --git a/doc/file.README.html b/doc/file.README.html deleted file mode 100644 index ff33232..0000000 --- a/doc/file.README.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - File: README - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -
    -

    |

    - -

    [[TOC]]

    - -

    Synopsis

    - -

    HA Proxy is a very powerful and popular open source load -balancer to balance incoming requests between multiple instances of web-, -application- or database servers etc.

    - -

    cd_haproxy automates installation and configuration of -HA proxy including self-healing, monitoring and firewall etc.

    - -

    WARNING

    - -

    **__!!! 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 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!!! __**

    - -

    Features

    - -

    INSTALLATION

    -
    • -

      install rpm binaries

      -
    - -

    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

      -
    - -

    SERVICE

    -
    • -

      manage haproxy service

      -
    • -

      restart service after changes in the configuration

      -
    - -

    Puppet Documentation

    - -

    Dependencies

    - -

    All dependencies must be included in the catalogue.

    - - -

    Deployment

    - -

    native Puppet deployment

    - -

    via site.pp or nodes.pp

    - -
    node 'example.example.net' {
    -  include cd_haproxy
    -}
    - -

    through Foreman

    - -

    Add params.pp to the host or hostgroup.

    - -

    See details.

    - -

    Documentation

    - -

    Parameters

    - -

    The parameters are defined and described in params.pp. The -documentation is provided via puppet strings in HTML format, -please see doc/index.html via web browser.

    - -

    Proxy Configuration

    - -

    Via Define

    - -

    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:

    - -
    cd_haproxy::server::proxy { 'testing':
    -    haproxy_fqdn    =>  'node.example.net',
    -    frontend_name   =>  'test01-frontend',
    -    frontend_mode   =>  'http',
    -    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
    -                          'network_allowed src 0.0.0.0/0'],
    -    backend_name    =>  'test01-backend',
    -  }
    - -

    This class should be placed in an internal configuration repo specific to -your environment.

    - -

    SELINUX

    - -

    All files and directories are configured with correct selinux context. If -selinux is disabled, these contexts are ignored.

    - -

    Known Problems

    - -

    Support

    -
    • -

      OS: CentOS 7

      -
    • -

      Puppet 5.x

      -
    - -

    Tests

    -
    • -

      Puppet Lint

      -
    • -

      excluded tests:

      -
      • -

        --no-class_inherits_from_params_class-check:relevant only to -non-supported outdated puppet versions

        -
      • -

        --no-variable_scope-check: not applicable as we are inheriting -parameters from the params class. the lint check does not distinguish -between facts and inherited parameters.

        -
      • -

        --no-80chars-check: it is not always possible to stay within -80 characters, although typically only occurring on the parameter vault -params.pp.

        -
      • -

        --no-arrow_alignment-check: this check leads to actually not -having easily readable arrow alignments, as this checks per -block, not per class.

        -
      -
    • -

      Puppet Parser

      -
    • -

      ERB Template Parser

      -
    • -

      Test for unwanted UTF8 files

      -
    - -

    Contact Us

    - -

    contact Us

    - -

    Disclaimer

    - -

    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 -environments) for parameter tuning etc. before deploying into production -environments.

    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/frames.html b/doc/frames.html deleted file mode 100644 index b57c778..0000000 --- a/doc/frames.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Documentation by YARD 0.9.16 - - - - diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index 7c8cf3e..0000000 --- a/doc/index.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - File: README - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -
    -

    |

    - -

    [[TOC]]

    - -

    Synopsis

    - -

    HA Proxy is a very powerful and popular open source load -balancer to balance incoming requests between multiple instances of web-, -application- or database servers etc.

    - -

    cd_haproxy automates installation and configuration of -HA proxy including self-healing, monitoring and firewall etc.

    - -

    WARNING

    - -

    **__!!! 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 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!!! __**

    - -

    Features

    - -

    INSTALLATION

    -
    • -

      install rpm binaries

      -
    - -

    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

      -
    - -

    SERVICE

    -
    • -

      manage haproxy service

      -
    • -

      restart service after changes in the configuration

      -
    - -

    Puppet Documentation

    - -

    Dependencies

    - -

    All dependencies must be included in the catalogue.

    - - -

    Deployment

    - -

    native Puppet deployment

    - -

    via site.pp or nodes.pp

    - -
    node 'example.example.net' {
    -  include cd_haproxy
    -}
    - -

    through Foreman

    - -

    Add params.pp to the host or hostgroup.

    - -

    See details.

    - -

    Documentation

    - -

    Parameters

    - -

    The parameters are defined and described in params.pp. The -documentation is provided via puppet strings in HTML format, -please see doc/index.html via web browser.

    - -

    Proxy Configuration

    - -

    Via Define

    - -

    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:

    - -
    cd_haproxy::server::proxy { 'testing':
    -    haproxy_fqdn    =>  'node.example.net',
    -    frontend_name   =>  'test01-frontend',
    -    frontend_mode   =>  'http',
    -    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
    -                          'network_allowed src 0.0.0.0/0'],
    -    backend_name    =>  'test01-backend',
    -  }
    - -

    This class should be placed in an internal configuration repo specific to -your environment.

    - -

    SELINUX

    - -

    All files and directories are configured with correct selinux context. If -selinux is disabled, these contexts are ignored.

    - -

    Known Problems

    - -

    Support

    -
    • -

      OS: CentOS 7

      -
    • -

      Puppet 5.x

      -
    - -

    Tests

    -
    • -

      Puppet Lint

      -
    • -

      excluded tests:

      -
      • -

        --no-class_inherits_from_params_class-check:relevant only to -non-supported outdated puppet versions

        -
      • -

        --no-variable_scope-check: not applicable as we are inheriting -parameters from the params class. the lint check does not distinguish -between facts and inherited parameters.

        -
      • -

        --no-80chars-check: it is not always possible to stay within -80 characters, although typically only occurring on the parameter vault -params.pp.

        -
      • -

        --no-arrow_alignment-check: this check leads to actually not -having easily readable arrow alignments, as this checks per -block, not per class.

        -
      -
    • -

      Puppet Parser

      -
    • -

      ERB Template Parser

      -
    • -

      Test for unwanted UTF8 files

      -
    - -

    Contact Us

    - -

    contact Us

    - -

    Disclaimer

    - -

    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 -environments) for parameter tuning etc. before deploying into production -environments.

    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/js/app.js b/doc/js/app.js deleted file mode 100644 index fecf69d..0000000 --- a/doc/js/app.js +++ /dev/null @@ -1,292 +0,0 @@ -(function() { - -var localStorage = {}, sessionStorage = {}; -try { localStorage = window.localStorage; } catch (e) { } -try { sessionStorage = window.sessionStorage; } catch (e) { } - -function createSourceLinks() { - $('.method_details_list .source_code'). - before("[View source]"); - $('.toggleSource').toggle(function() { - $(this).parent().nextAll('.source_code').slideDown(100); - $(this).text("Hide source"); - }, - function() { - $(this).parent().nextAll('.source_code').slideUp(100); - $(this).text("View source"); - }); -} - -function createDefineLinks() { - var tHeight = 0; - $('.defines').after(" more..."); - $('.toggleDefines').toggle(function() { - tHeight = $(this).parent().prev().height(); - $(this).prev().css('display', 'inline'); - $(this).parent().prev().height($(this).parent().height()); - $(this).text("(less)"); - }, - function() { - $(this).prev().hide(); - $(this).parent().prev().height(tHeight); - $(this).text("more..."); - }); -} - -function createFullTreeLinks() { - var tHeight = 0; - $('.inheritanceTree').toggle(function() { - tHeight = $(this).parent().prev().height(); - $(this).parent().toggleClass('showAll'); - $(this).text("(hide)"); - $(this).parent().prev().height($(this).parent().height()); - }, - function() { - $(this).parent().toggleClass('showAll'); - $(this).parent().prev().height(tHeight); - $(this).text("show all"); - }); -} - -function searchFrameButtons() { - $('.full_list_link').click(function() { - toggleSearchFrame(this, $(this).attr('href')); - return false; - }); - window.addEventListener('message', function(e) { - if (e.data === 'navEscape') { - $('#nav').slideUp(100); - $('#search a').removeClass('active inactive'); - $(window).focus(); - } - }); - - $(window).resize(function() { - if ($('#search:visible').length === 0) { - $('#nav').removeAttr('style'); - $('#search a').removeClass('active inactive'); - $(window).focus(); - } - }); -} - -function toggleSearchFrame(id, link) { - var frame = $('#nav'); - $('#search a').removeClass('active').addClass('inactive'); - if (frame.attr('src') === link && frame.css('display') !== "none") { - frame.slideUp(100); - $('#search a').removeClass('active inactive'); - } - else { - $(id).addClass('active').removeClass('inactive'); - if (frame.attr('src') !== link) frame.attr('src', link); - frame.slideDown(100); - } -} - -function linkSummaries() { - $('.summary_signature').click(function() { - document.location = $(this).find('a').attr('href'); - }); -} - -function summaryToggle() { - $('.summary_toggle').click(function(e) { - e.preventDefault(); - localStorage.summaryCollapsed = $(this).text(); - $('.summary_toggle').each(function() { - $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); - var next = $(this).parent().parent().nextAll('ul.summary').first(); - if (next.hasClass('compact')) { - next.toggle(); - next.nextAll('ul.summary').first().toggle(); - } - else if (next.hasClass('summary')) { - var list = $('
      '); - list.html(next.html()); - list.find('.summary_desc, .note').remove(); - list.find('a').each(function() { - $(this).html($(this).find('strong').html()); - $(this).parent().html($(this)[0].outerHTML); - }); - next.before(list); - next.toggle(); - } - }); - return false; - }); - if (localStorage.summaryCollapsed == "collapse") { - $('.summary_toggle').first().click(); - } else { localStorage.summaryCollapsed = "expand"; } -} - -function constantSummaryToggle() { - $('.constants_summary_toggle').click(function(e) { - e.preventDefault(); - localStorage.summaryCollapsed = $(this).text(); - $('.constants_summary_toggle').each(function() { - $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); - var next = $(this).parent().parent().nextAll('dl.constants').first(); - if (next.hasClass('compact')) { - next.toggle(); - next.nextAll('dl.constants').first().toggle(); - } - else if (next.hasClass('constants')) { - var list = $('
      '); - list.html(next.html()); - list.find('dt').each(function() { - $(this).addClass('summary_signature'); - $(this).text( $(this).text().split('=')[0]); - if ($(this).has(".deprecated").length) { - $(this).addClass('deprecated'); - }; - }); - // Add the value of the constant as "Tooltip" to the summary object - list.find('pre.code').each(function() { - console.log($(this).parent()); - var dt_element = $(this).parent().prev(); - var tooltip = $(this).text(); - if (dt_element.hasClass("deprecated")) { - tooltip = 'Deprecated. ' + tooltip; - }; - dt_element.attr('title', tooltip); - }); - list.find('.docstring, .tags, dd').remove(); - next.before(list); - next.toggle(); - } - }); - return false; - }); - if (localStorage.summaryCollapsed == "collapse") { - $('.constants_summary_toggle').first().click(); - } else { localStorage.summaryCollapsed = "expand"; } -} - -function generateTOC() { - if ($('#filecontents').length === 0) return; - var _toc = $('
        '); - var show = false; - var toc = _toc; - var counter = 0; - var tags = ['h2', 'h3', 'h4', 'h5', 'h6']; - var i; - if ($('#filecontents h1').length > 1) tags.unshift('h1'); - for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; } - var lastTag = parseInt(tags[0][1], 10); - $(tags.join(', ')).each(function() { - if ($(this).parents('.method_details .docstring').length != 0) return; - if (this.id == "filecontents") return; - show = true; - var thisTag = parseInt(this.tagName[1], 10); - if (this.id.length === 0) { - var proposedId = $(this).attr('toc-id'); - if (typeof(proposedId) != "undefined") this.id = proposedId; - else { - var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_'); - if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; } - this.id = proposedId; - } - } - if (thisTag > lastTag) { - for (i = 0; i < thisTag - lastTag; i++) { - var tmp = $('
          '); toc.append(tmp); toc = tmp; - } - } - if (thisTag < lastTag) { - for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent(); - } - var title = $(this).attr('toc-title'); - if (typeof(title) == "undefined") title = $(this).text(); - toc.append('
        1. ' + title + '
        2. '); - lastTag = thisTag; - }); - if (!show) return; - html = ''; - $('#content').prepend(html); - $('#toc').append(_toc); - $('#toc .hide_toc').toggle(function() { - $('#toc .top').slideUp('fast'); - $('#toc').toggleClass('hidden'); - $('#toc .title small').toggle(); - }, function() { - $('#toc .top').slideDown('fast'); - $('#toc').toggleClass('hidden'); - $('#toc .title small').toggle(); - }); -} - -function navResizeFn(e) { - if (e.which !== 1) { - navResizeFnStop(); - return; - } - - sessionStorage.navWidth = e.pageX.toString(); - $('.nav_wrap').css('width', e.pageX); - $('.nav_wrap').css('-ms-flex', 'inherit'); -} - -function navResizeFnStop() { - $(window).unbind('mousemove', navResizeFn); - window.removeEventListener('message', navMessageFn, false); -} - -function navMessageFn(e) { - if (e.data.action === 'mousemove') navResizeFn(e.data.event); - if (e.data.action === 'mouseup') navResizeFnStop(); -} - -function navResizer() { - $('#resizer').mousedown(function(e) { - e.preventDefault(); - $(window).mousemove(navResizeFn); - window.addEventListener('message', navMessageFn, false); - }); - $(window).mouseup(navResizeFnStop); - - if (sessionStorage.navWidth) { - navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)}); - } -} - -function navExpander() { - var done = false, timer = setTimeout(postMessage, 500); - function postMessage() { - if (done) return; - clearTimeout(timer); - var opts = { action: 'expand', path: pathId }; - document.getElementById('nav').contentWindow.postMessage(opts, '*'); - done = true; - } - - window.addEventListener('message', function(event) { - if (event.data === 'navReady') postMessage(); - return false; - }, false); -} - -function mainFocus() { - var hash = window.location.hash; - if (hash !== '' && $(hash)[0]) { - $(hash)[0].scrollIntoView(); - } - - setTimeout(function() { $('#main').focus(); }, 10); -} - -$(document).ready(function() { - navResizer(); - navExpander(); - createSourceLinks(); - createDefineLinks(); - createFullTreeLinks(); - searchFrameButtons(); - linkSummaries(); - summaryToggle(); - constantSummaryToggle(); - generateTOC(); - mainFocus(); -}); - -})(); diff --git a/doc/js/full_list.js b/doc/js/full_list.js deleted file mode 100644 index 59069c5..0000000 --- a/doc/js/full_list.js +++ /dev/null @@ -1,216 +0,0 @@ -(function() { - -var $clicked = $(null); -var searchTimeout = null; -var searchCache = []; -var caseSensitiveMatch = false; -var ignoreKeyCodeMin = 8; -var ignoreKeyCodeMax = 46; -var commandKey = 91; - -RegExp.escape = function(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); -} - -function escapeShortcut() { - $(document).keydown(function(evt) { - if (evt.which == 27) { - window.parent.postMessage('navEscape', '*'); - } - }); -} - -function navResizer() { - $(window).mousemove(function(e) { - window.parent.postMessage({ - action: 'mousemove', event: {pageX: e.pageX, which: e.which} - }, '*'); - }).mouseup(function(e) { - window.parent.postMessage({action: 'mouseup'}, '*'); - }); - window.parent.postMessage("navReady", "*"); -} - -function clearSearchTimeout() { - clearTimeout(searchTimeout); - searchTimeout = null; -} - -function enableLinks() { - // load the target page in the parent window - $('#full_list li').on('click', function(evt) { - $('#full_list li').removeClass('clicked'); - $clicked = $(this); - $clicked.addClass('clicked'); - evt.stopPropagation(); - - if (evt.target.tagName === 'A') return true; - - var elem = $clicked.find('> .item .object_link a')[0]; - var e = evt.originalEvent; - var newEvent = new MouseEvent(evt.originalEvent.type); - newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget); - elem.dispatchEvent(newEvent); - evt.preventDefault(); - return false; - }); -} - -function enableToggles() { - // show/hide nested classes on toggle click - $('#full_list a.toggle').on('click', function(evt) { - evt.stopPropagation(); - evt.preventDefault(); - $(this).parent().parent().toggleClass('collapsed'); - highlight(); - }); -} - -function populateSearchCache() { - $('#full_list li .item').each(function() { - var $node = $(this); - var $link = $node.find('.object_link a'); - if ($link.length > 0) { - searchCache.push({ - node: $node, - link: $link, - name: $link.text(), - fullName: $link.attr('title').split(' ')[0] - }); - } - }); -} - -function enableSearch() { - $('#search input').keyup(function(event) { - if (ignoredKeyPress(event)) return; - if (this.value === "") { - clearSearch(); - } else { - performSearch(this.value); - } - }); - - $('#full_list').after(""); -} - -function ignoredKeyPress(event) { - if ( - (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) || - (event.keyCode == commandKey) - ) { - return true; - } else { - return false; - } -} - -function clearSearch() { - clearSearchTimeout(); - $('#full_list .found').removeClass('found').each(function() { - var $link = $(this).find('.object_link a'); - $link.text($link.text()); - }); - $('#full_list, #content').removeClass('insearch'); - $clicked.parents().removeClass('collapsed'); - highlight(); -} - -function performSearch(searchString) { - clearSearchTimeout(); - $('#full_list, #content').addClass('insearch'); - $('#noresults').text('').hide(); - partialSearch(searchString, 0); -} - -function partialSearch(searchString, offset) { - var lastRowClass = ''; - var i = null; - for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) { - var item = searchCache[i]; - var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name); - var matchString = buildMatchString(searchString); - var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i"); - if (searchName.match(matchRegexp) == null) { - item.node.removeClass('found'); - item.link.text(item.link.text()); - } - else { - item.node.addClass('found'); - item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1'); - lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2'; - item.link.html(item.name.replace(matchRegexp, "$&")); - } - } - if(i == searchCache.length) { - searchDone(); - } else { - searchTimeout = setTimeout(function() { - partialSearch(searchString, i); - }, 0); - } -} - -function searchDone() { - searchTimeout = null; - highlight(); - if ($('#full_list li:visible').size() === 0) { - $('#noresults').text('No results were found.').hide().fadeIn(); - } else { - $('#noresults').text('').hide(); - } - $('#content').removeClass('insearch'); -} - -function buildMatchString(searchString, event) { - caseSensitiveMatch = searchString.match(/[A-Z]/) != null; - var regexSearchString = RegExp.escape(searchString); - if (caseSensitiveMatch) { - regexSearchString += "|" + - $.map(searchString.split(''), function(e) { return RegExp.escape(e); }). - join('.+?'); - } - return regexSearchString; -} - -function highlight() { - $('#full_list li:visible').each(function(n) { - $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even'); - }); -} - -/** - * Expands the tree to the target element and its immediate - * children. - */ -function expandTo(path) { - var $target = $(document.getElementById('object_' + path)); - $target.addClass('clicked'); - $target.removeClass('collapsed'); - $target.parentsUntil('#full_list', 'li').removeClass('collapsed'); - if($target[0]) { - window.scrollTo(window.scrollX, $target.offset().top - 250); - highlight(); - } -} - -function windowEvents(event) { - var msg = event.data; - if (msg.action === "expand") { - expandTo(msg.path); - } - return false; -} - -window.addEventListener("message", windowEvents, false); - -$(document).ready(function() { - escapeShortcut(); - navResizer(); - enableLinks(); - enableToggles(); - populateSearchCache(); - enableSearch(); -}); - -})(); diff --git a/doc/js/jquery.js b/doc/js/jquery.js deleted file mode 100644 index 198b3ff..0000000 --- a/doc/js/jquery.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html deleted file mode 100644 index 9016561..0000000 --- a/doc/puppet_class_list.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - Puppet Class List - - - -
    -
    -

    Puppet Class List

    - - - -
    - - -
    - - diff --git a/doc/puppet_classes/cd_haproxy.html b/doc/puppet_classes/cd_haproxy.html deleted file mode 100644 index 20980dd..0000000 --- a/doc/puppet_classes/cd_haproxy.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy

    -
    - - -
    -
    Defined in:
    -
    - manifests/init.pp -
    -
    -
    - -

    Summary

    - Class initializes the cd_haproxy module. - -

    Overview

    -
    -
    - -

    cd_haproxy::init.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    -
    - - - - -
    -
    -
    -
    -23
    -24
    -25
    -
    -
    # File 'manifests/init.pp', line 23
    -
    -class cd_haproxy {
    -  include cd_haproxy::params
    -}
    -
    - - - - - - - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html deleted file mode 100644 index a6f2326..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::firewall::iptables - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::firewall::iptables

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/firewall/iptables.pp -
    -
    -
    - -

    Summary

    - manage firewall settings through cd_firewall or puppetlabs-firewall - -

    Overview

    -
    -
    - -

    cd_haproxy::firewall::iptables.pp Module name: cd_haproxy Author: Arne -Teuke (arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -
    -
    # File 'manifests/firewall/iptables.pp', line 23
    -
    -class cd_haproxy::firewall::iptables (
    -
    -) inherits cd_haproxy::params {
    -
    -  if ($fqdn == $hy_host_fqdn) and ($hy_manage_fw == true) {
    -
    -    require cd_haproxy::main::files
    -
    -    firewall { "${hy_fw_order_no}${hy_http_port} tcp port ${hy_http_port}":
    -      proto   => 'tcp',
    -      dport   => $hy_http_port,
    -      action  => 'accept',
    -    }
    -
    -    firewall { "${hy_fw_order_no}${hy_https_port} tcp port ${hy_https_port}":
    -      proto   => 'tcp',
    -      dport   => $hy_https_port,
    -      action  => 'accept',
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html deleted file mode 100644 index 23609df..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::main::config - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::main::config

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/main/config.pp -
    -
    -
    - -

    Summary

    - Class manages all aspects of configuring the module logic for -cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::main::config.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -
    -
    # File 'manifests/main/config.pp', line 24
    -
    -class cd_haproxy::main::config (
    -
    -) inherits cd_haproxy::params {
    -
    -  include cd_haproxy::server::service
    -  include cd_haproxy::server::proxy_test
    -
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html deleted file mode 100644 index 94fe58b..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::main::dirs - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::main::dirs

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/main/dirs.pp -
    -
    -
    - -

    Summary

    - Class manages all directories required for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::main::dirs.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -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
    -
    -
    # File 'manifests/main/dirs.pp', line 23
    -
    -class cd_haproxy::main::dirs (
    -
    -) inherits cd_haproxy::params {
    -
    -  if $fqdn == $hy_host_fqdn {
    -    require cd_haproxy::main::user
    -
    -    # main dir
    -    file { $hy_main_dir:
    -      ensure    =>  directory,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0755',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -    }
    -
    -    # errors dir
    -    file { $hy_errors_dir:
    -      ensure    =>  directory,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0755',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html deleted file mode 100644 index 7de5c7d..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::main::files - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::main::files

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/main/files.pp -
    -
    -
    - -

    Summary

    - Class manages all configuration files required for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::main::files.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -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
    -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
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -
    -
    # File 'manifests/main/files.pp', line 23
    -
    -class cd_haproxy::main::files (
    -
    -) inherits cd_haproxy::params {
    -
    -  if $fqdn == $hy_host_fqdn {
    -    require cd_haproxy::main::dirs
    -
    -    # create the concat target
    -    concat {$hy_main_config:
    -      ensure    =>  present,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0640',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    # create the header
    -    concat::fragment { 'header':
    -      target    =>  $hy_main_config,
    -      content   =>  template($hy_config_head_erb),
    -      order     =>  '001',
    -    }
    -
    -    # pid file
    -    file { $hy_pid:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  haproxy_var_run_t,
    -      seluser   =>  system_u,
    -    }
    -
    -    # error files
    -    file { $hy_400_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_400_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_403_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_403_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_408_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_408_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_500_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_500_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_502_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_502_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_503_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_503_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -
    -    file { $hy_504_file:
    -      ensure    =>  file,
    -      owner     =>  'root',
    -      group     =>  'root',
    -      mode      =>  '0644',
    -      selrange  =>  s0,
    -      selrole   =>  object_r,
    -      seltype   =>  etc_t,
    -      seluser   =>  system_u,
    -      content   =>  template($hy_504_erb),
    -      notify    =>  Service[$hy_service],
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html deleted file mode 100644 index bda5caa..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::main::install - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::main::install

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/main/install.pp -
    -
    -
    - -

    Summary

    - Class manage all aspects of installing binaries required for -cd_haproxy - -

    Overview

    -
    -
    - -

    cd_haproxy::main::install.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -
    -
    # File 'manifests/main/install.pp', line 24
    -
    -class cd_haproxy::main::install (
    -
    -) inherits cd_haproxy::params {
    -
    -  if $fqdn == $hy_host_fqdn {
    -    package {$reqpackages:
    -      ensure => $pkg_ensure,
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html deleted file mode 100644 index d1f0428..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::main::user - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::main::user

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/main/user.pp -
    -
    -
    - -

    Summary

    - Class manages service users for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::main::user.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@ConfDroid.com)

    - -

    License:

    - -

    This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HAproxy -Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -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
    -
    -
    # File 'manifests/main/user.pp', line 23
    -
    -class cd_haproxy::main::user (
    -
    -) inherits cd_haproxy::params {
    -
    -  if $fqdn == $hy_host_fqdn {
    -    require cd_haproxy::main::install
    -
    -    # manage user
    -    user { $hy_user_name:
    -      ensure      =>  present,
    -      name        =>  $hy_user_name,
    -      allowdupe   =>  false,
    -      comment     =>  $hy_user_comment,
    -      gid         =>  $hy_user_name,
    -      managehome  =>  true,
    -      home        =>  $hy_user_home,
    -      shell       =>  $hy_user_shell,
    -    }
    -
    -    group { $hy_user_name:
    -      ensure      =>  present,
    -      name        =>  $hy_user_name,
    -      allowdupe   =>  false,
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aparams.html b/doc/puppet_classes/cd_haproxy_3A_3Aparams.html deleted file mode 100644 index 26b9ba5..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Aparams.html +++ /dev/null @@ -1,922 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::params - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::params

    - - -

    Summary

    - Class holds all parameters for the cd_haproxy module and is -inherited by all classes except defines. - -

    Overview

    -
    -
    - -

    cd_haproxy::params.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    -

    Parameters:

    -
      - -
    • - - pkg_ensure - - - (string) - - - (defaults to: 'latest') - - - — -
      -

      which package -type to choose, i.e. latest or present.

      -
      - -
    • - -
    • - - reqpackages - - - (string) - - - (defaults to: ['haproxy']) - - - — -
      -

      specify th epackages to be installed

      -
      - -
    • - -
    • - - hy_host_fqdn - - - (string) - - - (defaults to: "proxy.${::domain}") - - - — -
      -

      the fqdn of the ha proxy host. mmust be fqdn, not cname. specify multiple -fqdns via array.

      -
      - -
    • - -
    • - - hy_manage_fw - - - (boolean) - - - (defaults to: true) - - - — -
      -

      whether to manage the firewall.

      -
      - -
    • - -
    • - - hy_fw_order_no - - - (string) - - - (defaults to: '50') - - - — -
      -

      the rule number to control the oder of the firewall rules.

      -
      - -
    • - -
    • - - hy_http_port - - - (string) - - - (defaults to: '80') - - - — -
      -

      the http port. used in firewall settings

      -
      - -
    • - -
    • - - hy_https_port - - - (string) - - - (defaults to: '443') - - - — -
      -

      the https port. used in firewall settings

      -
      - -
    • - -
    • - - hy_user_name - - - (string) - - - (defaults to: 'haproxy') - - - — -
      -

      the name of the haproxy service user.

      -
      - -
    • - -
    • - - hy_user_comment - - - (string) - - - (defaults to: 'haproxy user') - - - — -
      -

      the comment of the haproxy user, shows up in emails sent from haproxy.

      -
      - -
    • - -
    • - - hy_user_home - - - (string) - - - (defaults to: '/var/lib/haproxy') - - - — -
      -

      the home directory for the haprxy user.

      -
      - -
    • - -
    • - - hy_user_shell - - - (string) - - - (defaults to: '/sbin/nologin') - - - — -
      -

      the shell for the haproxy user.

      -
      - -
    • - -
    • - - hy_log_target - - - (string) - - - (defaults to: '127.0.0.1') - - - — -
      -

      Where to send the logs for this haproxy. Currently only local logging / -rsyslog forwarding supported.

      -
      - -
    • - -
    • - - hy_log_facility - - - (string) - - - (defaults to: 'local2') - - - — -
      -

      which logging facility to use.

      -
      - -
    • - -
    • - - hy_chroot - - - (string) - - - (defaults to: '/var/lib/haproxy') - - - — -
      -

      where the chroot should be

      -
      - -
    • - -
    • - - hy_pid - - - (string) - - - (defaults to: '/var/run/haproxy.pid') - - - — -
      -

      the pid file to use.

      -
      - -
    • - -
    • - - hy_maxconn - - - (string) - - - (defaults to: '4000') - - - — -
      -

      how many connections should we max allow.

      -
      - -
    • - -
    • - - hy_show_stats - - - (boolean) - - - (defaults to: true) - - - — -
      -

      whether we want to display the statistics page

      -
      - -
    • - -
    • - - hy_stats_socket - - - (string) - - - (defaults to: '/var/lib/haproxy/stats') - - - — -
      -

      name and path of the stats socket

      -
      - -
    • - -
    • - - hy_default_mode - - - (string) - - - (defaults to: 'http') - - - — -
      -

      which mode to use in the defaults block

      -
      - -
    • - -
    • - - hy_log_default - - - (string) - - - (defaults to: 'global') - - - — -
      -

      should be used when the instance's logging parameters are the same as -the global ones.

      -
      - -
    • - -
    • - - hy_use_httplog - - - (boolean) - - - (defaults to: true) - - - — -
      -

      whether to use httplogging option. Enable logging of HTTP request, session -state and timers

      -
      - -
    • - -
    • - - hy_use_dontlognull - - - (boolean) - - - (defaults to: true) - - - — -
      -

      Whether to enable or disable dontlognull option. true enables, false -disables.

      -
      - -
    • - -
    • - - hy_use_http_server_close - - - (boolean) - - - (defaults to: true) - - - — -
      -

      Enable or disable HTTP connection closing on the server side

      -
      - -
    • - -
    • - - hy_use_forward_for - - - (boolean) - - - (defaults to: true) - - - — -
      -

      Enable insertion of the X-Forwarded-For header to requests sent to servers.

      -
      - -
    • - -
    • - - hy_use_redispatch - - - (boolean) - - - (defaults to: true) - - - — -
      -

      Enable or disable session redistribution in case of connection failure.

      -
      - -
    • - -
    • - - hy_max_retries - - - (string) - - - (defaults to: '3') - - - — -
      -

      Set the number of retries to perform on a server after a connection -failure.

      -
      - -
    • - -
    • - - hy_timeout_http_request - - - (string) - - - (defaults to: '10s') - - - — -
      -

      Set the maximum allowed time to wait for a complete HTTP request.

      -
      - -
    • - -
    • - - hy_timeout_queue - - - (string) - - - (defaults to: '1m') - - - — -
      -

      Set the maximum time to wait in the queue for a connection slot to be free.

      -
      - -
    • - -
    • - - hy_hy_timeout_connect - - - (string) - - - - — -
      -

      Set the maximum time to wait for a connection attempt to a server to -succeed.

      -
      - -
    • - -
    • - - hy_timeout_client - - - (string) - - - (defaults to: '1m') - - - — -
      -

      Set the maximum inactivity time on the client side.

      -
      - -
    • - -
    • - - hy_timeout_server - - - (string) - - - (defaults to: '1m') - - - — -
      -

      Set the maximum inactivity time on the server side.

      -
      - -
    • - -
    • - - hy_timeout_connect - - - (Any) - - - (defaults to: '10s') - - -
    • - -
    • - - hy_timeout_http_keep_alive - - - (Any) - - - (defaults to: '10s') - - -
    • - -
    • - - hy_timeout_check - - - (Any) - - - (defaults to: '10s') - - -
    • - -
    - - -

    See Also:

    - - -
    - - - - - -
    -
    -
    -
    -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
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -
    -
    # File 'manifests/params.pp', line 74
    -
    -class cd_haproxy::params (
    -
    -$pkg_ensure                   = 'latest',
    -$reqpackages                  = ['haproxy'],
    -
    -$hy_host_fqdn                 = "proxy.${::domain}",
    -
    -# firewall
    -$hy_manage_fw                 = true,
    -$hy_fw_order_no               = '50',
    -
    -# main config
    -$hy_http_port                 = '80',
    -$hy_https_port                = '443',
    -$hy_chroot                    = '/var/lib/haproxy',
    -$hy_pid                       = '/var/run/haproxy.pid',
    -$hy_maxconn                   = '4000',
    -$hy_show_stats                = true,
    -$hy_stats_socket              = '/var/lib/haproxy/stats',
    -$hy_default_mode              = 'http',
    -$hy_use_http_server_close     = true,
    -$hy_use_forward_for           = true,
    -$hy_use_redispatch            = true,
    -$hy_max_retries               = '3',
    -$hy_timeout_http_request      = '10s',
    -$hy_timeout_queue             = '1m',
    -$hy_timeout_connect           = '10s',
    -$hy_timeout_client            = '1m',
    -$hy_timeout_server            = '1m',
    -$hy_timeout_http_keep_alive   = '10s',
    -$hy_timeout_check             = '10s',
    -
    -# user
    -$hy_user_name                 = 'haproxy',
    -$hy_user_comment              = 'haproxy user',
    -$hy_user_home                 = '/var/lib/haproxy',
    -$hy_user_shell                = '/sbin/nologin',
    -
    -# logging
    -$hy_log_target                = '127.0.0.1',
    -$hy_log_facility              = 'local2',
    -$hy_log_default               = 'global',
    -$hy_use_httplog               = true,
    -$hy_use_dontlognull           = true,
    -
    -) {
    -
    -# service
    -$hy_service           = 'haproxy'
    -
    -# directories
    -$hy_main_dir          = '/etc/haproxy'
    -$hy_errors_dir        = "${hy_main_dir}/errors"
    -
    -# files
    -$hy_main_config       = "${hy_main_dir}/haproxy.cfg"
    -$hy_config_head_erb   = 'cd_haproxy/haproxy_head.erb'
    -$hy_400_file          = "${hy_errors_dir}/400.http"
    -$hy_400_erb           = 'cd_haproxy/errors/400_http.erb'
    -$hy_403_file          = "${hy_errors_dir}/403.http"
    -$hy_403_erb           = 'cd_haproxy/errors/403_http.erb'
    -$hy_408_file          = "${hy_errors_dir}/408.http"
    -$hy_408_erb           = 'cd_haproxy/errors/408_http.erb'
    -$hy_500_file          = "${hy_errors_dir}/500.http"
    -$hy_500_erb           = 'cd_haproxy/errors/500_http.erb'
    -$hy_502_file          = "${hy_errors_dir}/502.http"
    -$hy_502_erb           = 'cd_haproxy/errors/502_http.erb'
    -$hy_503_file          = "${hy_errors_dir}/503.http"
    -$hy_503_erb           = 'cd_haproxy/errors/503_http.erb'
    -$hy_504_file          = "${hy_errors_dir}/504.http"
    -$hy_504_erb           = 'cd_haproxy/errors/504_http.erb'
    -
    -# includes must be last
    -
    -  include cd_haproxy::main::config
    -
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html deleted file mode 100644 index da9afe2..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::server::proxy_test - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::server::proxy_test

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/server/proxy_test.pp -
    -
    -
    - -

    Summary

    - Define manages the proxies for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::server::proxy_test.pp Module name: cd_haproxy Author: Arne -Teuke (arne_teuke@ConfDroid.com)

    - -

    License:

    - -

    This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HAProxy -Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -
    -
    # File 'manifests/server/proxy_test.pp', line 23
    -
    -class cd_haproxy::server::proxy_test (
    -
    -) inherits cd_haproxy::params {
    -
    -  cd_haproxy::server::proxy { 'testing':
    -    haproxy_fqdn    =>  'pxe703.studydivision.local',
    -    frontend_name   =>  'test01-frontend',
    -    frontend_mode   =>  'http',
    -    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
    -                        'network_allowed src 0.0.0.0/0'],
    -    fe_maxconn      =>  '10000',
    -    backend_name    =>  'test01-backend',
    -    be_server_name  =>  ['web01 web01.confdroid.com:80 check',
    -                        'web02 web02.confdroid.com:80 check'],
    -
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html deleted file mode 100644 index cf281a5..0000000 --- a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - Puppet Class: cd_haproxy::server::service - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Puppet Class: cd_haproxy::server::service

    -
    - -
    -
    Inherits:
    -
    cd_haproxy::params
    -
    - - -
    -
    Defined in:
    -
    - manifests/server/service.pp -
    -
    -
    - -

    Summary

    - Class manages the service(s) for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::server::service.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HA proxy. -Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    - - -
    - - - - - -
    -
    -
    -
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -
    -
    # File 'manifests/server/service.pp', line 23
    -
    -class cd_haproxy::server::service (
    -
    -) inherits cd_haproxy::params {
    -
    -  if $fqdn == $hy_host_fqdn {
    -
    -    require cd_haproxy::firewall::iptables
    -
    -    service { $hy_service:
    -      ensure      => running,
    -      hasstatus   => true,
    -      hasrestart  => true,
    -      enable      => true,
    -    }
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html deleted file mode 100644 index b481508..0000000 --- a/doc/puppet_defined_type_list.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - Defined Type List - - - -
    -
    -

    Defined Type List

    - - - -
    - - -
    - - diff --git a/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html b/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html deleted file mode 100644 index 589e533..0000000 --- a/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - Defined Type: cd_haproxy::server::proxy - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Defined Type: cd_haproxy::server::proxy

    -
    -
    -
    Defined in:
    -
    - manifests/server/proxy.pp -
    -
    -
    - -

    Summary

    - Define manages the proxies for cd_haproxy. - -

    Overview

    -
    -
    - -

    cd_haproxy::server::proxy.pp Module name: cd_haproxy Author: Arne Teuke -(arne_teuke@ConfDroid.com)

    - -

    License:

    - -

    This file is part of cd_haproxy.

    - -

    cd_haproxy is used for providing automatic configuration of HAProxy -Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is -free software: you can redistribute it and/or modify it under the terms of -the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version.

    - -

    This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details.

    - -

    You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

    - -
    -
    - - -
    -

    Parameters:

    -
      - -
    • - - haproxy_fqdn - - - (string) - - - (defaults to: undef) - - - — -
      -

      the fqdn of the haproxy server in question.

      -
      - -
    • - -
    • - - frontend_name - - - (string) - - - (defaults to: undef) - - - — -
      -

      the name for the frontend section rule.

      -
      - -
    • - -
    • - - frontend_order - - - (string) - - - (defaults to: '010') - - - — -
      -

      the order where the concat should appear in the file.

      -
      - -
    • - -
    • - - frontend_mode - - - (string) - - - (defaults to: undef) - - - — -
      -

      mode for the loadbalancer instance: http or tcp

      -
      - -
    • - -
    • - - fe_use_backend - - - (string) - - - (defaults to: '') - - - — -
      -

      which backend to use. if left empty, the default backend will be used.

      -
      - -
    • - -
    • - - fe_bind_mode - - - (string) - - - (defaults to: '*:80') - - - — -
      -

      which bind mode to use, i.e. to which interface and poort to bind.

      -
      - -
    • - -
    • - - acl_rule - - - (string) - - - (defaults to: '') - - - — -
      -

      an ACL rule to be inserted if required. Empty values will not be populated.

      -
      - -
    • - -
    • - - acl_order - - - (string) - - - (defaults to: '020') - - - — -
      -

      the order where the acl rule should be inserted, so it will be within the -correct lb instance configuration.

      -
      - -
    • - -
    • - - backend_name - - - (string) - - - (defaults to: undef) - - - — -
      -

      the backend name to be used for the rule.

      -
      - -
    • - -
    • - - backend_order - - - (string) - - - (defaults to: '030') - - - — -
      -

      the order for the backend name, so it will be within the correct lb -instance configuration.

      -
      - -
    • - -
    • - - fe_maxconn - - - (string) - - - (defaults to: undef) - - - — -
      -

      the maximum connections for the lb instance.

      -
      - -
    • - -
    • - - be_server_name - - - (Any) - - - (defaults to: undef) - - -
    • - -
    - - -
    - - - - - -
    -
    -
    -
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -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
    -
    -
    # File 'manifests/server/proxy.pp', line 40
    -
    -define cd_haproxy::server::proxy (
    -
    -$haproxy_fqdn     = undef,
    -$frontend_name    = undef,
    -$frontend_mode    = undef,
    -$fe_use_backend   = '',
    -$fe_bind_mode     = '*:80',
    -$frontend_order   = '010',
    -$acl_rule         = '',
    -$acl_order        = '020',
    -$backend_name     = undef,
    -$backend_order    = '030',
    -$fe_maxconn       = undef,
    -$be_server_name   = undef,
    -
    -
    -) {
    -
    -$hy_main_config   = '/etc/haproxy/haproxy.cfg'
    -$hy_frontendrule  = 'cd_haproxy/haproxy_frontend_rule.erb'
    -$hy_backendrule   = 'cd_haproxy/haproxy_backend_rule.erb'
    -$hy_acl_rule      = 'cd_haproxy/haproxy_acl_rule.erb'
    -
    -  # create frontend section
    -  concat::fragment { "frontend_${name}":
    -    target  =>  $hy_main_config,
    -    content =>  template($hy_frontendrule),
    -    order   =>  $frontend_order,
    -  }
    -
    -  # create acl section
    -  concat::fragment { "acl_${name}":
    -    target  =>  $hy_main_config,
    -    content =>  template($hy_acl_rule),
    -    order   =>  $acl_order,
    -  }
    -
    -  # create backend section
    -  concat::fragment { "backend_${name}":
    -    target  =>  $hy_main_config,
    -    content =>  template($hy_backendrule),
    -    order   =>  $backend_order,
    -  }
    -}
    -
    -
    -
    - - - -
    - - \ No newline at end of file diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html deleted file mode 100644 index ffe07ca..0000000 --- a/doc/top-level-namespace.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - Top Level Namespace - - — Documentation by YARD 0.9.16 - - - - - - - - - - - - - - - - - - - -
    - - -

    Top Level Namespace - - - -

    -
    - - - - - - - - - - - -
    - - - - - - - - - - -
    - - - -
    - - \ No newline at end of file diff --git a/tests/UTF_Files b/tests/UTF_Files deleted file mode 100644 index a138597..0000000 --- a/tests/UTF_Files +++ /dev/null @@ -1,6 +0,0 @@ -./.yardoc/object_types: data -./.yardoc/proxy_types: Applesoft BASIC program data -./.yardoc/complete: empty -./.yardoc/objects/root.dat: data -./doc/css/style.css: HTML document, UTF-8 Unicode text, with very long lines -./doc/js/jquery.js: HTML document, UTF-8 Unicode text, with very long lines From b9bb14f08b7026a65b9341527f61c32645a27f92 Mon Sep 17 00:00:00 2001 From: Jenkins ConfDroid Date: Thu, 9 Sep 2021 13:16:51 +0200 Subject: [PATCH 10/10] recommit for updates in build 117 --- doc/_index.html | 181 ++++ doc/css/common.css | 8 + doc/css/full_list.css | 58 ++ doc/css/style.css | 496 ++++++++++ doc/file.README.html | 252 +++++ doc/frames.html | 17 + doc/index.html | 252 +++++ doc/js/app.js | 292 ++++++ doc/js/full_list.js | 216 ++++ doc/js/jquery.js | 4 + doc/puppet_class_list.html | 117 +++ doc/puppet_classes/cd_haproxy.html | 136 +++ ...d_haproxy_3A_3Afirewall_3A_3Aiptables.html | 177 ++++ .../cd_haproxy_3A_3Amain_3A_3Aconfig.html | 152 +++ .../cd_haproxy_3A_3Amain_3A_3Adirs.html | 199 ++++ .../cd_haproxy_3A_3Amain_3A_3Afiles.html | 399 ++++++++ .../cd_haproxy_3A_3Amain_3A_3Ainstall.html | 156 +++ .../cd_haproxy_3A_3Amain_3A_3Auser.html | 191 ++++ .../cd_haproxy_3A_3Aparams.html | 922 ++++++++++++++++++ ...d_haproxy_3A_3Aserver_3A_3Aproxy_test.html | 173 ++++ .../cd_haproxy_3A_3Aserver_3A_3Aservice.html | 167 ++++ doc/puppet_defined_type_list.html | 54 + .../cd_haproxy_3A_3Aserver_3A_3Aproxy.html | 437 +++++++++ doc/top-level-namespace.html | 98 ++ 24 files changed, 5154 insertions(+) create mode 100644 doc/_index.html create mode 100644 doc/css/common.css create mode 100644 doc/css/full_list.css create mode 100644 doc/css/style.css create mode 100644 doc/file.README.html create mode 100644 doc/frames.html create mode 100644 doc/index.html create mode 100644 doc/js/app.js create mode 100644 doc/js/full_list.js create mode 100644 doc/js/jquery.js create mode 100644 doc/puppet_class_list.html create mode 100644 doc/puppet_classes/cd_haproxy.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aparams.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html create mode 100644 doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html create mode 100644 doc/puppet_defined_type_list.html create mode 100644 doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html create mode 100644 doc/top-level-namespace.html diff --git a/doc/_index.html b/doc/_index.html new file mode 100644 index 0000000..d590fc2 --- /dev/null +++ b/doc/_index.html @@ -0,0 +1,181 @@ + + + + + + + Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
    + + +

    Documentation by YARD 0.9.16

    +
    +

    Alphabetic Index

    + +

    Puppet Class Listing A-Z

    + + + + + + +
    + + + + +
    + + +

    Defined Type Listing A-Z

    + + + + + + +
    + + + + +
    + + + + + + + +

    File Listing

    + + +
    + + +
    + +
    + + + +
    + + \ No newline at end of file diff --git a/doc/css/common.css b/doc/css/common.css new file mode 100644 index 0000000..d28b093 --- /dev/null +++ b/doc/css/common.css @@ -0,0 +1,8 @@ +/* Ensure the search bar doesn't overlap with links */ +.fixed_header { + padding-bottom: 25px; +} + +#full_list { + padding-top: 15px; +} diff --git a/doc/css/full_list.css b/doc/css/full_list.css new file mode 100644 index 0000000..fa35982 --- /dev/null +++ b/doc/css/full_list.css @@ -0,0 +1,58 @@ +body { + margin: 0; + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-size: 13px; + height: 101%; + overflow-x: hidden; + background: #fafafa; +} + +h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } +.clear { clear: both; } +.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; } +#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } +#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } +#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; } +#full_list ul { padding: 0; } +#full_list li { padding: 0; margin: 0; list-style: none; } +#full_list li .item { padding: 5px 5px 5px 12px; } +#noresults { padding: 7px 12px; background: #fff; } +#content.insearch #noresults { margin-left: 7px; } +li.collapsed ul { display: none; } +li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } +li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } +li { color: #888; cursor: pointer; } +li.deprecated { text-decoration: line-through; font-style: italic; } +li.odd { background: #f0f0f0; } +li.even { background: #fafafa; } +.item:hover { background: #ddd; } +li small:before { content: "("; } +li small:after { content: ")"; } +li small.search_info { display: none; } +a, a:visited { text-decoration: none; color: #05a; } +li.clicked > .item { background: #05a; color: #ccc; } +li.clicked > .item a, li.clicked > .item a:visited { color: #eee; } +li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; } +li.collapsed.clicked a.toggle { background-position: top right; } +#search input { border: 1px solid #bbb; border-radius: 3px; } +#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; } +#full_list_nav a, #nav a:visited { color: #358; } +#full_list_nav a:hover { background: transparent; color: #5af; } +#full_list_nav span:after { content: ' | '; } +#full_list_nav span:last-child:after { content: ''; } + +#content h1 { margin-top: 0; } +li { white-space: nowrap; cursor: normal; } +li small { display: block; font-size: 0.8em; } +li small:before { content: ""; } +li small:after { content: ""; } +li small.search_info { display: none; } +#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } +#content.insearch #search { background-position: center right; } +#search input { width: 110px; } + +#full_list.insearch ul { display: block; } +#full_list.insearch .item { display: none; } +#full_list.insearch .found { display: block; padding-left: 11px !important; } +#full_list.insearch li a.toggle { display: none; } +#full_list.insearch li small.search_info { display: block; } diff --git a/doc/css/style.css b/doc/css/style.css new file mode 100644 index 0000000..0bf7e2c --- /dev/null +++ b/doc/css/style.css @@ -0,0 +1,496 @@ +html { + width: 100%; + height: 100%; +} +body { + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-size: 13px; + width: 100%; + margin: 0; + padding: 0; + display: flex; + display: -webkit-flex; + display: -ms-flexbox; +} + +#nav { + position: relative; + width: 100%; + height: 100%; + border: 0; + border-right: 1px dotted #eee; + overflow: auto; +} +.nav_wrap { + margin: 0; + padding: 0; + width: 20%; + height: 100%; + position: relative; + display: flex; + display: -webkit-flex; + display: -ms-flexbox; + flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex: 1 0; +} +#resizer { + position: absolute; + right: -5px; + top: 0; + width: 10px; + height: 100%; + cursor: col-resize; + z-index: 9999; +} +#main { + flex: 5 1; + -webkit-flex: 5 1; + -ms-flex: 5 1; + outline: none; + position: relative; + background: #fff; + padding: 1.2em; + padding-top: 0.2em; +} + +@media (max-width: 920px) { + .nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; } + #resizer { display: none; } + #nav { + z-index: 9999; + background: #fff; + display: none; + position: absolute; + top: 40px; + right: 12px; + width: 500px; + max-width: 80%; + height: 80%; + overflow-y: scroll; + border: 1px solid #999; + border-collapse: collapse; + box-shadow: -7px 5px 25px #aaa; + border-radius: 2px; + } +} + +@media (min-width: 920px) { + body { height: 100%; overflow: hidden; } + #main { height: 100%; overflow: auto; } + #search { display: none; } +} + +#main img { max-width: 100%; } +h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } +h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } +h1.title { margin-bottom: 10px; } +h1.alphaindex { margin-top: 0; font-size: 22px; } +h2 { + padding: 0; + padding-bottom: 3px; + border-bottom: 1px #aaa solid; + font-size: 1.4em; + margin: 1.8em 0 0.5em; + position: relative; +} +h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; } +h2 small a { + display: block; + height: 20px; + border: 1px solid #aaa; + border-bottom: 0; + border-top-left-radius: 5px; + background: #f8f8f8; + position: relative; + padding: 2px 7px; +} +.clear { clear: both; } +.inline { display: inline; } +.inline p:first-child { display: inline; } +.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; } +.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt { + color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em; + border-radius: 4px; +} +.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } +.docstring h1 { font-size: 1.2em; } +.docstring h2 { font-size: 1.1em; } +.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } +.summary_desc .object_link a, .docstring .object_link a { + font-family: monospace; font-size: 1.05em; + color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em; + border-radius: 4px; +} +.rdoc-term { padding-right: 25px; font-weight: bold; } +.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } +.summary_desc pre.code .object_link a, .docstring pre.code .object_link a { + padding: 0px; background: inherit; color: inherit; border-radius: inherit; +} + +/* style for */ +#filecontents table, .docstring table { border-collapse: collapse; } +#filecontents table th, #filecontents table td, +.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } +#filecontents table tr:nth-child(odd), +.docstring table tr:nth-child(odd) { background: #eee; } +#filecontents table tr:nth-child(even), +.docstring table tr:nth-child(even) { background: #fff; } +#filecontents table th, .docstring table th { background: #fff; } + +/* style for
      */ +#filecontents li > p, .docstring li > p { margin: 0px; } +#filecontents ul, .docstring ul { padding-left: 20px; } +/* style for
      */ +#filecontents dl, .docstring dl { border: 1px solid #ccc; } +#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; } +#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; } +#filecontents dd > p, .docstring dd > p { margin: 0px; } + +.note { + color: #222; + margin: 20px 0; + padding: 10px; + border: 1px solid #eee; + border-radius: 3px; + display: block; +} +.docstring .note { + border-left-color: #ccc; + border-left-width: 5px; +} +.note.todo { background: #ffffc5; border-color: #ececaa; } +.note.returns_void { background: #efefef; } +.note.deprecated { background: #ffe5e5; border-color: #e9dada; } +.note.title.deprecated { background: #ffe5e5; border-color: #e9dada; } +.note.private { background: #ffffc5; border-color: #ececaa; } +.note.title { padding: 3px 6px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; } +.summary_signature + .note.title { margin-left: 7px; } +h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; } +.note.title { background: #efefef; } +.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; } +.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; } +.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; } +.note.title.private { background: #d5d5d5; border-color: #c5c5c5; } +.note.title.not_defined_here { background: transparent; border: none; font-style: italic; } +.discussion .note { margin-top: 6px; } +.discussion .note:first-child { margin-top: 0; } + +h3.inherited { + font-style: italic; + font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + font-weight: normal; + padding: 0; + margin: 0; + margin-top: 12px; + margin-bottom: 3px; + font-size: 13px; +} +p.inherited { + padding: 0; + margin: 0; + margin-left: 25px; +} + +.box_info dl { + margin: 0; + border: 0; + width: 100%; + font-size: 1em; + display: flex; + display: -webkit-flex; + display: -ms-flexbox; +} +.box_info dl dt { + flex-shrink: 0; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + width: 100px; + text-align: right; + font-weight: bold; + border: 1px solid #aaa; + border-width: 1px 0px 0px 1px; + padding: 6px 0; + padding-right: 10px; +} +.box_info dl dd { + flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex: 1; + max-width: 420px; + padding: 6px 0; + padding-right: 20px; + border: 1px solid #aaa; + border-width: 1px 1px 0 0; + overflow: hidden; + position: relative; +} +.box_info dl:last-child > * { + border-bottom: 1px solid #aaa; +} +.box_info dl:nth-child(odd) > * { background: #eee; } +.box_info dl:nth-child(even) > * { background: #fff; } +.box_info dl > * { margin: 0; } + +ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; } +.index_inline_list { padding-left: 0; font-size: 1.1em; } + +.index_inline_list li { + list-style: none; + display: inline-block; + padding: 0 12px; + line-height: 30px; + margin-bottom: 5px; +} + +dl.constants { margin-left: 10px; } +dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; } +dl.constants.compact dt { display: inline-block; font-weight: normal } +dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; } +dl.constants .docstring .note:first-child { margin-top: 5px; } + +.summary_desc { + margin-left: 32px; + display: block; + font-family: sans-serif; + font-size: 1.1em; + margin-top: 8px; + line-height: 1.5145em; + margin-bottom: 0.8em; +} +.summary_desc tt { font-size: 0.9em; } +dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; } +dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; } +dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; } +dl.constants .discussion *:first-child { margin-top: 0; } +dl.constants .discussion *:last-child { margin-bottom: 0; } + +.method_details { border-top: 1px dotted #ccc; margin-top: 25px; padding-top: 0; } +.method_details.first { border: 0; margin-top: 5px; } +.method_details.first h3.signature { margin-top: 1em; } +p.signature, h3.signature { + font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace; + padding: 6px 10px; margin-top: 1em; + background: #E8F4FF; border: 1px solid #d8d8e5; border-radius: 5px; +} +p.signature tt, +h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; } +p.signature .overload, +h3.signature .overload { display: block; } +p.signature .extras, +h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; } +p.signature .not_defined_here, +h3.signature .not_defined_here, +p.signature .aliases, +h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; } +p.signature .aliases .names, +h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; } + +.tags .tag_title { font-size: 1.05em; margin-bottom: 0; font-weight: bold; } +.tags .tag_title tt { color: initial; padding: initial; background: initial; } +.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; } +.tags ul li { margin-bottom: 3px; } +.tags ul .name { font-family: monospace; font-weight: bold; } +.tags ul .note { padding: 3px 6px; } +.tags { margin-bottom: 12px; } + +.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; } +.tags .examples .inline p { padding: 0; margin: 0; font-weight: bold; font-size: 1em; } +.tags .examples .inline p:before { content: "▸"; font-size: 1em; margin-right: 5px; } + +.tags .overload .overload_item { list-style: none; margin-bottom: 25px; } +.tags .overload .overload_item .signature { + padding: 2px 8px; + background: #F1F8FF; border: 1px solid #d8d8e5; border-radius: 3px; +} +.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; } +.tags .overload .docstring { margin-top: 15px; } + +.defines { display: none; } + +#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; } + +.showSource { font-size: 0.9em; } +.showSource a, .showSource a:visited { text-decoration: none; color: #666; } + +#content a, #content a:visited { text-decoration: none; color: #05a; } +#content a:hover { background: #ffffa5; } + +ul.summary { + list-style: none; + font-family: monospace; + font-size: 1em; + line-height: 1.5em; + padding-left: 0px; +} +ul.summary a, ul.summary a:visited { + text-decoration: none; font-size: 1.1em; +} +ul.summary li { margin-bottom: 5px; } +.summary_signature { padding: 4px 8px; background: #f8f8f8; border: 1px solid #f0f0f0; border-radius: 5px; } +.summary_signature:hover { background: #CFEBFF; border-color: #A4CCDA; cursor: pointer; } +.summary_signature.deprecated { background: #ffe5e5; border-color: #e9dada; } +ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;} +ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; } +#content .summary_signature:hover a, +#content .summary_signature:hover a:visited { + background: transparent; + color: #049; +} + +p.inherited a { font-family: monospace; font-size: 0.9em; } +p.inherited { word-spacing: 5px; font-size: 1.2em; } + +p.children { font-size: 1.2em; } +p.children a { font-size: 0.9em; } +p.children strong { font-size: 0.8em; } +p.children strong.modules { padding-left: 5px; } + +ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; } +ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; } +ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; } +ul.fullTree li:first-child { padding-top: 0; background: transparent; } +ul.fullTree li:last-child { padding-bottom: 0; } +.showAll ul.fullTree { display: block; } +.showAll .inheritName { display: none; } + +#search { position: absolute; right: 12px; top: 0px; z-index: 9000; } +#search a { + display: block; float: left; + padding: 4px 8px; text-decoration: none; color: #05a; fill: #05a; + border: 1px solid #d8d8e5; + border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; + background: #F1F8FF; + box-shadow: -1px 1px 3px #ddd; +} +#search a:hover { background: #f5faff; color: #06b; fill: #06b; } +#search a.active { + background: #568; padding-bottom: 20px; color: #fff; fill: #fff; + border: 1px solid #457; + border-top-left-radius: 5px; border-top-right-radius: 5px; +} +#search a.inactive { color: #999; fill: #999; } +.inheritanceTree, .toggleDefines { + float: right; + border-left: 1px solid #aaa; + position: absolute; top: 0; right: 0; + height: 100%; + background: #f6f6f6; + padding: 5px; + min-width: 55px; + text-align: center; +} + +#menu { font-size: 1.3em; color: #bbb; } +#menu .title, #menu a { font-size: 0.7em; } +#menu .title a { font-size: 1em; } +#menu .title { color: #555; } +#menu a, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; } +#menu a:hover { color: #05a; } + +#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; } +#footer a, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; } +#footer a:hover { color: #05a; } + +#listing ul.alpha { font-size: 1.1em; } +#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; } +#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; } +#listing ul.alpha ul { margin: 0; padding-left: 15px; } +#listing ul small { color: #666; font-size: 0.7em; } + +li.r1 { background: #f0f0f0; } +li.r2 { background: #fafafa; } + +#content ul.summary li.deprecated .summary_signature a, +#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; } + +#toc { + position: relative; + float: right; + overflow-x: auto; + right: -3px; + margin-left: 20px; + margin-bottom: 20px; + padding: 20px; padding-right: 30px; + max-width: 300px; + z-index: 5000; + background: #fefefe; + border: 1px solid #ddd; + box-shadow: -2px 2px 6px #bbb; +} +#toc .title { margin: 0; } +#toc ol { padding-left: 1.8em; } +#toc li { font-size: 1.1em; line-height: 1.7em; } +#toc > ol > li { font-size: 1.1em; font-weight: bold; } +#toc ol > ol { font-size: 0.9em; } +#toc ol ol > ol { padding-left: 2.3em; } +#toc ol + li { margin-top: 0.3em; } +#toc.hidden { padding: 10px; background: #fefefe; box-shadow: none; } +#toc.hidden:hover { background: #fafafa; } +#filecontents h1 + #toc.nofloat { margin-top: 0; } +@media (max-width: 560px) { + #toc { + margin-left: 0; + margin-top: 16px; + float: none; + max-width: none; + } +} + +/* syntax highlighting */ +.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; } +#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; } +#filecontents pre.code, .docstring pre.code { display: block; } +.source_code .lines { padding-right: 12px; color: #555; text-align: right; } +#filecontents pre.code, .docstring pre.code, +.tags pre.example { + padding: 9px 14px; + margin-top: 4px; + border: 1px solid #e1e1e8; + background: #f7f7f9; + border-radius: 4px; + font-size: 1em; + overflow-x: auto; + line-height: 1.2em; +} +pre.code { color: #000; tab-size: 2; } +pre.code .info.file { color: #555; } +pre.code .val { color: #036A07; } +pre.code .tstring_content, +pre.code .heredoc_beg, pre.code .heredoc_end, +pre.code .qwords_beg, pre.code .qwords_end, pre.code .qwords_sep, +pre.code .words_beg, pre.code .words_end, pre.code .words_sep, +pre.code .qsymbols_beg, pre.code .qsymbols_end, pre.code .qsymbols_sep, +pre.code .symbols_beg, pre.code .symbols_end, pre.code .symbols_sep, +pre.code .tstring, pre.code .dstring { color: #036A07; } +pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s, +pre.code .rubyid_to_sym, pre.code .rubyid_to_f, +pre.code .dot + pre.code .id, +pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; } +pre.code .comment { color: #0066FF; } +pre.code .const, pre.code .constant { color: #585CF6; } +pre.code .label, +pre.code .symbol { color: #C5060B; } +pre.code .kw, +pre.code .rubyid_require, +pre.code .rubyid_extend, +pre.code .rubyid_include { color: #0000FF; } +pre.code .ivar { color: #318495; } +pre.code .gvar, +pre.code .rubyid_backref, +pre.code .rubyid_nth_ref { color: #6D79DE; } +pre.code .regexp, .dregexp { color: #036A07; } +pre.code a { border-bottom: 1px dotted #bbf; } +/* inline code */ +*:not(pre) > code { + padding: 1px 3px 1px 3px; + border: 1px solid #E1E1E8; + background: #F7F7F9; + border-radius: 4px; +} + +/* Color fix for links */ +#content .summary_desc pre.code .id > .object_link a, /* identifier */ +#content .docstring pre.code .id > .object_link a { color: #0085FF; } +#content .summary_desc pre.code .const > .object_link a, /* constant */ +#content .docstring pre.code .const > .object_link a { color: #585CF6; } diff --git a/doc/file.README.html b/doc/file.README.html new file mode 100644 index 0000000..5360084 --- /dev/null +++ b/doc/file.README.html @@ -0,0 +1,252 @@ + + + + + + + File: README + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +
      +

      Readme

      + +

      |cd_haproxy| 1.0.3.0 | |

      + +

      [[TOC]]

      + +

      Synopsis

      + +

      HA Proxy is a very powerful and popular open source load +balancer to balance incoming requests between multiple instances of web-, +application- or database servers etc.

      + +

      cd_haproxy automates installation and configuration of +HA proxy including self-healing, monitoring and firewall etc.

      + +

      WARNING

      + +

      **__!!! 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 +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!!! __**

      + +

      Features

      + +

      INSTALLATION

      +
      • +

        install rpm binaries

        +
      + +

      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

        +
      • +

        front-end options

        +
      • +

        back-end options

        +
      • +

        ACL options

        +
      + +

      SERVICE

      +
      • +

        manage haproxy service

        +
      • +

        restart service after changes in the configuration

        +
      + +

      Dependencies

      + +

      All dependencies must be included in the catalogue.

      + + +

      Deployment

      +
      • +

        native Puppet deployment

        +
      + +

      via site.pp or nodes.pp

      + +
      node 'example.example.net' {
      +  include cd_haproxy
      +}
      +
      • +

        through Foreman:

        +
      + +

      In order to apply parameters through Foreman, +cd_haproxy::params must be added to the host or host group +in question.

      + +

      See more +details about class deployment on Confdroid.com.

      + +

      Parameters

      + +

      The parameters are documented via puppet strings and listed here. Simply open in web browser.

      + +

      Proxy Configuration

      + +

      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:

      + +
      cd_haproxy::server::proxy { 'testing':
      +    haproxy_fqdn    =>  'node.example.net',
      +    frontend_name   =>  'test01-frontend',
      +    frontend_mode   =>  'http',
      +    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
      +                          'network_allowed src 0.0.0.0/0'],
      +    backend_name    =>  'test01-backend',
      +  }
      + +

      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. haproxy_fqdn +must contain the fqdn of the haproxy +server 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.

      + +

      SELINUX

      + +

      All files and directories are configured with correct selinux context. If +selinux is disabled, these contexts are ignored.

      + +

      Known Problems

      + +

      Support

      +
      • +

        OS: CentOS 7

        +
      • +

        Puppet 5

        +
      + +

      Tests

      +
      • +

        Puppet Lint

        +
      • +

        excluded tests:

        +
        • +

          --no-class_inherits_from_params_class-check:relevant only to +non-supported outdated puppet versions

          +
        • +

          --no-variable_scope-check: not applicable as we are inheriting +parameters from params class. the lint check does not distinguish between +facts and inherited parameters.

          +
        • +

          --no-80chars-check: it is not always possible to stay within +80 characters, although typically only occurring on the parameter vault +params.pp.

          +
        • +

          --no-arrow_alignment-check: this check leads to actually not +having am easily readable arrow alignment, as this checks per +block, not per class.

          +
        +
      • +

        Puppet Parser

        +
      • +

        ERB Template Parser

        +
      • +

        Test for unwanted UTF8 files in the Puppet code (see tests/UTF_Files)

        +
      • +

        Markdown-lint

        +
      • +

        Spellcheck

        +
      • +

        Sonar Quality Gate

        +
      + +

      Contact Us

      + +

      contact Us

      + +

      Disclaimer

      + +

      ConfDroid as entity is entirely 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 +environments) for parameter tuning etc. before deploying into production +environments.

      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/frames.html b/doc/frames.html new file mode 100644 index 0000000..b57c778 --- /dev/null +++ b/doc/frames.html @@ -0,0 +1,17 @@ + + + + + Documentation by YARD 0.9.16 + + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..796df7f --- /dev/null +++ b/doc/index.html @@ -0,0 +1,252 @@ + + + + + + + File: README + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +
      +

      Readme

      + +

      |cd_haproxy| 1.0.3.0 | |

      + +

      [[TOC]]

      + +

      Synopsis

      + +

      HA Proxy is a very powerful and popular open source load +balancer to balance incoming requests between multiple instances of web-, +application- or database servers etc.

      + +

      cd_haproxy automates installation and configuration of +HA proxy including self-healing, monitoring and firewall etc.

      + +

      WARNING

      + +

      **__!!! 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 +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!!! __**

      + +

      Features

      + +

      INSTALLATION

      +
      • +

        install rpm binaries

        +
      + +

      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

        +
      • +

        front-end options

        +
      • +

        back-end options

        +
      • +

        ACL options

        +
      + +

      SERVICE

      +
      • +

        manage haproxy service

        +
      • +

        restart service after changes in the configuration

        +
      + +

      Dependencies

      + +

      All dependencies must be included in the catalogue.

      + + +

      Deployment

      +
      • +

        native Puppet deployment

        +
      + +

      via site.pp or nodes.pp

      + +
      node 'example.example.net' {
      +  include cd_haproxy
      +}
      +
      • +

        through Foreman:

        +
      + +

      In order to apply parameters through Foreman, +cd_haproxy::params must be added to the host or host group +in question.

      + +

      See more +details about class deployment on Confdroid.com.

      + +

      Parameters

      + +

      The parameters are documented via puppet strings and listed here. Simply open in web browser.

      + +

      Proxy Configuration

      + +

      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:

      + +
      cd_haproxy::server::proxy { 'testing':
      +    haproxy_fqdn    =>  'node.example.net',
      +    frontend_name   =>  'test01-frontend',
      +    frontend_mode   =>  'http',
      +    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
      +                          'network_allowed src 0.0.0.0/0'],
      +    backend_name    =>  'test01-backend',
      +  }
      + +

      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. haproxy_fqdn +must contain the fqdn of the haproxy +server 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.

      + +

      SELINUX

      + +

      All files and directories are configured with correct selinux context. If +selinux is disabled, these contexts are ignored.

      + +

      Known Problems

      + +

      Support

      +
      • +

        OS: CentOS 7

        +
      • +

        Puppet 5

        +
      + +

      Tests

      +
      • +

        Puppet Lint

        +
      • +

        excluded tests:

        +
        • +

          --no-class_inherits_from_params_class-check:relevant only to +non-supported outdated puppet versions

          +
        • +

          --no-variable_scope-check: not applicable as we are inheriting +parameters from params class. the lint check does not distinguish between +facts and inherited parameters.

          +
        • +

          --no-80chars-check: it is not always possible to stay within +80 characters, although typically only occurring on the parameter vault +params.pp.

          +
        • +

          --no-arrow_alignment-check: this check leads to actually not +having am easily readable arrow alignment, as this checks per +block, not per class.

          +
        +
      • +

        Puppet Parser

        +
      • +

        ERB Template Parser

        +
      • +

        Test for unwanted UTF8 files in the Puppet code (see tests/UTF_Files)

        +
      • +

        Markdown-lint

        +
      • +

        Spellcheck

        +
      • +

        Sonar Quality Gate

        +
      + +

      Contact Us

      + +

      contact Us

      + +

      Disclaimer

      + +

      ConfDroid as entity is entirely 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 +environments) for parameter tuning etc. before deploying into production +environments.

      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/js/app.js b/doc/js/app.js new file mode 100644 index 0000000..fecf69d --- /dev/null +++ b/doc/js/app.js @@ -0,0 +1,292 @@ +(function() { + +var localStorage = {}, sessionStorage = {}; +try { localStorage = window.localStorage; } catch (e) { } +try { sessionStorage = window.sessionStorage; } catch (e) { } + +function createSourceLinks() { + $('.method_details_list .source_code'). + before("[View source]"); + $('.toggleSource').toggle(function() { + $(this).parent().nextAll('.source_code').slideDown(100); + $(this).text("Hide source"); + }, + function() { + $(this).parent().nextAll('.source_code').slideUp(100); + $(this).text("View source"); + }); +} + +function createDefineLinks() { + var tHeight = 0; + $('.defines').after(" more..."); + $('.toggleDefines').toggle(function() { + tHeight = $(this).parent().prev().height(); + $(this).prev().css('display', 'inline'); + $(this).parent().prev().height($(this).parent().height()); + $(this).text("(less)"); + }, + function() { + $(this).prev().hide(); + $(this).parent().prev().height(tHeight); + $(this).text("more..."); + }); +} + +function createFullTreeLinks() { + var tHeight = 0; + $('.inheritanceTree').toggle(function() { + tHeight = $(this).parent().prev().height(); + $(this).parent().toggleClass('showAll'); + $(this).text("(hide)"); + $(this).parent().prev().height($(this).parent().height()); + }, + function() { + $(this).parent().toggleClass('showAll'); + $(this).parent().prev().height(tHeight); + $(this).text("show all"); + }); +} + +function searchFrameButtons() { + $('.full_list_link').click(function() { + toggleSearchFrame(this, $(this).attr('href')); + return false; + }); + window.addEventListener('message', function(e) { + if (e.data === 'navEscape') { + $('#nav').slideUp(100); + $('#search a').removeClass('active inactive'); + $(window).focus(); + } + }); + + $(window).resize(function() { + if ($('#search:visible').length === 0) { + $('#nav').removeAttr('style'); + $('#search a').removeClass('active inactive'); + $(window).focus(); + } + }); +} + +function toggleSearchFrame(id, link) { + var frame = $('#nav'); + $('#search a').removeClass('active').addClass('inactive'); + if (frame.attr('src') === link && frame.css('display') !== "none") { + frame.slideUp(100); + $('#search a').removeClass('active inactive'); + } + else { + $(id).addClass('active').removeClass('inactive'); + if (frame.attr('src') !== link) frame.attr('src', link); + frame.slideDown(100); + } +} + +function linkSummaries() { + $('.summary_signature').click(function() { + document.location = $(this).find('a').attr('href'); + }); +} + +function summaryToggle() { + $('.summary_toggle').click(function(e) { + e.preventDefault(); + localStorage.summaryCollapsed = $(this).text(); + $('.summary_toggle').each(function() { + $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); + var next = $(this).parent().parent().nextAll('ul.summary').first(); + if (next.hasClass('compact')) { + next.toggle(); + next.nextAll('ul.summary').first().toggle(); + } + else if (next.hasClass('summary')) { + var list = $('
        '); + list.html(next.html()); + list.find('.summary_desc, .note').remove(); + list.find('a').each(function() { + $(this).html($(this).find('strong').html()); + $(this).parent().html($(this)[0].outerHTML); + }); + next.before(list); + next.toggle(); + } + }); + return false; + }); + if (localStorage.summaryCollapsed == "collapse") { + $('.summary_toggle').first().click(); + } else { localStorage.summaryCollapsed = "expand"; } +} + +function constantSummaryToggle() { + $('.constants_summary_toggle').click(function(e) { + e.preventDefault(); + localStorage.summaryCollapsed = $(this).text(); + $('.constants_summary_toggle').each(function() { + $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); + var next = $(this).parent().parent().nextAll('dl.constants').first(); + if (next.hasClass('compact')) { + next.toggle(); + next.nextAll('dl.constants').first().toggle(); + } + else if (next.hasClass('constants')) { + var list = $('
        '); + list.html(next.html()); + list.find('dt').each(function() { + $(this).addClass('summary_signature'); + $(this).text( $(this).text().split('=')[0]); + if ($(this).has(".deprecated").length) { + $(this).addClass('deprecated'); + }; + }); + // Add the value of the constant as "Tooltip" to the summary object + list.find('pre.code').each(function() { + console.log($(this).parent()); + var dt_element = $(this).parent().prev(); + var tooltip = $(this).text(); + if (dt_element.hasClass("deprecated")) { + tooltip = 'Deprecated. ' + tooltip; + }; + dt_element.attr('title', tooltip); + }); + list.find('.docstring, .tags, dd').remove(); + next.before(list); + next.toggle(); + } + }); + return false; + }); + if (localStorage.summaryCollapsed == "collapse") { + $('.constants_summary_toggle').first().click(); + } else { localStorage.summaryCollapsed = "expand"; } +} + +function generateTOC() { + if ($('#filecontents').length === 0) return; + var _toc = $('
          '); + var show = false; + var toc = _toc; + var counter = 0; + var tags = ['h2', 'h3', 'h4', 'h5', 'h6']; + var i; + if ($('#filecontents h1').length > 1) tags.unshift('h1'); + for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; } + var lastTag = parseInt(tags[0][1], 10); + $(tags.join(', ')).each(function() { + if ($(this).parents('.method_details .docstring').length != 0) return; + if (this.id == "filecontents") return; + show = true; + var thisTag = parseInt(this.tagName[1], 10); + if (this.id.length === 0) { + var proposedId = $(this).attr('toc-id'); + if (typeof(proposedId) != "undefined") this.id = proposedId; + else { + var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_'); + if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; } + this.id = proposedId; + } + } + if (thisTag > lastTag) { + for (i = 0; i < thisTag - lastTag; i++) { + var tmp = $('
            '); toc.append(tmp); toc = tmp; + } + } + if (thisTag < lastTag) { + for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent(); + } + var title = $(this).attr('toc-title'); + if (typeof(title) == "undefined") title = $(this).text(); + toc.append('
          1. ' + title + '
          2. '); + lastTag = thisTag; + }); + if (!show) return; + html = ''; + $('#content').prepend(html); + $('#toc').append(_toc); + $('#toc .hide_toc').toggle(function() { + $('#toc .top').slideUp('fast'); + $('#toc').toggleClass('hidden'); + $('#toc .title small').toggle(); + }, function() { + $('#toc .top').slideDown('fast'); + $('#toc').toggleClass('hidden'); + $('#toc .title small').toggle(); + }); +} + +function navResizeFn(e) { + if (e.which !== 1) { + navResizeFnStop(); + return; + } + + sessionStorage.navWidth = e.pageX.toString(); + $('.nav_wrap').css('width', e.pageX); + $('.nav_wrap').css('-ms-flex', 'inherit'); +} + +function navResizeFnStop() { + $(window).unbind('mousemove', navResizeFn); + window.removeEventListener('message', navMessageFn, false); +} + +function navMessageFn(e) { + if (e.data.action === 'mousemove') navResizeFn(e.data.event); + if (e.data.action === 'mouseup') navResizeFnStop(); +} + +function navResizer() { + $('#resizer').mousedown(function(e) { + e.preventDefault(); + $(window).mousemove(navResizeFn); + window.addEventListener('message', navMessageFn, false); + }); + $(window).mouseup(navResizeFnStop); + + if (sessionStorage.navWidth) { + navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)}); + } +} + +function navExpander() { + var done = false, timer = setTimeout(postMessage, 500); + function postMessage() { + if (done) return; + clearTimeout(timer); + var opts = { action: 'expand', path: pathId }; + document.getElementById('nav').contentWindow.postMessage(opts, '*'); + done = true; + } + + window.addEventListener('message', function(event) { + if (event.data === 'navReady') postMessage(); + return false; + }, false); +} + +function mainFocus() { + var hash = window.location.hash; + if (hash !== '' && $(hash)[0]) { + $(hash)[0].scrollIntoView(); + } + + setTimeout(function() { $('#main').focus(); }, 10); +} + +$(document).ready(function() { + navResizer(); + navExpander(); + createSourceLinks(); + createDefineLinks(); + createFullTreeLinks(); + searchFrameButtons(); + linkSummaries(); + summaryToggle(); + constantSummaryToggle(); + generateTOC(); + mainFocus(); +}); + +})(); diff --git a/doc/js/full_list.js b/doc/js/full_list.js new file mode 100644 index 0000000..59069c5 --- /dev/null +++ b/doc/js/full_list.js @@ -0,0 +1,216 @@ +(function() { + +var $clicked = $(null); +var searchTimeout = null; +var searchCache = []; +var caseSensitiveMatch = false; +var ignoreKeyCodeMin = 8; +var ignoreKeyCodeMax = 46; +var commandKey = 91; + +RegExp.escape = function(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); +} + +function escapeShortcut() { + $(document).keydown(function(evt) { + if (evt.which == 27) { + window.parent.postMessage('navEscape', '*'); + } + }); +} + +function navResizer() { + $(window).mousemove(function(e) { + window.parent.postMessage({ + action: 'mousemove', event: {pageX: e.pageX, which: e.which} + }, '*'); + }).mouseup(function(e) { + window.parent.postMessage({action: 'mouseup'}, '*'); + }); + window.parent.postMessage("navReady", "*"); +} + +function clearSearchTimeout() { + clearTimeout(searchTimeout); + searchTimeout = null; +} + +function enableLinks() { + // load the target page in the parent window + $('#full_list li').on('click', function(evt) { + $('#full_list li').removeClass('clicked'); + $clicked = $(this); + $clicked.addClass('clicked'); + evt.stopPropagation(); + + if (evt.target.tagName === 'A') return true; + + var elem = $clicked.find('> .item .object_link a')[0]; + var e = evt.originalEvent; + var newEvent = new MouseEvent(evt.originalEvent.type); + newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget); + elem.dispatchEvent(newEvent); + evt.preventDefault(); + return false; + }); +} + +function enableToggles() { + // show/hide nested classes on toggle click + $('#full_list a.toggle').on('click', function(evt) { + evt.stopPropagation(); + evt.preventDefault(); + $(this).parent().parent().toggleClass('collapsed'); + highlight(); + }); +} + +function populateSearchCache() { + $('#full_list li .item').each(function() { + var $node = $(this); + var $link = $node.find('.object_link a'); + if ($link.length > 0) { + searchCache.push({ + node: $node, + link: $link, + name: $link.text(), + fullName: $link.attr('title').split(' ')[0] + }); + } + }); +} + +function enableSearch() { + $('#search input').keyup(function(event) { + if (ignoredKeyPress(event)) return; + if (this.value === "") { + clearSearch(); + } else { + performSearch(this.value); + } + }); + + $('#full_list').after(""); +} + +function ignoredKeyPress(event) { + if ( + (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) || + (event.keyCode == commandKey) + ) { + return true; + } else { + return false; + } +} + +function clearSearch() { + clearSearchTimeout(); + $('#full_list .found').removeClass('found').each(function() { + var $link = $(this).find('.object_link a'); + $link.text($link.text()); + }); + $('#full_list, #content').removeClass('insearch'); + $clicked.parents().removeClass('collapsed'); + highlight(); +} + +function performSearch(searchString) { + clearSearchTimeout(); + $('#full_list, #content').addClass('insearch'); + $('#noresults').text('').hide(); + partialSearch(searchString, 0); +} + +function partialSearch(searchString, offset) { + var lastRowClass = ''; + var i = null; + for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) { + var item = searchCache[i]; + var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name); + var matchString = buildMatchString(searchString); + var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i"); + if (searchName.match(matchRegexp) == null) { + item.node.removeClass('found'); + item.link.text(item.link.text()); + } + else { + item.node.addClass('found'); + item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1'); + lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2'; + item.link.html(item.name.replace(matchRegexp, "$&")); + } + } + if(i == searchCache.length) { + searchDone(); + } else { + searchTimeout = setTimeout(function() { + partialSearch(searchString, i); + }, 0); + } +} + +function searchDone() { + searchTimeout = null; + highlight(); + if ($('#full_list li:visible').size() === 0) { + $('#noresults').text('No results were found.').hide().fadeIn(); + } else { + $('#noresults').text('').hide(); + } + $('#content').removeClass('insearch'); +} + +function buildMatchString(searchString, event) { + caseSensitiveMatch = searchString.match(/[A-Z]/) != null; + var regexSearchString = RegExp.escape(searchString); + if (caseSensitiveMatch) { + regexSearchString += "|" + + $.map(searchString.split(''), function(e) { return RegExp.escape(e); }). + join('.+?'); + } + return regexSearchString; +} + +function highlight() { + $('#full_list li:visible').each(function(n) { + $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even'); + }); +} + +/** + * Expands the tree to the target element and its immediate + * children. + */ +function expandTo(path) { + var $target = $(document.getElementById('object_' + path)); + $target.addClass('clicked'); + $target.removeClass('collapsed'); + $target.parentsUntil('#full_list', 'li').removeClass('collapsed'); + if($target[0]) { + window.scrollTo(window.scrollX, $target.offset().top - 250); + highlight(); + } +} + +function windowEvents(event) { + var msg = event.data; + if (msg.action === "expand") { + expandTo(msg.path); + } + return false; +} + +window.addEventListener("message", windowEvents, false); + +$(document).ready(function() { + escapeShortcut(); + navResizer(); + enableLinks(); + enableToggles(); + populateSearchCache(); + enableSearch(); +}); + +})(); diff --git a/doc/js/jquery.js b/doc/js/jquery.js new file mode 100644 index 0000000..198b3ff --- /dev/null +++ b/doc/js/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
      a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
      "+""+"
      ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
      t
      ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
      ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

      ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
      ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
      ","
      "],thead:[1,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],col:[2,"","
      "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
      ","
      "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
      ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html new file mode 100644 index 0000000..9016561 --- /dev/null +++ b/doc/puppet_class_list.html @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + Puppet Class List + + + +
      +
      +

      Puppet Class List

      + + + +
      + + +
      + + diff --git a/doc/puppet_classes/cd_haproxy.html b/doc/puppet_classes/cd_haproxy.html new file mode 100644 index 0000000..20980dd --- /dev/null +++ b/doc/puppet_classes/cd_haproxy.html @@ -0,0 +1,136 @@ + + + + + + + Puppet Class: cd_haproxy + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy

      +
      + + +
      +
      Defined in:
      +
      + manifests/init.pp +
      +
      +
      + +

      Summary

      + Class initializes the cd_haproxy module. + +

      Overview

      +
      +
      + +

      cd_haproxy::init.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      +
      + + + + +
      +
      +
      +
      +23
      +24
      +25
      +
      +
      # File 'manifests/init.pp', line 23
      +
      +class cd_haproxy {
      +  include cd_haproxy::params
      +}
      +
      + + + + + + + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html new file mode 100644 index 0000000..a6f2326 --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Afirewall_3A_3Aiptables.html @@ -0,0 +1,177 @@ + + + + + + + Puppet Class: cd_haproxy::firewall::iptables + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::firewall::iptables

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/firewall/iptables.pp +
      +
      +
      + +

      Summary

      + manage firewall settings through cd_firewall or puppetlabs-firewall + +

      Overview

      +
      +
      + +

      cd_haproxy::firewall::iptables.pp Module name: cd_haproxy Author: Arne +Teuke (arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +23
      +24
      +25
      +26
      +27
      +28
      +29
      +30
      +31
      +32
      +33
      +34
      +35
      +36
      +37
      +38
      +39
      +40
      +41
      +42
      +43
      +
      +
      # File 'manifests/firewall/iptables.pp', line 23
      +
      +class cd_haproxy::firewall::iptables (
      +
      +) inherits cd_haproxy::params {
      +
      +  if ($fqdn == $hy_host_fqdn) and ($hy_manage_fw == true) {
      +
      +    require cd_haproxy::main::files
      +
      +    firewall { "${hy_fw_order_no}${hy_http_port} tcp port ${hy_http_port}":
      +      proto   => 'tcp',
      +      dport   => $hy_http_port,
      +      action  => 'accept',
      +    }
      +
      +    firewall { "${hy_fw_order_no}${hy_https_port} tcp port ${hy_https_port}":
      +      proto   => 'tcp',
      +      dport   => $hy_https_port,
      +      action  => 'accept',
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html new file mode 100644 index 0000000..23609df --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Aconfig.html @@ -0,0 +1,152 @@ + + + + + + + Puppet Class: cd_haproxy::main::config + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::main::config

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/main/config.pp +
      +
      +
      + +

      Summary

      + Class manages all aspects of configuring the module logic for +cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::main::config.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +24
      +25
      +26
      +27
      +28
      +29
      +30
      +31
      +
      +
      # File 'manifests/main/config.pp', line 24
      +
      +class cd_haproxy::main::config (
      +
      +) inherits cd_haproxy::params {
      +
      +  include cd_haproxy::server::service
      +  include cd_haproxy::server::proxy_test
      +
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html new file mode 100644 index 0000000..94fe58b --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Adirs.html @@ -0,0 +1,199 @@ + + + + + + + Puppet Class: cd_haproxy::main::dirs + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::main::dirs

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/main/dirs.pp +
      +
      +
      + +

      Summary

      + Class manages all directories required for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::main::dirs.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +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
      +
      +
      # File 'manifests/main/dirs.pp', line 23
      +
      +class cd_haproxy::main::dirs (
      +
      +) inherits cd_haproxy::params {
      +
      +  if $fqdn == $hy_host_fqdn {
      +    require cd_haproxy::main::user
      +
      +    # main dir
      +    file { $hy_main_dir:
      +      ensure    =>  directory,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0755',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +    }
      +
      +    # errors dir
      +    file { $hy_errors_dir:
      +      ensure    =>  directory,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0755',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html new file mode 100644 index 0000000..7de5c7d --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Afiles.html @@ -0,0 +1,399 @@ + + + + + + + Puppet Class: cd_haproxy::main::files + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::main::files

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/main/files.pp +
      +
      +
      + +

      Summary

      + Class manages all configuration files required for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::main::files.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +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
      +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
      +102
      +103
      +104
      +105
      +106
      +107
      +108
      +109
      +110
      +111
      +112
      +113
      +114
      +115
      +116
      +117
      +118
      +119
      +120
      +121
      +122
      +123
      +124
      +125
      +126
      +127
      +128
      +129
      +130
      +131
      +132
      +133
      +134
      +135
      +136
      +137
      +138
      +139
      +140
      +141
      +142
      +143
      +144
      +145
      +146
      +147
      +148
      +149
      +150
      +151
      +152
      +153
      +154
      +
      +
      # File 'manifests/main/files.pp', line 23
      +
      +class cd_haproxy::main::files (
      +
      +) inherits cd_haproxy::params {
      +
      +  if $fqdn == $hy_host_fqdn {
      +    require cd_haproxy::main::dirs
      +
      +    # create the concat target
      +    concat {$hy_main_config:
      +      ensure    =>  present,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0640',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    # create the header
      +    concat::fragment { 'header':
      +      target    =>  $hy_main_config,
      +      content   =>  template($hy_config_head_erb),
      +      order     =>  '001',
      +    }
      +
      +    # pid file
      +    file { $hy_pid:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  haproxy_var_run_t,
      +      seluser   =>  system_u,
      +    }
      +
      +    # error files
      +    file { $hy_400_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_400_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_403_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_403_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_408_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_408_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_500_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_500_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_502_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_502_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_503_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_503_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +
      +    file { $hy_504_file:
      +      ensure    =>  file,
      +      owner     =>  'root',
      +      group     =>  'root',
      +      mode      =>  '0644',
      +      selrange  =>  s0,
      +      selrole   =>  object_r,
      +      seltype   =>  etc_t,
      +      seluser   =>  system_u,
      +      content   =>  template($hy_504_erb),
      +      notify    =>  Service[$hy_service],
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html new file mode 100644 index 0000000..bda5caa --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Ainstall.html @@ -0,0 +1,156 @@ + + + + + + + Puppet Class: cd_haproxy::main::install + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::main::install

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/main/install.pp +
      +
      +
      + +

      Summary

      + Class manage all aspects of installing binaries required for +cd_haproxy + +

      Overview

      +
      +
      + +

      cd_haproxy::main::install.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +24
      +25
      +26
      +27
      +28
      +29
      +30
      +31
      +32
      +33
      +
      +
      # File 'manifests/main/install.pp', line 24
      +
      +class cd_haproxy::main::install (
      +
      +) inherits cd_haproxy::params {
      +
      +  if $fqdn == $hy_host_fqdn {
      +    package {$reqpackages:
      +      ensure => $pkg_ensure,
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html new file mode 100644 index 0000000..d1f0428 --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Amain_3A_3Auser.html @@ -0,0 +1,191 @@ + + + + + + + Puppet Class: cd_haproxy::main::user + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::main::user

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/main/user.pp +
      +
      +
      + +

      Summary

      + Class manages service users for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::main::user.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@ConfDroid.com)

      + +

      License:

      + +

      This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HAproxy +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +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
      +
      +
      # File 'manifests/main/user.pp', line 23
      +
      +class cd_haproxy::main::user (
      +
      +) inherits cd_haproxy::params {
      +
      +  if $fqdn == $hy_host_fqdn {
      +    require cd_haproxy::main::install
      +
      +    # manage user
      +    user { $hy_user_name:
      +      ensure      =>  present,
      +      name        =>  $hy_user_name,
      +      allowdupe   =>  false,
      +      comment     =>  $hy_user_comment,
      +      gid         =>  $hy_user_name,
      +      managehome  =>  true,
      +      home        =>  $hy_user_home,
      +      shell       =>  $hy_user_shell,
      +    }
      +
      +    group { $hy_user_name:
      +      ensure      =>  present,
      +      name        =>  $hy_user_name,
      +      allowdupe   =>  false,
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aparams.html b/doc/puppet_classes/cd_haproxy_3A_3Aparams.html new file mode 100644 index 0000000..26b9ba5 --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Aparams.html @@ -0,0 +1,922 @@ + + + + + + + Puppet Class: cd_haproxy::params + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::params

      + + +

      Summary

      + Class holds all parameters for the cd_haproxy module and is +inherited by all classes except defines. + +

      Overview

      +
      +
      + +

      cd_haproxy::params.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      +

      Parameters:

      +
        + +
      • + + pkg_ensure + + + (string) + + + (defaults to: 'latest') + + + — +
        +

        which package +type to choose, i.e. latest or present.

        +
        + +
      • + +
      • + + reqpackages + + + (string) + + + (defaults to: ['haproxy']) + + + — +
        +

        specify th epackages to be installed

        +
        + +
      • + +
      • + + hy_host_fqdn + + + (string) + + + (defaults to: "proxy.${::domain}") + + + — +
        +

        the fqdn of the ha proxy host. mmust be fqdn, not cname. specify multiple +fqdns via array.

        +
        + +
      • + +
      • + + hy_manage_fw + + + (boolean) + + + (defaults to: true) + + + — +
        +

        whether to manage the firewall.

        +
        + +
      • + +
      • + + hy_fw_order_no + + + (string) + + + (defaults to: '50') + + + — +
        +

        the rule number to control the oder of the firewall rules.

        +
        + +
      • + +
      • + + hy_http_port + + + (string) + + + (defaults to: '80') + + + — +
        +

        the http port. used in firewall settings

        +
        + +
      • + +
      • + + hy_https_port + + + (string) + + + (defaults to: '443') + + + — +
        +

        the https port. used in firewall settings

        +
        + +
      • + +
      • + + hy_user_name + + + (string) + + + (defaults to: 'haproxy') + + + — +
        +

        the name of the haproxy service user.

        +
        + +
      • + +
      • + + hy_user_comment + + + (string) + + + (defaults to: 'haproxy user') + + + — +
        +

        the comment of the haproxy user, shows up in emails sent from haproxy.

        +
        + +
      • + +
      • + + hy_user_home + + + (string) + + + (defaults to: '/var/lib/haproxy') + + + — +
        +

        the home directory for the haprxy user.

        +
        + +
      • + +
      • + + hy_user_shell + + + (string) + + + (defaults to: '/sbin/nologin') + + + — +
        +

        the shell for the haproxy user.

        +
        + +
      • + +
      • + + hy_log_target + + + (string) + + + (defaults to: '127.0.0.1') + + + — +
        +

        Where to send the logs for this haproxy. Currently only local logging / +rsyslog forwarding supported.

        +
        + +
      • + +
      • + + hy_log_facility + + + (string) + + + (defaults to: 'local2') + + + — +
        +

        which logging facility to use.

        +
        + +
      • + +
      • + + hy_chroot + + + (string) + + + (defaults to: '/var/lib/haproxy') + + + — +
        +

        where the chroot should be

        +
        + +
      • + +
      • + + hy_pid + + + (string) + + + (defaults to: '/var/run/haproxy.pid') + + + — +
        +

        the pid file to use.

        +
        + +
      • + +
      • + + hy_maxconn + + + (string) + + + (defaults to: '4000') + + + — +
        +

        how many connections should we max allow.

        +
        + +
      • + +
      • + + hy_show_stats + + + (boolean) + + + (defaults to: true) + + + — +
        +

        whether we want to display the statistics page

        +
        + +
      • + +
      • + + hy_stats_socket + + + (string) + + + (defaults to: '/var/lib/haproxy/stats') + + + — +
        +

        name and path of the stats socket

        +
        + +
      • + +
      • + + hy_default_mode + + + (string) + + + (defaults to: 'http') + + + — +
        +

        which mode to use in the defaults block

        +
        + +
      • + +
      • + + hy_log_default + + + (string) + + + (defaults to: 'global') + + + — +
        +

        should be used when the instance's logging parameters are the same as +the global ones.

        +
        + +
      • + +
      • + + hy_use_httplog + + + (boolean) + + + (defaults to: true) + + + — +
        +

        whether to use httplogging option. Enable logging of HTTP request, session +state and timers

        +
        + +
      • + +
      • + + hy_use_dontlognull + + + (boolean) + + + (defaults to: true) + + + — +
        +

        Whether to enable or disable dontlognull option. true enables, false +disables.

        +
        + +
      • + +
      • + + hy_use_http_server_close + + + (boolean) + + + (defaults to: true) + + + — +
        +

        Enable or disable HTTP connection closing on the server side

        +
        + +
      • + +
      • + + hy_use_forward_for + + + (boolean) + + + (defaults to: true) + + + — +
        +

        Enable insertion of the X-Forwarded-For header to requests sent to servers.

        +
        + +
      • + +
      • + + hy_use_redispatch + + + (boolean) + + + (defaults to: true) + + + — +
        +

        Enable or disable session redistribution in case of connection failure.

        +
        + +
      • + +
      • + + hy_max_retries + + + (string) + + + (defaults to: '3') + + + — +
        +

        Set the number of retries to perform on a server after a connection +failure.

        +
        + +
      • + +
      • + + hy_timeout_http_request + + + (string) + + + (defaults to: '10s') + + + — +
        +

        Set the maximum allowed time to wait for a complete HTTP request.

        +
        + +
      • + +
      • + + hy_timeout_queue + + + (string) + + + (defaults to: '1m') + + + — +
        +

        Set the maximum time to wait in the queue for a connection slot to be free.

        +
        + +
      • + +
      • + + hy_hy_timeout_connect + + + (string) + + + + — +
        +

        Set the maximum time to wait for a connection attempt to a server to +succeed.

        +
        + +
      • + +
      • + + hy_timeout_client + + + (string) + + + (defaults to: '1m') + + + — +
        +

        Set the maximum inactivity time on the client side.

        +
        + +
      • + +
      • + + hy_timeout_server + + + (string) + + + (defaults to: '1m') + + + — +
        +

        Set the maximum inactivity time on the server side.

        +
        + +
      • + +
      • + + hy_timeout_connect + + + (Any) + + + (defaults to: '10s') + + +
      • + +
      • + + hy_timeout_http_keep_alive + + + (Any) + + + (defaults to: '10s') + + +
      • + +
      • + + hy_timeout_check + + + (Any) + + + (defaults to: '10s') + + +
      • + +
      + + +

      See Also:

      + + +
      + + + + + +
      +
      +
      +
      +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
      +102
      +103
      +104
      +105
      +106
      +107
      +108
      +109
      +110
      +111
      +112
      +113
      +114
      +115
      +116
      +117
      +118
      +119
      +120
      +121
      +122
      +123
      +124
      +125
      +126
      +127
      +128
      +129
      +130
      +131
      +132
      +133
      +134
      +135
      +136
      +137
      +138
      +139
      +140
      +141
      +142
      +143
      +144
      +145
      +146
      +147
      +148
      +149
      +150
      +
      +
      # File 'manifests/params.pp', line 74
      +
      +class cd_haproxy::params (
      +
      +$pkg_ensure                   = 'latest',
      +$reqpackages                  = ['haproxy'],
      +
      +$hy_host_fqdn                 = "proxy.${::domain}",
      +
      +# firewall
      +$hy_manage_fw                 = true,
      +$hy_fw_order_no               = '50',
      +
      +# main config
      +$hy_http_port                 = '80',
      +$hy_https_port                = '443',
      +$hy_chroot                    = '/var/lib/haproxy',
      +$hy_pid                       = '/var/run/haproxy.pid',
      +$hy_maxconn                   = '4000',
      +$hy_show_stats                = true,
      +$hy_stats_socket              = '/var/lib/haproxy/stats',
      +$hy_default_mode              = 'http',
      +$hy_use_http_server_close     = true,
      +$hy_use_forward_for           = true,
      +$hy_use_redispatch            = true,
      +$hy_max_retries               = '3',
      +$hy_timeout_http_request      = '10s',
      +$hy_timeout_queue             = '1m',
      +$hy_timeout_connect           = '10s',
      +$hy_timeout_client            = '1m',
      +$hy_timeout_server            = '1m',
      +$hy_timeout_http_keep_alive   = '10s',
      +$hy_timeout_check             = '10s',
      +
      +# user
      +$hy_user_name                 = 'haproxy',
      +$hy_user_comment              = 'haproxy user',
      +$hy_user_home                 = '/var/lib/haproxy',
      +$hy_user_shell                = '/sbin/nologin',
      +
      +# logging
      +$hy_log_target                = '127.0.0.1',
      +$hy_log_facility              = 'local2',
      +$hy_log_default               = 'global',
      +$hy_use_httplog               = true,
      +$hy_use_dontlognull           = true,
      +
      +) {
      +
      +# service
      +$hy_service           = 'haproxy'
      +
      +# directories
      +$hy_main_dir          = '/etc/haproxy'
      +$hy_errors_dir        = "${hy_main_dir}/errors"
      +
      +# files
      +$hy_main_config       = "${hy_main_dir}/haproxy.cfg"
      +$hy_config_head_erb   = 'cd_haproxy/haproxy_head.erb'
      +$hy_400_file          = "${hy_errors_dir}/400.http"
      +$hy_400_erb           = 'cd_haproxy/errors/400_http.erb'
      +$hy_403_file          = "${hy_errors_dir}/403.http"
      +$hy_403_erb           = 'cd_haproxy/errors/403_http.erb'
      +$hy_408_file          = "${hy_errors_dir}/408.http"
      +$hy_408_erb           = 'cd_haproxy/errors/408_http.erb'
      +$hy_500_file          = "${hy_errors_dir}/500.http"
      +$hy_500_erb           = 'cd_haproxy/errors/500_http.erb'
      +$hy_502_file          = "${hy_errors_dir}/502.http"
      +$hy_502_erb           = 'cd_haproxy/errors/502_http.erb'
      +$hy_503_file          = "${hy_errors_dir}/503.http"
      +$hy_503_erb           = 'cd_haproxy/errors/503_http.erb'
      +$hy_504_file          = "${hy_errors_dir}/504.http"
      +$hy_504_erb           = 'cd_haproxy/errors/504_http.erb'
      +
      +# includes must be last
      +
      +  include cd_haproxy::main::config
      +
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html new file mode 100644 index 0000000..da9afe2 --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aproxy_test.html @@ -0,0 +1,173 @@ + + + + + + + Puppet Class: cd_haproxy::server::proxy_test + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::server::proxy_test

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/server/proxy_test.pp +
      +
      +
      + +

      Summary

      + Define manages the proxies for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::server::proxy_test.pp Module name: cd_haproxy Author: Arne +Teuke (arne_teuke@ConfDroid.com)

      + +

      License:

      + +

      This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HAProxy +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +23
      +24
      +25
      +26
      +27
      +28
      +29
      +30
      +31
      +32
      +33
      +34
      +35
      +36
      +37
      +38
      +39
      +
      +
      # File 'manifests/server/proxy_test.pp', line 23
      +
      +class cd_haproxy::server::proxy_test (
      +
      +) inherits cd_haproxy::params {
      +
      +  cd_haproxy::server::proxy { 'testing':
      +    haproxy_fqdn    =>  'pxe703.studydivision.local',
      +    frontend_name   =>  'test01-frontend',
      +    frontend_mode   =>  'http',
      +    acl_rule        =>  ['too_fast fe_sess_rate ge 10',
      +                        'network_allowed src 0.0.0.0/0'],
      +    fe_maxconn      =>  '10000',
      +    backend_name    =>  'test01-backend',
      +    be_server_name  =>  ['web01 web01.confdroid.com:80 check',
      +                        'web02 web02.confdroid.com:80 check'],
      +
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html new file mode 100644 index 0000000..cf281a5 --- /dev/null +++ b/doc/puppet_classes/cd_haproxy_3A_3Aserver_3A_3Aservice.html @@ -0,0 +1,167 @@ + + + + + + + Puppet Class: cd_haproxy::server::service + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Puppet Class: cd_haproxy::server::service

      +
      + +
      +
      Inherits:
      +
      cd_haproxy::params
      +
      + + +
      +
      Defined in:
      +
      + manifests/server/service.pp +
      +
      +
      + +

      Summary

      + Class manages the service(s) for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::server::service.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@confdroid.com) License: This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HA proxy. +Copyright (C) 2017 confdroid (copyright@confdroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      + + +
      + + + + + +
      +
      +
      +
      +23
      +24
      +25
      +26
      +27
      +28
      +29
      +30
      +31
      +32
      +33
      +34
      +35
      +36
      +37
      +38
      +
      +
      # File 'manifests/server/service.pp', line 23
      +
      +class cd_haproxy::server::service (
      +
      +) inherits cd_haproxy::params {
      +
      +  if $fqdn == $hy_host_fqdn {
      +
      +    require cd_haproxy::firewall::iptables
      +
      +    service { $hy_service:
      +      ensure      => running,
      +      hasstatus   => true,
      +      hasrestart  => true,
      +      enable      => true,
      +    }
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html new file mode 100644 index 0000000..b481508 --- /dev/null +++ b/doc/puppet_defined_type_list.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + Defined Type List + + + +
      +
      +

      Defined Type List

      + + + +
      + + +
      + + diff --git a/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html b/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html new file mode 100644 index 0000000..589e533 --- /dev/null +++ b/doc/puppet_defined_types/cd_haproxy_3A_3Aserver_3A_3Aproxy.html @@ -0,0 +1,437 @@ + + + + + + + Defined Type: cd_haproxy::server::proxy + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Defined Type: cd_haproxy::server::proxy

      +
      +
      +
      Defined in:
      +
      + manifests/server/proxy.pp +
      +
      +
      + +

      Summary

      + Define manages the proxies for cd_haproxy. + +

      Overview

      +
      +
      + +

      cd_haproxy::server::proxy.pp Module name: cd_haproxy Author: Arne Teuke +(arne_teuke@ConfDroid.com)

      + +

      License:

      + +

      This file is part of cd_haproxy.

      + +

      cd_haproxy is used for providing automatic configuration of HAProxy +Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is +free software: you can redistribute it and/or modify it under the terms of +the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version.

      + +

      This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details.

      + +

      You should have received a copy of the GNU General Public License along +with this program. If not, see www.gnu.org/licenses/.

      + +
      +
      + + +
      +

      Parameters:

      +
        + +
      • + + haproxy_fqdn + + + (string) + + + (defaults to: undef) + + + — +
        +

        the fqdn of the haproxy server in question.

        +
        + +
      • + +
      • + + frontend_name + + + (string) + + + (defaults to: undef) + + + — +
        +

        the name for the frontend section rule.

        +
        + +
      • + +
      • + + frontend_order + + + (string) + + + (defaults to: '010') + + + — +
        +

        the order where the concat should appear in the file.

        +
        + +
      • + +
      • + + frontend_mode + + + (string) + + + (defaults to: undef) + + + — +
        +

        mode for the loadbalancer instance: http or tcp

        +
        + +
      • + +
      • + + fe_use_backend + + + (string) + + + (defaults to: '') + + + — +
        +

        which backend to use. if left empty, the default backend will be used.

        +
        + +
      • + +
      • + + fe_bind_mode + + + (string) + + + (defaults to: '*:80') + + + — +
        +

        which bind mode to use, i.e. to which interface and poort to bind.

        +
        + +
      • + +
      • + + acl_rule + + + (string) + + + (defaults to: '') + + + — +
        +

        an ACL rule to be inserted if required. Empty values will not be populated.

        +
        + +
      • + +
      • + + acl_order + + + (string) + + + (defaults to: '020') + + + — +
        +

        the order where the acl rule should be inserted, so it will be within the +correct lb instance configuration.

        +
        + +
      • + +
      • + + backend_name + + + (string) + + + (defaults to: undef) + + + — +
        +

        the backend name to be used for the rule.

        +
        + +
      • + +
      • + + backend_order + + + (string) + + + (defaults to: '030') + + + — +
        +

        the order for the backend name, so it will be within the correct lb +instance configuration.

        +
        + +
      • + +
      • + + fe_maxconn + + + (string) + + + (defaults to: undef) + + + — +
        +

        the maximum connections for the lb instance.

        +
        + +
      • + +
      • + + be_server_name + + + (Any) + + + (defaults to: undef) + + +
      • + +
      + + +
      + + + + + +
      +
      +
      +
      +40
      +41
      +42
      +43
      +44
      +45
      +46
      +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
      +
      +
      # File 'manifests/server/proxy.pp', line 40
      +
      +define cd_haproxy::server::proxy (
      +
      +$haproxy_fqdn     = undef,
      +$frontend_name    = undef,
      +$frontend_mode    = undef,
      +$fe_use_backend   = '',
      +$fe_bind_mode     = '*:80',
      +$frontend_order   = '010',
      +$acl_rule         = '',
      +$acl_order        = '020',
      +$backend_name     = undef,
      +$backend_order    = '030',
      +$fe_maxconn       = undef,
      +$be_server_name   = undef,
      +
      +
      +) {
      +
      +$hy_main_config   = '/etc/haproxy/haproxy.cfg'
      +$hy_frontendrule  = 'cd_haproxy/haproxy_frontend_rule.erb'
      +$hy_backendrule   = 'cd_haproxy/haproxy_backend_rule.erb'
      +$hy_acl_rule      = 'cd_haproxy/haproxy_acl_rule.erb'
      +
      +  # create frontend section
      +  concat::fragment { "frontend_${name}":
      +    target  =>  $hy_main_config,
      +    content =>  template($hy_frontendrule),
      +    order   =>  $frontend_order,
      +  }
      +
      +  # create acl section
      +  concat::fragment { "acl_${name}":
      +    target  =>  $hy_main_config,
      +    content =>  template($hy_acl_rule),
      +    order   =>  $acl_order,
      +  }
      +
      +  # create backend section
      +  concat::fragment { "backend_${name}":
      +    target  =>  $hy_main_config,
      +    content =>  template($hy_backendrule),
      +    order   =>  $backend_order,
      +  }
      +}
      +
      +
      +
      + + + +
      + + \ No newline at end of file diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html new file mode 100644 index 0000000..ffe07ca --- /dev/null +++ b/doc/top-level-namespace.html @@ -0,0 +1,98 @@ + + + + + + + Top Level Namespace + + — Documentation by YARD 0.9.16 + + + + + + + + + + + + + + + + + + + +
      + + +

      Top Level Namespace + + + +

      +
      + + + + + + + + + + + +
      + + + + + + + + + + +
      + + + +
      + + \ No newline at end of file