Installs and configures HAProxy.
The current release is 1.5.0.
The next release is in development (Cf. the projects tab).
- Supports CentOS and Debian (Ubuntu should work)
- Installs HAProxy from official repositories on Debian.
- Installs HAProxy from EPEL repository on CentOS.
- Tests via Molecule and Docker
The python library jmespath
is required on the control node.
-
haproxy_global
Global HAProxy settings.
-
haproxy_defaults
Default settings for frontends, backends, and listen proxies.
-
haproxy_resolvers
A list of HAProxy resolvers.
-
haproxy_backends
A list of HAProxy backends.
-
haproxy_frontends
A list of HAProxy frontends.
-
haproxy_listen
A list of listen proxies.
-
haproxy_logforward
A list of log-forward proxies (Only for HAProxy version 2.3 and above).
-
haproxy_peers
A list of peers.
See vars/main.yml
for a complete list of configurable .
See the wiki for more details.
- hosts: loadbalancers
roles:
- role: haproxy
haproxy_frontends:
- name: 'fe-mysupersite'
ip: '123.123.123.120'
port: '80'
maxconn: '1000'
default_backend: 'be-mysupersite'
haproxy_backends:
- name: 'be-mysupersite'
description: 'mysupersite is really cool'
servers:
- name: 'be-mysupersite-01'
ip: '192.168.1.100'
log-forward:
- name: 'my-syslog-lb'
dgrambind:
- '127.0.0.1:514' # Listen on UDP IPv4
log:
- ip: '192.168.1.101'
port: 5514
sample_range: "1:2"
facility: "local0 info"
- ip: '192.168.1.102'
port: 5514
sample_range: "3:4"
facility: "local0 info"
To test the role you first need to install Molecule with :
$ pip install molecule docker
If you encounter a problem while installing with pip, install python-dev
To run the tests, execute :
$ molecule test
Apache v2
This role was created in 2014 by Pheromone - Pierre Paul Lefebvre ([email protected]).
This role was forked in 2019 by Deveryware.