使用dynamic服务器pipe理Puppet certnames

我有一个puppet安装程序,其中每个节点清单被命名为类似

/^web-\d+\.example\.com$/ 

我们这样做,所以我们可以启动新服务器以获得更多容量,并使用启动时间戳为每个服务器提供一个唯一的certname

这是由于我们无法做到的,所以我们的Puppet安装程序的Hiera部分出现问题

 :hierarchy: - "nodes/%{::trusted.certname}" - common 

因为我们无法预测所有的certname是什么。 现在我们只是在层次结构中指定每个节点types,但是我们希望能够添加新的节点types,而无需每次都编辑hiera.yaml

是否有可能在我们的层次结构中进行某种dynamic查找,使我们能够在不指定每个节点types的情况下dynamic生成certnames?

我已经更新了我们的层次结构和自定义事实来完成这个工作。 现在的层次包括

 roles/%{::role}/${::environment} 

我们的节点现在在/etc/facter/facts/role.yaml包含以下/etc/facter/facts/role.yaml

 --- role: web