Templaer
Templaer — универсальный CLI шаблонизатор конфигурационных файлов, основанный на Jinja2.
Аналоги
Существует множество инструментов, основанных на Jinja2, которые можно использовать для шаблонизации конфигурационных файлов через CLI. Вот несколько примеров:
-
j2cli: это инструмент командной строки, который позволяет использовать Jinja2 для создания конфигурационных файлов. Он может принимать данные из файлов или стандартного ввода и применять их к шаблонам, включая конфигурационные файлы. -
cookiecutter: это инструмент командной строки, который использует Jinja2 для генерации проектных шаблонов. Он также может использоваться для создания конфигурационных файлов. cookiecutter может быть установлен через pip. -
ansible: это инструмент автоматизации, который использует Jinja2 для шаблонизации конфигурационных файлов и других файлов, используемых в автоматизации. ansible может быть установлен через pip. -
SaltStack: это инструмент автоматизации, который использует Jinja2 для шаблонизации конфигурационных файлов и других файлов, используемых в автоматизации. SaltStack также может быть установлен через pip. -
mustpl: https://habr.com/ru/post/684 898/
Я создал Templaer потому что им удобнее пользоваться, и так как он на Python, его можно гибко кастомизировать. Если вам нравиться использовать другие шаблонизаторы конфигураций, то используйте их.
Установка
-
Установить
templaerpip install templaer -
Получить подсказку по
CLIpython -m templaer
Можете создать алиас в
.bashrc/.zshrcдля этой команды
alias templaer="python -m templaer"
Примеры CLI
В файле context.json хранятся данные для шаблонов. В простом варианте это может быть словарь. Ключ — это имя переменной, значение ключа — это значение переменной.
{ "DEBUG": false, "PORT_D": 8080, "PORT_R": 80 }
Пример шаблонного файла. Предлагаю для них указывать расширение .tpl. В данном случае этот файл называется nginx.conf.tpl
server { listen {{ PORT_R }}; server_name "localhost"; location / { default_type text/html; return 200 'ok'; } }
-
Собрать указанные файлы (можно указывать несколько файлов).
python -m templaer -c context.json -f Файл1.conf.tpl Файл2.tpl -
Поиск в указанной директории всех файлов, которые оканчиваются на
.tpl, и сборка этих файлов (можно указывать несколько директорий).python -m templaer -c context.json -d Папка
ссылка на оригинал статьи https://habr.com/ru/post/717996/
Добавить комментарий