roles/haproxy: Basic setup for HAproxy
The *haproxy* installs HAproxy and sets up basic configuration for it. It configures the systemd unit to launch the service with the `-f /etc/haproxy` arguments, which will cause it to load all files from the `/etc/haproxy` directory, instead of just `/etc/haproxy/haproxy.cfg`. This will allow other roles to add frontend and backend configuration by adding additional files to this directory.jenkins-master
parent
2f41ac3520
commit
235468a71c
|
@ -0,0 +1,2 @@
|
|||
[Service]
|
||||
Environment=CONFIG=/etc/haproxy
|
|
@ -0,0 +1,8 @@
|
|||
# DO NOT put HAProxy configuration in this file! The configuration is split
|
||||
# into several files:
|
||||
#
|
||||
# * 10-global.cfg: Global settings
|
||||
# * 20-defaults.cfg: Settings common to all frontends and backends
|
||||
#
|
||||
# Applications should create new files for their front- and backend
|
||||
# configuration.
|
|
@ -0,0 +1,10 @@
|
|||
- name: reload systemd
|
||||
command: systemctl daemon-reload
|
||||
- name: restart haproxy
|
||||
service:
|
||||
name=haproxy
|
||||
state=restarted
|
||||
- name: reload haproxy
|
||||
service:
|
||||
name=haproxy
|
||||
state=reloaded
|
|
@ -0,0 +1,43 @@
|
|||
- name: ensure haproxy is installed
|
||||
package:
|
||||
name=haproxy
|
||||
state=present
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: ensure haproxy unit configuration extension directory exists
|
||||
file:
|
||||
path=/etc/systemd/system/haproxy.service.d
|
||||
mode=0755
|
||||
state=directory
|
||||
- name: ensure haproxy config variable override is set
|
||||
copy:
|
||||
src=haproxy-config.conf
|
||||
dest=/etc/systemd/system/haproxy.service.d/config.conf
|
||||
mode=0644
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart haproxy
|
||||
- name: ensure default haproxy configuration file is empty
|
||||
copy:
|
||||
src=haproxy.cfg
|
||||
dest=/etc/haproxy
|
||||
mode=0644
|
||||
notify: restart haproxy
|
||||
- name: ensure haproxy global configuration is set
|
||||
template:
|
||||
src=global.cfg.j2
|
||||
dest=/etc/haproxy/10-global.cfg
|
||||
mode=0644
|
||||
notify: restart haproxy
|
||||
- name: ensure haproxy defaults are set
|
||||
template:
|
||||
src=defaults.cfg.j2
|
||||
dest=/etc/haproxy/20-defaults.cfg
|
||||
mode=0644
|
||||
notify: restart haproxy
|
||||
|
||||
- name: ensure haproxy starts at boot
|
||||
service:
|
||||
name=haproxy
|
||||
enabled=yes
|
|
@ -0,0 +1,21 @@
|
|||
#---------------------------------------------------------------------
|
||||
# common defaults that all the 'listen' and 'backend' sections will
|
||||
# use if not designated in their block
|
||||
#---------------------------------------------------------------------
|
||||
defaults
|
||||
mode http
|
||||
log global
|
||||
option httplog
|
||||
option dontlognull
|
||||
option http-server-close
|
||||
option forwardfor except 127.0.0.0/8
|
||||
option redispatch
|
||||
retries 3
|
||||
timeout http-request 10s
|
||||
timeout queue 1m
|
||||
timeout connect 10s
|
||||
timeout client 1m
|
||||
timeout server 1m
|
||||
timeout http-keep-alive 10s
|
||||
timeout check 10s
|
||||
maxconn 3000
|
|
@ -0,0 +1,18 @@
|
|||
#---------------------------------------------------------------------
|
||||
# Global settings
|
||||
#---------------------------------------------------------------------
|
||||
global
|
||||
log /dev/log local0
|
||||
|
||||
pidfile /var/run/haproxy.pid
|
||||
maxconn 4000
|
||||
user haproxy
|
||||
group haproxy
|
||||
daemon
|
||||
|
||||
# turn on stats unix socket
|
||||
stats socket /var/lib/haproxy/stats
|
||||
|
||||
# utilize system-wide crypto-policies
|
||||
ssl-default-bind-ciphers PROFILE=SYSTEM
|
||||
ssl-default-server-ciphers PROFILE=SYSTEM
|
Loading…
Reference in New Issue