Назад | Перейти на главную страницу

Марионетка - ограничить действия для среды?

Как я могу ограничить команды марионеточного агента? Мне нужно только разрешить марионеточному агенту работать без петли в производственной ветви.

Я думаю, что какое-то волшебство в auth.conf должно позаботиться об этом, но я недостаточно знаком для этого.

Благодаря @Zoredache мне удалось получить эту сборку так, как мне нужно.

Я использую раздел [main] для динамического создания и управления ветвями и [production], чтобы переопределить настройку noop. Я уверен, что это можно было бы сделать и в [агенте], но я уже начал это здесь.

[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    confdir = /puppet/$environment
    vardir = /puppet/.$environment-var
    ssldir=/etc/puppet/ssl
    environment = production
    server = puppet.domain.org
    pluginsync = true
    noop = true
    # Disable running all branches by default

[production]
    noop = false

РЕДАКТИРОВАТЬ: Похоже, я говорил слишком рано. Нюп истекает кровью. Хотя приведенный выше синтаксис верен, одна из тех каверз, которые я просмотрел, не позволяет этой работе. https://puppet.com/docs/puppet/latest/env_environments.html

... среды имеют некоторые ограничения, большинство из которых являются известными ошибками или причудами реализации, а не выбором дизайна.

Puppet будет читать только параметры modulepath, manifest, manifestdir и templatedir из блоков конфигурации среды.; другие настройки в любом из этих блоков будут проигнорированы в пользу настроек в блоках [master] или [main]. (Ошибка 7497).

Вы не можете сделать это так, кто-то, у кого есть доступ к командной строке, может применить практически любую опцию.

Если вы хотите контролировать, кто может развертывать какой env, я бы посоветовал использовать MCollective для бега марионетки. Вы можете создать довольно подробные списки ACL, и он может координировать марионетку на нескольких узлах и делать такие вещи, как «развернуть на 2 машинах, если не сработает, развернуть на следующих 10, если не сработает, развернуть в покое».