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 (string) (defaults to: undef)

    set the name for the backend server



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
# File 'manifests/server/proxy.pp', line 41

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