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,
  }
}