我正在为我们正在构建的一组系统创建公司内部 SDK。我们有多个阶段,例如“开发”、“质量保证”和“生产”,我们提供真正的服务。
我希望 SDK 能够反映这些阶段。为此,我想使用 vagrant、puppet 和某种包含与阶段匹配的服务版本的属性文件。
有可能有这样的外部文件吗?它所定义的只是版本的几个变量。其他所有内容(节点、网络、应用程序、WAR 文件、数据库等)都应在通用 vagrant/puppet 文件中定义。
谢谢你的帮助!
看看hiera,它是一个用于 puppet 参数的分层数据结构,它可以为不同的环境(开发、测试和产品)设置不同的参数值。
从 puppet3 开始 hiera 内置于 puppet 中(确保您的 vagrant box 上的 puppet 客户端大于 3,运行:puppet -V)