ptchol
03.10.2018
11:09:12
а. да. ты прав наверно ) запутался )
я имел ввиду source конечно
Freddie
03.10.2018
11:09:54
Я уже ноут убрал в локер, завтра тестить буду, если память не отшибёт
Andrew
03.10.2018
11:56:20
вопроc,
если написать сначала
exec { "mkdir_recurse_${name}":
path => ['/bin', '/usr/bin'],
command => "mkdir -p ${name}",
unless => "test -d ${name}",
} а потом сделать
file { $my_dir:
ensure => directory,
mode => $mode,
owner => $owner,
group => $group,
}
то второй вызов просто проверит что папка существует с нужными правами, если права не те, выставит нужные
верно?
а если сделать так
define nfs::function::mkdir () {
exec { "mkdir_recurse_${name}":
path => ['/bin', '/usr/bin'],
command => "mkdir -p ${name}",
unless => "test -d ${name}",
}
}
а потом
file { $myfile:
ensure => directory,
require => [ Nfs::Function::Mkdir[$myfile] ],
}
это будет верно? чет не работает так(
Google
ptchol
03.10.2018
11:57:58
нормально. но это же реквайр и описание дефйна.
ты ж его ещё вызвать должен
nfs::function::mkdir{$myfile: }
вот так точнее
Andrew
03.10.2018
11:59:39
я сам дурак, не ту функцию вызываю соре
dk
03.10.2018
12:32:45
Andrew
03.10.2018
12:33:01
dk
03.10.2018
12:33:22
Ну, сам процесс создания директории странный и нет описания зависимостей
А, с дефайном уже есть
Но вообще, вроде, должно сработать
exec { "mkdir $myfile":
creates => $myfile,
command => "mkdir -p $myfile",
} ->
file { $myfile:
mode => 777,
}
Andrew
03.10.2018
12:38:08
Уже работает ) спасибо
Единорожа
03.10.2018
12:40:37
Стрелки зло
Google
Сергей
03.10.2018
13:23:43
а можно средствами puppet запустить выполнение не из-под прав root, а текущего пользователя? Для сравнения у SCCM при публикации программы пакета есть режим выполнения с правами пользователя, где для запуска и установки используется сеанс текущего активного пользователя. Вроде в puppet я такого не нашёл в явном виде, но а вдруг.... Цель: скопировать директорию с файлами на $HOME пользователя. При этом на клиентах могут быть разные пользователи (те я их список заранее не знаю)
Protos
03.10.2018
13:31:01
Сергей
03.10.2018
13:32:33
Максималист
03.10.2018
13:39:17
exec { "script by some user":
command => "some_script.sh",
user => $user,
group => $group,
cwd => $dir,
path => $path,
timeout => 0,
}
Сергей
03.10.2018
13:41:10
Максималист
03.10.2018
13:41:40
я задачи не понял не много - если запустить от пользователя то через exec как советуют
user укажи пользователя и окружение path
Сергей
03.10.2018
13:44:14
Максималист
03.10.2018
13:44:52
Интерактивный скрипт получается? ))
Через whoami делай. Передавай значение переменной и потом папету
Изврат такой ?
Сергей
03.10.2018
13:45:58
ок, спс
Максималист
03.10.2018
13:46:27
Люди тут тебе скажут что не тот инструмент у тебя
Сергей
03.10.2018
13:47:12
вероятно да, но лучше нет:)
Максималист
03.10.2018
13:47:42
Нет лучших инструментов
dk
03.10.2018
13:59:26
Protos
03.10.2018
14:04:02
Сергей
03.10.2018
14:05:00
Google
Protos
03.10.2018
14:06:58
Суть действий какая?
Сергей
03.10.2018
14:09:13
скопировать директорию с файлами на $HOME пользователя. При этом на клиентах (их много) могут быть разные активные пользователи (те я их список заранее не знаю)
Protos
03.10.2018
14:09:37
А обязательно копировать в активные только?
Сергей
03.10.2018
14:11:45
в целом можно копировать и на всех пользователей. Можно копировать во все подпапки /home/ в цикле , но как то не хочется мусорить
Protos
03.10.2018
14:13:38
Мое предложение
Берешь пуппит
Натравливаешь его на профайл
Кладешь в баш логин что тебе надо
Юзер заходит у него стартует сш скрипт
Готово вы восхитительны
Можно если повторный запуск не нужен чекать паппетом выполнение и дропать башлогин
Так не катит?
Сергей
03.10.2018
14:23:55
вариант. спасибо.
ptchol
03.10.2018
16:21:01
ансибл берешься для того или pssh чтобы скрипт скопировать 1 раз
паппет вей в этом кейсе это сделать custom fact который будет возвращать список пользователей.
а в классе сделать описание стейта с содержимым папок, итерируясь как раз по этому факту
Protos
03.10.2018
16:23:50
И наиболее простое
Google
Protos
03.10.2018
16:26:34
ptchol
03.10.2018
16:26:51
а причём тут залогиненый или нет ?
Сергей
03.10.2018
16:27:04
Protos
03.10.2018
16:27:11
ptchol
03.10.2018
16:27:41
просто это складывается в некоторый common который везде распространяется и всё
Сергей
03.10.2018
16:28:55
ptchol
03.10.2018
16:31:39
https://puppet.com/docs/facter/3.12/custom_facts.html#executable-facts-----unix
https://puppet.com/docs/facter/3.12/custom_facts.html#fact-locations
ну а как файлик скопировать объяснять наверно не нужно ?
Сергей
03.10.2018
16:35:42
ну а как файлик скопировать объяснять наверно не нужно ? - нет, не нужно) спасибо
ptchol
03.10.2018
16:38:43
Сергей
03.10.2018
16:41:21
да, я понимаю что пока существующие факты будут не сданы puppet-master манифест на ноде не отработает + нагрузка выполняемая на ноде будет выше
те: используя руби я создаю факт, на puppet-master складирую сюда: <MODULEPATH>/<MODULE>/facts.d/, затем его же распространяю на клиенты по пути ниже и он заработает? Или нужно кастомный факт ещё где то прописывать?
путь на клиентах: On Unix/Linux/OS X, there are three directories:
/opt/puppetlabs/facter/facts.d/
/etc/puppetlabs/facter/facts.d/
/etc/facter/facts.d/
ptchol
03.10.2018
17:20:08
Сергей
03.10.2018
17:22:30
ptchol
03.10.2018
17:22:54
Сергей
03.10.2018
17:23:38
Да
спасибо! завтра попробую применить на практике
Максималист
04.10.2018
09:06:38
Надо спам бот фильтра написать
На телеграм и на канал его повесить
Телеграммный аддблок
пацане
Google
Максималист
04.10.2018
09:46:09
https://www.jetbrains.com/research/devecosystem-2018/devops/
ansible дает жару )
dk
04.10.2018
09:57:26
Еще бы, он же простой
Максималист
04.10.2018
10:00:33
не думал что докеры так распростронены
почитал в этом чате про докеры как то даже не захотелось пробывтаь
))
ptchol
04.10.2018
11:11:51
ты просто хейтеров почитал которые рассказывают про докер трехлетней давности ) это всё равно что сейчас какой нить паппет 3.4 хейтить
Максималист
04.10.2018
11:18:54
ptchol
04.10.2018
11:19:15
даже не смешно
Максималист
04.10.2018
11:22:57
даже не смешно
а я и не шучу. Мне тут по бонусу на digital ocean 80$ упало и вижу что там можно контейнеры поднимать. призадумался, а может быть ...
ptchol
04.10.2018
11:23:19
DO уже куб как сервис части народу выдало
Andrew
05.10.2018
09:15:59
Добрый день подскажите пожалуйста как можно сделать валидацию входных данных
dk
05.10.2018
09:18:55
Нужны подробности
ptchol
05.10.2018
09:19:29
прописать типы значений у параметров класса \ дефайна
Andrew
05.10.2018
09:30:36
а можно как-то обойти вот такую ошибку?
export is a metaparameter;
оч хотят именно такое название переменной
ptchol
05.10.2018
09:32:40
нет