傀儡变量的最佳实践,概括还是专门化?

傀儡变量的最佳实践,概括还是专门化?

我试图弄清楚哪些东西应该在 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硬编码路径和名称的?

相关内容