在 Puppet 中使用角色配置文件模式时设置 SSL 密钥

在 Puppet 中使用角色配置文件模式时设置 SSL 密钥

以下是一个场景。我有两个 Web 应用程序(我们称之为 webapp1 和 webapp2),它们需要 apache、php(带有一些模块)以及 Web 应用程序的代码本身。这是我的设置方法(使用角色配置文件模式):

modules/
  apache/
  php/
  webapp1/ # responsible for cloning the repo and setting up config files
  webapp2/ # responsible for cloning the repo and setting up config files
  profiles/
    manifests/
      webapp1.pp # responsible for putting the stack together
      webapp2.pp # responsible for putting the stack together

Profiles/manifests/webapp1.pp 看起来像这样:

class profiles::webapp1 {
  include ::apache
  include ::php
  include ::webapp1
}

并且profiles/manifests/webapp1.pp看起来像这样:

class profiles::webapp2 {
  include ::apache
  include ::php
  include ::webapp2
}

现在,这两个应用程序也必须通过 HTTPS 提供服务,并且需要相同的 SSL 证书集(假设 webapp1 和 webapp2 由一个域的不同子域提供服务,并且我们有一个通配符证书,因此两个应用程序都可以使用相同的证书)。现在,我无法决定在哪个清单中进行 SSL 设置(即使用file类型设置密钥和证书。原因是至少现在,我将在同一个角色清单中同时拥有 webapp1 和 webapp2,但我希望具有灵活性,以便我可以将 webapp1 和 webapp2 移动到不同的角色中,而不必担心以不同的方式进行 SSL 设置。

答案1

我会将它们放在一个单独的类中,例如“wildcard_ssl_”,并且可能将其包含在两个“webappX”类中,或者可能包含在两个配置文件中。

相关内容