Проверка работоспособности Haproxy и создание бэкэнда

У меня много сайтов, и я хочу сделать проверку здоровья http для каждого из них. Значит ли это, что мне нужно сделать бэкэнд-раздел для каждого сайта? Если так, мне нужно как-то его сгенерировать. Могу ли я добиться этого с помощью шаблонов или может быть что-то вроде ansible?

Пример одного из внутренних разделов:

backend domain1.com
  redirect scheme https if !{ ssl_fc }
  option httpchk GET /healthcheck HTTP/1.1\r\nHost:\ domain1.com
  default-server inter 1s fall 3 rise 2
  http-check expect ! rstatus ^5
    server server01 server01:443 check ssl verify none
    server server02 server02:443 check ssl verify none

1 ответ

Решение

Нашел решение с помощью ansible шаблона и Jinja2.

Переменные:

---
sites:
  - domain1.com
  - domain2.com

Шаблон:

{% for site in sites %}
backend {{ site }}
  redirect scheme https if !{ ssl_fc }
  option httpchk GET /healthcheck HTTP/1.1\r\nHost:\ {{ site }}
  default-server inter 1s fall 3 rise 2
  http-check expect ! rstatus ^5
    server server01 server01:443 check ssl verify none
    server server02 server02:443 check ssl verify none
{% endfor %}
Другие вопросы по тегам