f1c8136556
Having all services in one giant haproxy file makes altering configuration for a service both painful and dangerous. Each service should be configured with a simple set of variables and rendered with a single unified template. Available are two new templates: * haproxy_single_service_listen.cfg.j2: close to the original style, but only one service per file * haproxy_single_service_split.cfg.j2: using the newer haproxy syntax for separated frontend and backend For now the default will be the single listen block, for ease of transition. Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
22 lines
768 B
YAML
22 lines
768 B
YAML
---
|
|
- name: "Copying over {{ project_name }} haproxy config"
|
|
vars:
|
|
service: "{{ item.value }}"
|
|
haproxy_templates:
|
|
- "{{ node_custom_config }}/haproxy-config/{{ inventory_hostname }}/{{ haproxy_service_template }}"
|
|
- "{{ node_custom_config }}/haproxy-config/{{ haproxy_service_template }}"
|
|
- "templates/{{ haproxy_service_template }}"
|
|
template_file: "{{ query('first_found', haproxy_templates) | first }}"
|
|
template:
|
|
src: "{{ template_file }}"
|
|
dest: "{{ node_config_directory }}/haproxy/services.d/{{ item.key }}.cfg"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- service.enabled | bool
|
|
- service.haproxy is defined
|
|
- enable_haproxy | bool
|
|
with_dict: "{{ project_services }}"
|
|
notify:
|
|
- Restart haproxy container
|