Allow to setup redirect for backend
haproxy:
proxy:
listen:
keystone_public_api:
redirects:
- code: 301
location: keystone.it.just.works
Related-Prod: PROD-35804
Change-Id: I75100dda15f41e39615031dfd4ab8ee9a50772c2
diff --git a/haproxy/files/haproxy.cfg b/haproxy/files/haproxy.cfg
index 96228dd..4600c4a 100644
--- a/haproxy/files/haproxy.cfg
+++ b/haproxy/files/haproxy.cfg
@@ -278,6 +278,11 @@
{%- if listen.rate_limit is defined and listen.rate_limit.get('enabled', False) %}
{%- include "haproxy/files/_rate_limit.cfg" %}
{%- endif %}
+ {%- if listen.redirects is defined %}
+ {%- for redirect in listen.redirects %}
+ http-request redirect {% if redirect.code is defined %} code {{ redirect.code }} {% endif %} location {{ redirect.location }} {%- if redirect.condition_raw is defined %} {{ redirect.condition_raw }} {%- endif %}
+ {%- endfor %}
+ {%- else %}
{%- for server in listen.get('servers', []) %}
{%- set port_range_length=server.get('port_range_length', 1) %}
{%- set port_range_start_offset=server.get('port_range_start_offset', 0) %}
@@ -285,6 +290,7 @@
server {{ server.name }}{% if worker_port > 0 %}p{{ worker_port }}{% endif %} {{ server.host }}:{{ server.port + worker_port }} {{ server.get('params', '') }}
{%- endfor %}
{%- endfor %}
+ {%- endif %}
{%- if listen.rate_limit is defined and listen.rate_limit.get('enabled', False) %}
backend {{ listen_name }}-rate_limit
{%- set stick_table_found = { 'val': false } %}