这木偶百胜文档非常简单,并解释了如何通过 hiera 数据添加您自己的托管存储库。但是,除了我们的“发布”存储库之外,我还想有条件地将我们的“构建”存储库添加到我们的“测试”环境中的服务器中。
在 puppet 类(可能是 init)中,我如何(有条件地)在 common.yaml 中的嵌套值上切换“启用”?
yum::managed_repos:
- 'project_build'
yum::repos:
project_build:
descr: 'project build repo'
ensure: 'absent' <----this needs to be 'present' in the test env
enabled: true
baseurl: 'https://repo.example.corp/project/el/$releasever/build/$basearch/'
gpgcheck: false
答案1
根据我对文档的理解,您应该继续定义 repo,并将 Ensure 设置为 Present。但是,请从yum::managed_repos
中的键中省略它common.yaml
。
就其本身而言,repos 参数不执行任何操作。必须通过参数选择来自哈希的资源名称
managed_repos
。
然后,您将根据事实在 Hiera 中创建一个新的层次结构$::environment
。在该目录下,test.yaml
文件将具有预期的内容:
yum::managed_repos:
- 'project_build'
看看这里的例子,他们有一个 Hiera 级别$::trusted.certname
。你可以用它作为你想要用 做什么的模式$::environment
。
https://github.com/voxpupuli/puppet-yum/blob/master/README.md#enable-managemnt-of-multiple-repos