Документация puppet-yum очень проста и объясняет, как добавить собственное управляемое репо. через данные hiera. Однако, помимо нашего репозитория «релиз», я хочу условно добавить репозиторий «сборки» на серверы в нашей «тестовой» среде.
В марионеточном классе (вероятно, init), как я могу (условно) переключить 'enable' на вложенное значение в 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
Насколько я понимаю из документации, вы должны пойти дальше и определить репо с гарантированным набором для представления. Но опустите его из ключа yum :: managed_repos
в common.yaml
.
Сам по себе параметр репозитория ничего не делает. Имена ресурсов из хэша должны быть выбраны с помощью параметра
managed_repos
.
Затем вы должны создать новую иерархию в Hiera на основе факта $ :: environment
. В этом каталоге файл test.yaml
будет иметь ожидаемый файл:
yum::managed_repos:
- 'project_build'
Посмотрите на пример здесь, где у них есть уровень Hiera для $ :: trust.certname
. Вы можете использовать это как образец для того, что хотите делать с $ :: environment
.
https://github.com/voxpupuli/puppet-yum/blob/master/README.md#enable-managemnt-of-multiple-repos