В настоящее время я работаю над профилем, чтобы заблокировать сервер, убедившись, что службы и пользователи отключены. Например, Apache.
Это создает проблемы, когда другой профиль хочет управлять ресурсом, потому что тогда у меня будет два ресурса Service [apache].
Теперь я мог бы использовать что-то вроде определения, но мой предпочтительный метод - это каким-то образом profile :: apache может общаться с profile :: lockdown и сообщать ему, чтобы он оставил apache в покое.
Я думаю, что вам нужно использовать hiera для архивации того, что вы хотите.
class profiles::apache {
class { '::apache': }
}
Теперь, если мой класс profiles::apache
используется для 1000 узлов, и я хочу остановить службу на одном конкретном сервере, в hiera я могу использовать что-то вроде этого.
Пример конфигурации hiera 3 hiera.yaml
---
:backends:
- yaml
- json
:yaml:
:datadir: "/etc/puppetlabs/code/environments/%{::environment}/hieradata"
:json:
:datadir: "/etc/puppetlabs/code/environments/%{::environment}/hieradata"
:hierarchy:
- "nodes/%{::trusted.certname}"
- "virtual/%{::virtual}"
- "common"
Сейчас в /etc/puppetlabs/code/environments/production/hieradata/nodes/servername.domain.local.yaml
вставьте это apache::service_ensure: stopped
С помощью hiera вы можете манипулировать параметром классов по узлам или чему-то еще