1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
|
options:
global_log:
default: "127.0.0.1 local0, 127.0.0.1 local1 notice"
type: string
description: Global log line ( multiples ... comma separated list )
global_maxconn:
default: 4096
type: int
description: |
Sets the maximum per-process number of concurrent connections to
<number>.
global_user:
default: "haproxy"
type: string
description: User
global_group:
default: "haproxy"
type: string
description: Group
global_debug:
default: False
type: boolean
description: Debug or not
global_quiet:
default: False
type: boolean
description: Quiet
global_spread_checks:
default: 0
type: int
descriptions: |
Sometimes it is desirable to avoid sending health checks to servers at
exact intervals, for instance when many logical servers are located on
the same physical server. With the help of this parameter, it becomes
possible to add some randomness in the check interval between 0 and
+/- 50%. A value between 2 and 5 seems to show good results.
default_log:
default: "global"
type: string
description: Default log
default_mode:
default: "http"
type: string
description: Default mode
default_options:
default: "httplog, dontlognull"
type: string
description: Default options
default_retries:
default: 3
type: int
description: |
Set the number of retries to perform on a server after a connection
failure. It is important to understand that this value applies to the
number of connection attempts, not full requests. When a connection
has effectively been established to a server, there will be no more
retry.
In order to avoid immediate reconnections to a server which is
restarting, a turn-around timer of 1 second is applied before a retry
occurs.
default_timeouts:
default: "queue 1000, connect 1000, client 1000, server 1000"
type: string
description: Default timeouts
enable_monitoring:
default: False
type: boolean
description: Enable monitoring
monitoring_port:
default: 10000
type: int
description: Default monitoring port
monitoring_allowed_cidr:
default: "127.0.0.1/32"
type: string
description: |
CIDR allowed ( multiple CIDRs separated by space ) access to the
monitoring interface.
monitoring_username:
default: "haproxy"
type: string
description: Monitoring username
monitoring_password:
default: "changeme"
type: string
description: |
Password to the monitoring interface ( if "changeme", a new password
will be generated and displayed in juju-log )
monitoring_stats_refresh:
default: 3
type: int
description: Monitoring interface refresh interval (in seconds)
services:
default: |
- service_name: haproxy_service
service_host: "0.0.0.0"
service_port: 80
service_options: [balance leastconn]
server_options: maxconn 100
type: string
description: |
Services definition(s). Although the variable type is a string, this is
interpreted in the charm as yaml. To use multiple services within the
same haproxy instance, specify all of the variables (service_name,
service_host, service_port, service_options, server_options) with a "-"
before the first variable, service_name, as above. Service options is a
comma separated list, server options will be appended as a string to
the individual server lines for a given listen stanza.
nagios_context:
default: "juju"
type: string
description: |
Used by the nrpe-external-master subordinate charm.
A string that will be prepended to instance name to set the host name
in nagios. So for instance the hostname would be something like:
juju-postgresql-0
If you're running multiple environments with the same services in them
this allows you to differentiate between them.
|