Мои коллеги поддерживают файл конфигурации, который SaltStack развертывает в производственных / тестовых / промежуточных средах. Я поддерживаю этот файл, используя diff, чтобы увидеть, что изменилось, и код соответствующего фрагмента jinja.
Имя файла - program.conf
а версия SaltStack - program.conf.jinja
.
program.conf
есть строки вида:
variable = "value"
program.conf.jinja
это:
variable = "{{ value }}"
С точки зрения различий, они разные. Но с моей точки зрения они одинаковы. Я ищу прагма-подобную функцию, где я могу сказать пометить файл jinja следующим образом, чтобы я не получил это в выводе diff:
variable = "{{ value }}" # pragma-same: variable = "value"
Я также буду использовать эту утилиту для генерации предупреждений, чтобы заставить людей обновить файл jinja для любой отсутствующей переменной.
variable = "value"
иногда разрешается в более сложных строфах, таких как:
{% if pillar.get(...) %}
variable = {{ value }}
{% else %}
variable = {{ value + 2 }}
{% endif %}