Puppet Class: cd_haproxy::params

Overview

cd_haproxy::params.pp Module name: cd_haproxy Author: Arne Teuke (arne_teuke@confdroid.com)

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

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

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

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

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

    Enable or disable HTTP connection closing on the server side

  • hy_use_forward_for (boolean) (defaults to: false)

    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_timeout_connect (string) (defaults to: '10s')

    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_http_keep_alive (string) (defaults to: '10s')

    set the timeout value for keeping https connections alive

  • hy_timeout_check (string) (defaults to: '10s')

    set the timeout value for how long to check if the timeout has occured

  • hy_manage_fail2ban (Any) (defaults to: false)
  • hy_hard_stop (Any) (defaults to: true)
  • hy_hard_stop_value (Any) (defaults to: '60s')
  • hy_log_local0 (Any) (defaults to: '127.0.0.1:514 local0')
  • hy_log_local1 (Any) (defaults to: '127.0.0.1:514 local1 notice')
  • hy_use_tcplog (Any) (defaults to: true)


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
# File 'manifests/params.pp', line 58

class cd_haproxy::params (

$pkg_ensure                   = 'latest',
$reqpackages                  = ['haproxy'],

$hy_host_fqdn                 = undef,

# firewall
$hy_manage_fw                 = true,
$hy_fw_order_no               = '50',

# fail2ban
$hy_manage_fail2ban           = false,

# 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                = false,
$hy_stats_socket              = '/var/lib/haproxy/stats',
$hy_default_mode              = 'tcp',
$hy_use_http_server_close     = false,
$hy_use_forward_for           = false,
$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',
$hy_hard_stop                 = true,
$hy_hard_stop_value           = '60s',

# user
$hy_user_name                 = 'haproxy',
$hy_user_comment              = 'haproxy user',
$hy_user_home                 = '/var/lib/haproxy',
$hy_user_shell                = '/sbin/nologin',

# logging
$hy_log_local0                = '127.0.0.1:514 local0',
$hy_log_local1                = '127.0.0.1:514 local1 notice',
$hy_log_target                = '127.0.0.1',
$hy_log_facility              = 'local2',
$hy_log_default               = 'global',
$hy_use_tcplog                = true,
$hy_use_httplog               = false,
$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_config_tail_erb   = 'cd_haproxy/haproxy_tail.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

}