Merge "Make haproxy role more generic"

This commit is contained in:
Zuul 2021-12-01 00:50:45 +00:00 committed by Gerrit Code Review
commit c663d9b4ea
10 changed files with 67 additions and 9 deletions

View File

@ -1,4 +1,4 @@
haproxy_listeners:
gitea_lb_listeners:
- name: balance_git_http
bind:
- ':::80'

View File

@ -0,0 +1,9 @@
Install the gitea-lb services
This configures haproxy
**Role Variables**
.. zuul:rolevar:: gitea_lb_listeners
The backends to configure

View File

@ -0,0 +1,5 @@
- name: Install haproxy with gitea config
include_role:
name: haproxy
vars:
haproxy_config_template: gitea-haproxy.cfg.j2

View File

@ -20,7 +20,7 @@ defaults
timeout server 2m
timeout check 10s
{% for listener in haproxy_listeners %}
{% for listener in gitea_lb_listeners %}
listen {{ listener.name }}
{% for bind in listener.bind %}
bind {{ bind }}

View File

@ -1 +1,16 @@
Install, configure, and run a haproxy server.
**Role Variables**
.. zuul:rolevar:: haproxy_config_template
:type: string
:default: Undefined
The config template to install for haproxy. Must be defined.
.. zuul:rolevar:: haproxy_run_statsd
:type: string
:default: True
Run the ``haproxy-statsd`` docker container to report back-end
stats to graphite.opendev.org

View File

@ -0,0 +1 @@
haproxy_run_statsd: True

View File

@ -2,10 +2,7 @@
package:
name: socat
state: present
- name: Synchronize docker-compose directory
synchronize:
src: docker/
dest: /etc/haproxy-docker/
- name: Ensure registry volume directories exists
file:
state: directory
@ -15,19 +12,47 @@
loop:
- etc
- run
- name: Ensure haproxy config template available
assert:
that:
- haproxy_config_template is defined
- name: Write haproxy config file
template:
src: haproxy.cfg.j2
src: '{{ haproxy_config_template }}'
dest: /var/haproxy/etc/haproxy.cfg
owner: 1000
group: 1000
mode: 0644
- name: Ensure docker compose configuration directory
file:
path: /etc/haproxy-docker
state: directory
owner: root
group: root
mode: 0755
- name: Install docker-compose configuration
template:
src: docker-compose.yaml.j2
dest: /etc/haproxy-docker/docker-compose.yaml
owner: root
group: root
mode: 0644
notify: Reload haproxy
- name: Run docker-compose pull
shell:
cmd: docker-compose pull
chdir: /etc/haproxy-docker/
- name: Run docker-compose up
shell:
cmd: docker-compose up -d
chdir: /etc/haproxy-docker/
- name: Run docker prune to cleanup unneeded images
shell:
cmd: docker image prune -f

View File

@ -42,6 +42,8 @@ services:
driver: syslog
options:
tag: "docker-haproxy"
{% if haproxy_run_statsd %}
haproxy-statsd:
restart: always
image: docker.io/opendevorg/haproxy-statsd:latest
@ -56,3 +58,4 @@ services:
driver: syslog
options:
tag: "docker-haproxy-statsd"
{% endif %}

View File

@ -3,4 +3,4 @@
roles:
- iptables
- install-docker
- haproxy
- gitea-lb

View File

@ -1,4 +1,4 @@
haproxy_listeners:
gitea_lb_listeners:
- name: balance_git_http
bind:
- ":::80"