LINUX.ORG.RU

Может быть проще вытягивать репозиторий на сервер puppet и раздавать как обычный file ... source

router ★★★★★
()
Ответ на: комментарий от dhampire

Более правильно так, всё таки tar валится из git archive:

git archive --remote=git@gitserver:foo/bar.git {tag,branch,commit_hash} path/to/file/inside/repo/file | tar -xO > file/on/local/storage

dhampire ★★★
()
Ответ на: комментарий от tailgunner

О, спасибо

file { 'leiningen': 
    path => '/home/vagrant/bin/lein',
    ensure => 'file',
    mode => 'a+x',
    source => 'https://raw.github.com/technomancy/leiningen/stable/bin/lein',
}
Что-то вроде этого, можно применить.

petav ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Качать файлы с гитхаба в продакшен? O_o

Со своего локального.

petav ★★★★★
() автор топика
Ответ на: комментарий от petav

А как puppet заставить выполнить код на сервере-puppet, что бы создать file ...source?

Моя твоя не понимай.

Скрипт в кроне регулярно выкачивает репозиторий. file ... source в манифесте прописывается вручную, одновременно с добавлением задачи в крон

Тем более что везде рекомендуется конфиги puppet/chef/cfengine вытягивать из git

router ★★★★★
()
Ответ на: комментарий от router

Скрипт в кроне регулярно выкачивает репозиторий. file ... source в манифесте прописывается вручную, одновременно с добавлением задачи в крон

тут дельта получается, cron еще не сработал, а puppet сеанс связи провел со старыми конф. файлом.

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

Тем более что везде рекомендуется конфиги puppet/chef/cfengine вытягивать из git

По cron? Аналогично вышесказанному, но в случае с целым сервисом, еще приемлемо. Легко запомнить и учитывать.

Вообще по переносу конфигурации puppet полностью в git задумался. Может и удобнее, тогда сабж отпадает?

petav ★★★★★
() автор топика
Последнее исправление: petav (всего исправлений: 2)
Ответ на: комментарий от petav

тут дельта получается, cron еще не сработал, а puppet сеанс связи провел со старыми конф. файлом.

Обычно это не проблема. Обновит через полчаса, или какой там у тебя интервал обновления

Опять же, если падает сеть, агент puppet'а применяет старый закэшированный конфиг. Жёсткого realtime обычно не требуется. Puppet старается привести конфигурацию к манифесту, но не обещает что сделает это через 5 минут после правки конфига на сервере.

Вообще по переносу конфигурации puppet полностью в git задумался. Может и удобнее, тогда сабж отпадает?

Тут сразу несколько плюсов

  • бекап. все старые версии под рукой, если вдруг потребуются
  • аудит. всегда ясно, кто добавил это [censored] в конфиг
  • проще отработка изменений на dev и test. сначала обновления коммитятся в ветку, которую вытягивает тестовый сервер puppet, работающий на тестовую среду. Если проблем нет, потом тот же коммит идёт в production

http://projects.puppetlabs.com/projects/1/wiki/Puppet_Version_Control

https://docs.cfengine.com/lts/enterprise-cfengine-guide-best-practices.html

router ★★★★★
()
Ответ на: комментарий от router

Тут сразу несколько плюсов

Осознал. А когда начал осозновать, что git сервером управляет puppet, а puppet хранит свои конфиги на git сервере вошел в рекурсию, не могу найти условие для выхода.

petav ★★★★★
() автор топика
Ответ на: комментарий от Bers666

вот вот. вообще на puppet master ставить puppet agent — бред.

Об этом и речи и не велось.

petav ★★★★★
() автор топика

Я не очень уверен, но возможно вам поможет r10k?

rion_nagel
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.