我正在尝试使用角色&来实现Puppet轮廓图案。此时我已经确定了两个不同的配置文件:
-security:为主机提供广泛的安全相关配置 -ad_client:提供配置以对Linux客户端启用AD身份验证。
我认为这些都是独立的配置文件,因为任何一个都可能适用于给定的主机,不一定两者都适用。因此,我认为我必须使每一个完整(即在每个中完全实例化类),以便它可以独立存在。
但是,对于可能需要这两个配置文件的主机,存在相当大的重叠(例如,配置pam,sshd和sssd)。
如何创建模块化配置文件但避免重叠?
答案 0 :(得分:0)
如果我认为安全配置文件实际上在任何地方都需要,那么您应该尝试按以下方式拆分类:
# common to all nodes.
class profile::base {
include profile::base::ssh
include profile::base::pam
include profile::base::sssd
include profile::base::security
...
}
# for nodes that also need the ad_client
class profile::ad_client {
include profile::base
...
}
如果有一些您没有指定的边缘情况会阻止您这样做,请告诉我,我会进行扩展。