puppet/augeas: разобрать и сохранить файл php

Я развертываю приложение cakephp, используя puppet. Мне нужно изменить некоторые параметры конфигурации, обычно файлы php, например. конфигурация базы данных (значения хоста, пользователя, пароля)

Как лучше всего это сделать? Я думал использовать augeas, я попробовал

augtool print /files/path/to/app/database.php

но кажется, что у Augeas нет объектива для разбора такого файла


person robert laing    schedule 29.06.2015    source источник


Ответы (2)


Объективы Augeas сложно правильно разработать, особенно для файлов произвольной формы, таких как исходный код Php. Я думаю, вам лучше преобразовать файл database.php в шаблон ERB. У Puppet очень хорошая поддержка таких шаблонов.

person Vlad    schedule 29.06.2015
comment
Было бы полезно, если бы вы добавили ресурс, который объясняет, как использовать шаблоны! - person Chris Pitman; 29.06.2015

У Augeas есть линза для разбора файлов PHP, но вам нужно сказать Augeas, что этот файл является файлом типа Phpvars, он не может его угадать:

$ augtool -At "Phpvars.lns incl /path/to/app/database.php"

Если Augeas может прочитать ваш файл (на самом деле нет никакой гарантии, поскольку PHP на самом деле не является языком конфигурации, поэтому вполне вероятно, что файл содержит реальный код PHP), тогда вы сможете увидеть проанализированный контент с помощью:

augtool> print /files
person raphink    schedule 15.07.2015