傀儡variables的最佳实践,推广或专门化?

我试图找出哪些东西应该在puppet清单中的git中,哪些应该在FACTER_my_var类的FACTER_my_varvariables中,并在清单中使用。

场景:您正在部署3个php应用程序,并且已经在其他清单(基本系统,php扩展,用户等)中构build了应用程序的所有层,剩下的就是安装正确的应用程序(从apt回购)并创build一个虚拟主机。

我很想尝试一下:

 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_* vars将在每个服务器的基础上进行设置。 一个明显的限制就是你不能在这个特定的例子中运行多个应用程序。

或者,您是否愿意使用硬编码path和名称的project_x.ppproject_y.pp