我试图弄清楚哪些东西应该在 puppet 清单中的 git 中,哪些东西应该在环境变量中FACTER_my_var
,然后在清单中使用它。
场景:您正在部署 3 个 php 应用程序,并且已经在其他清单(基本系统、php 扩展、用户等)中构建了应用程序的所有层,剩下的就是安装正确的应用程序(来自 apt repo)并创建 vhost。
我很想做类似这样的事:
apache::vhost { $::project_hostname:
priority => '10',
port => '80',
docroot => $::project_document_root,
logroot => "/var/log/apache2/${$::project_name}",
serveradmin => '[email protected]',
require => Package[httpd],
ssl => false,
override => 'all',
setenv => ["APP_KERNEL dev"]
}
这将在每台服务器上运行,并且FACTER_project_*
变量将在每个服务器上设置。这样做的一个明显限制是,您不能使用此特定示例运行多个应用程序。
或者你更愿意拥有project_x.pp
具有project_y.pp
硬编码路径和名称的?