diff --git a/examples/playbook.yml b/examples/playbook.yml index dd34608..e995c12 100644 --- a/examples/playbook.yml +++ b/examples/playbook.yml @@ -6,12 +6,14 @@ vars: haproxy_service_configs: - service: - hap_service_name: group_name - hap_backend_nodes: "{{ groups['group_name'][0] }}" - hap_backup_nodes: "{{ groups['group_name'][1:] }}" - hap_port: 80 - hap_balance_type: http - hap_backend_options: + haproxy_service_name: group_name + haproxy_backend_nodes: "{{ groups['group_name'][0] }}" + haproxy_backup_nodes: "{{ groups['group_name'][1:] }}" + haproxy_port: 80 + haproxy_balance_type: http + haproxy_backend_options: - "forwardfor" - "httpchk" - "httplog" + haproxy_backend_aguments: + - 'http-check expect string OK' diff --git a/releasenotes/notes/haproxy-backend-arguments-3b1dca299c7a8296.yaml b/releasenotes/notes/haproxy-backend-arguments-3b1dca299c7a8296.yaml new file mode 100644 index 0000000..72192fc --- /dev/null +++ b/releasenotes/notes/haproxy-backend-arguments-3b1dca299c7a8296.yaml @@ -0,0 +1,4 @@ +--- +features: + - The new option `haproxy_backend_arguments` can be utilized to add + arbitrary options to a HAProxy backend like tcp-check or http-check. diff --git a/templates/service.j2 b/templates/service.j2 index 9f26629..b10c232 100644 --- a/templates/service.j2 +++ b/templates/service.j2 @@ -65,6 +65,7 @@ frontend {{ item.service.haproxy_service_name }}-front-{{ loop.index }} {% endfor %} {% set backend_options = item.service.haproxy_backend_options|default([]) %} +{% set backend_arguments = item.service.haproxy_backend_arguments|default([]) %} backend {{ item.service.haproxy_service_name }}-back mode {{ item.service.haproxy_balance_type }} @@ -83,6 +84,9 @@ backend {{ item.service.haproxy_service_name }}-back {% for option in backend_options %} option {{ option }} {% endfor %} +{% for argument in backend_arguments %} + {{ argument }} +{% endfor %} {% set backend_httpcheck_options = item.service.haproxy_backend_httpcheck_options|default([]) %} {% for option in backend_httpcheck_options %} http-check {{ option }}