В марионетка документация очень проста и объясняет, как добавить собственное управляемое репо с помощью данных hiera. Однако, в дополнение к нашему репозиторию «релиз», я хочу условно добавить репозиторий «build» на серверы в нашей «тестовой» среде.
В марионеточном классе (вероятно, 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 для $::trusted.certname
. Вы можете использовать это как образец для того, что хотите делать с $::environment
.
https://github.com/voxpupuli/puppet-yum/blob/master/README.md#enable-managemnt-of-multiple-repos