У меня есть марионетка, в которой каждый манифест узла назван примерно так
/^web-\d+\.example\.com$/
Мы делаем это, чтобы мы могли запускать новые серверов для дополнительной емкости и дать каждому уникальное имя сертификата
, используя метку времени, когда он был запущен.
Это вызывает проблемы с частью Hiera нашей установки Puppet, поскольку мы не можем сделать
:hierarchy:
- "nodes/%{::trusted.certname}"
- common
поскольку мы не можем предсказать, какими будут все certname
. Сейчас мы просто указываем каждый тип узла в иерархии, но мы хотели бы иметь возможность добавлять новые типы узлов без редактирования нашей иерархии. yaml
каждый раз.
Можно ли иметь какой-то динамический поиск в нашей иерархии, который позволит нам динамически генерировать имена сертификатов без указания каждого типа узла?
Я обновил как нашу иерархию, так и настраиваемые факты, чтобы эта работа работала. Иерархия теперь включает
roles/%{::role}/${::environment}
, и наши узлы теперь включают следующее в /etc/facter/facts/role.yaml
:
---
role: web