所以我有一个要运行的 puppet manifest 目录。
是否可以执行以下操作:包括 /etc/puppet/users/server522/*.pp 并让 puppet 运行它们?
我试过包括 users::server522::* 和其他几个变体
我总是收到关于 puppet 找不到它的错误。
有没有办法做到这一点?
所以我有一个要运行的 puppet manifest 目录。
是否可以执行以下操作:包括 /etc/puppet/users/server522/*.pp 并让 puppet 运行它们?
我试过包括 users::server522::* 和其他几个变体
我总是收到关于 puppet 找不到它的错误。
有没有办法做到这一点?
所以我对此的最终解决方案是编写一个脚本,该脚本将获取目录列表,并为每个 .pp 文件添加一个包含到 server522.pp 文件中。puppet 不会包含整个目录,这很烦人。
你想在这里做什么,你确定你这样做是正确的吗?也就是说,如果您有多个清单对应于多个服务器,则需要为每个服务器定义节点。如果 OTOH 您尝试将多个清单应用于单个节点,则不清楚您为什么要这样做,而不仅仅是使用您定义的类。更多信息在这里会有所帮助。
我没有看到每个用户都有自己的清单的意义。我宁愿创建一个脚本来自动构建一个清单文件,该文件基于来自某个源的数据,例如来自 git 存储库的 HEAD,其中包含具有当前用户列表的 CSV 文件。
如果您真的想为每个用户使用单独的清单文件,您可以考虑为每个用户使用单独的模块:
manifests
default.pp <-- here comes default manifest
module_for_user_foo/
manifests/
init.pp <-- here comes your 'foo' user
module_for_user_bar/
manifests/
init.pp <-- here comes your 'bar' user
现在您可以复制包含清单的模块。