Puppet角色/配置文件与重叠配置文件

时间:2017-06-26 18:33:46

标签: design-patterns puppet

我正在尝试使用角色&来实现Puppet轮廓图案。此时我已经确定了两个不同的配置文件:

-security:为主机提供广泛的安全相关配置 -ad_client:提供配置以对Linux客户端启用AD身份验证。

我认为这些都是独立的配置文件,因为任何一个都可能适用于给定的主机,不一定两者都适用。因此,我认为我必须使每一个完整(即在每个中完全实例化类),以便它可以独立存在。

但是,对于可能需要这两个配置文件的主机,存在相当大的重叠(例如,配置pam,sshd和sssd)。

如何创建模块化配置文件但避免重叠?

1 个答案:

答案 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
  ...
}

如果有一些您没有指定的边缘情况会阻止您这样做,请告诉我,我会进行扩展。