Growman
@Growman
Wannabe Linux Admin

Как использовать Jinja в мастер-конфиге Salt?

В процессе настройки SaltStack захотел странного - использовать шаблонизатор Jinja для заливки конфига на мастер.
Но, вполне естественно, в лоб это не делается. Для обработки pillars ему нужен запущеный мастер, для запуска мастера - нужен рабочий конфиг.

Пример, где это хочется использовать:

{% set services = pillar.services %}
gitfs_remotes:
  {% for service in services %}
  - {{ 'ssh://git@gitlab.example.com/services/' ~ service ~ '.git:' }}
    - mountpoint: {{ 'salt://' ~ service ~ '/' }}
  {% endfor %}


Т.е. мы храним список сервисов в pillar, а salt их подставляет в конфиг.
Есть ли правильный путь/красивый хак, как это сделать?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@mureevms
Если я правильно понял вопрос, то пойти можно несколькими путями:

Если master новый:
1. Поднять мастер с дефолтным конфигом, затем на себя же применить стэйт.
2. Поставить salt-ssh, заполнить ростер только для salt-master ноды и применить на нее стэйт для разворачивания мастера. Делается хоть с локальной тачки.

Если master уже существует, то вообще проблем нет - просто применить стейт
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы