
shadow
18.07.2018
15:22:11
ну или exec вывести в includы

Konstantin
18.07.2018
15:22:23
но ваще паппет как бы декларативен
в нем лучше избегать ифов подобных

dk
18.07.2018
15:23:10
Хз чего ты делаешь, но странное

Google

dk
18.07.2018
15:23:32
А почему паппеты? Есть же докер (суйте ору в докер)
Уверен, что @ptchol поддержит эту идею :3

Konstantin
18.07.2018
15:25:30
не, давайте без цирка

shadow
18.07.2018
15:25:50
@dk почему странно? в зависимости от хостнейма выкладывать содержимое source => "puppet:///modules/module1/dir1 и exec импорт серта. В чем странность?

Konstantin
18.07.2018
15:26:06
обычно это чуть не так делается (если интересно, конечно)
в манифестах указывается матчинг ноды на набор модулей/параметров
node 'hostname-or-regex' {
class { 'foo': }
class { 'bar':
some_param => true,
}
}
node 'another-hostname-or-regex' {
class { 'foo': }
class { 'bar':
some_param => false,
}
}
а внутри модуля уже ничего знать про ноду не нужно, тк манифест модуля максимально абстрактный и ничего про ноду не знает
завернуть вот эту фигню в
if ($some_param) {
file {...}
exec {...}
}
будет уже немного лучше

ptchol
18.07.2018
15:29:15
Нет
Все это делается через секьюор диры файлсервера

shadow
18.07.2018
15:29:58
ну давайте, запутайте меня, куда еще больше путаться? :)

ptchol
18.07.2018
15:30:47
И клиент видит тока свои серты.и пути у всех одинаковые

Google

ptchol
18.07.2018
15:46:27
Просто почитайте про auth.conf
Создайте эндпойнт /private а в пафс ловите регуляркой имя хоста из параметров или хелеров, хз где у них оно тамща . В результате у вас в манифесте будет путь Аля puppet:///private/certs/app1 но на сервере будет разворачиваться в /private/{hostname}/certs/...
У вас и серты будут 'защищены' и геморрой с проверкой пропадает
Я в пути, к сожалению не подскажу и не помогу пока примерами, вечером могу посмотреть, если остался доступ к одному из проектов, стащу оттуда конфиг
Вообще Ксению позовите, она вам расскажет )))
Ну чо, разобрались ? Или паппет удалили ? ))

shadow
19.07.2018
16:30:04
переписал код и заработало
Subscribe из exec убрал и заменил на notify exec в file секции
Переписывать некогда, еще пару блокеров в очереди

Konstantin
29.07.2018
11:41:37
господа, приветствую
есть у меня такой код
file {$file:
content => $alerts.to_yaml,
}
это из модуля прометеуса, если что
по умолчанию рубишный дампер ямла делает вордврап на 80 строчек
что делает не особо читаемыми конфиги и, в одном из случаев, вовсе работает неправильно
в to_yaml в руби можно передать опции, в тч отключающие этот ворд-врап
а вот как из *.pp передать опции, я прям чего-то не придумаю
вот так оно не хочет
$alerts.to_yaml({line_width => -1})
хотелось бы из конфигов убрать вот это

Google

Konstantin
29.07.2018
11:45:46
https://cdn.weblab.pro/9egre.png

ptchol
29.07.2018
11:47:40
https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/functions/to_yaml.rb
кажется никак

Konstantin
29.07.2018
11:48:02
не, это не она
это из stdlib просто ф-ия to_yaml
а у меня это экстеншн-метод хеша
или она

ptchol
29.07.2018
11:51:07
она
нет никаких методов, это ж паппет
это просто вариант нотации через . функции или чере func()