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)

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: undef)

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

  • acl_rule (string)

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

  • acl_order (string)

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

  • backend_name (string) (defaults to: '')

    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: '')

    the maximum connections for the lb instance.

  • be_server_name (string) (defaults to: '')

    set the name for the backend server

  • acl_rule_front (Any) (defaults to: '')
  • acl_rule_back (Any) (defaults to: '')
  • be_balance (Any) (defaults to: '')
  • be_mode (Any) (defaults to: '')
  • default_backend (Any) (defaults to: '')
  • be_option (Any) (defaults to: '')
  • fe_tcp_request (Any) (defaults to: '')


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

define cd_haproxy::server::proxy (

  $haproxy_fqdn     = undef,
  $frontend_name    = undef,
  $frontend_mode    = undef,
  $fe_use_backend   = '',
  $fe_bind_mode     = undef,
  $frontend_order   = '010',
  $acl_rule_front   = '',
  $acl_rule_back    = '',
  $backend_name     = '',
  $backend_order    = '030',
  $fe_maxconn       = '',
  $be_server_name   = '',
  $be_balance       = '',
  $be_mode          = '',
  $default_backend  = '',
  $be_option        = '',
  $fe_tcp_request   = '',

) {

  $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'


  # Ensure acl_rule_front and acl_rule_back are arrays
  $acl_rule_front_array = split($acl_rule_front, ';')
  $acl_rule_back_array  = split($acl_rule_back, ';')
  $fe_use_backend_array = split($fe_use_backend,';')
  $backend_name_array   = split($backend_name, ';')
  $be_server_name_array = split($be_server_name, ';')
  $be_option_array      = split($be_option, ';')
  $fe_tcp_request_array = split($fe_tcp_request, ';')

  # create frontend section
  concat::fragment { "frontend_${name}":
    target  =>  $hy_main_config,
    content =>  template($hy_frontendrule),
    order   =>  $frontend_order,
  }

  # create backend section
  concat::fragment { "backend_${name}":
    target  =>  $hy_main_config,
    content =>  template($hy_backendrule),
    order   =>  $backend_order,
  }
}