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