Size: a a a

Puppet — русскоговорящее сообщество

2021 April 13

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
и тут вот сразу советую перейти на другой способ организации данных и кода
https://puppet.com/docs/pe/2019.8/osp/the_roles_and_profiles_method.html
и использовать hiera

А от всех этих node 'node01' избавиться
источник

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
у тебя вроде foreman, он как раз говорят enc хороший дает
источник

A

Asdqwert in Puppet — русскоговорящее сообщество
Не, foreman не взлетел у меня в итоге, на Ubuntu 20.04 и Puppet 7.1 какие-то проблемы с установкой, в итоге поставил https://github.com/voxpupuli/puppetboard да и тот тоже только в докере взлетел у меня.
Какой-то день кривых рук был :)
источник

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
ну enc не сложно свой реализовать (это просто исполняемый файл, который выдает yaml в определенном формате), ну на крайняк есть кастомные факты
источник

A

Asdqwert in Puppet — русскоговорящее сообщество
Посмотрю. Я понимаю, что организация кода как сейчас это для масштабирования не подходит.
Но я пытаюсь хотя бы базовые вещи реализовать, да и то в свободное время, а его почти нет.
источник
2021 April 14

A

Asdqwert in Puppet — русскоговорящее сообщество
Вот надо же было так всё усложнить!
- name: Install packages
 apt:
   pkg:
     - puppet-agent
     - curl
     - wget
     -blah-blah-blah
   state: latest
   force_apt_get: yes
   update_cache: yes
   cache_valid_time: 3600
 register: apt_output
- debug:
   var: apt_output

Офигенно же! :)
источник

A

Andor in Puppet — русскоговорящее сообщество
эта штука всегда обновляет кеш
источник

A

Andor in Puppet — русскоговорящее сообщество
а так согласен, что могли бы добавить опцию для указания через сколько времени устаревает кеш
источник

A

Andor in Puppet — русскоговорящее сообщество
можно сделать воркэраунд типа такого:
$mytimeout = 3600
if $facts['apt_update_last_success'] and Integer($facts['apt_update_last_success']) < (Integer(Timestamp().strftime('%s')) - $mytimeout) {
 $_apt_update = 'always'
}
else {
 $_apt_update = 'reluctantly'
}

class { 'apt':
 update => {
   frequency => $_apt_update,
 },
}
источник

A

Andor in Puppet — русскоговорящее сообщество
но лучше бы сделать им issue, чтобы подобный код был в модуле
источник

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
Так это тоже самое что
```
class { 'apt':
 update => {
   frequency => 'daily',
 },
}
Class['apt::update'] -> ensure_packages(['curl','wget'])
```
Только с возможностью вместо daily указать свое время. Но как написал @Andorka это очень легко реализовать, надо просто PR им кинуть

Но ты же писал что тебе такое не подходит
источник

A

Andor in Puppet — русскоговорящее сообщество
Нкльзя, там валидация значений
источник

A

Andor in Puppet — русскоговорящее сообщество
И daily это раз в день, а не кастомное значение
источник

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
так добавить в case 'custom'
И добавить параметр mytimeout
источник

A

Andor in Puppet — русскоговорящее сообщество
Да просто число
источник

DS

Dmitry Sergeev in Puppet — русскоговорящее сообщество
а ну да, или просто число
источник

VL

Vethopheth Lephanim in Puppet — русскоговорящее сообщество
я хз сколько на его iot подключено реп, но полагаю раз он борется за каждый метр то очень мало, по сему делаю вывод что это экономия на спичках. Обновление листов обычно не больше нескольких килобайт и если делать это раз в неделю - это ничтожно мало
источник

VL

Vethopheth Lephanim in Puppet — русскоговорящее сообщество
я б вообщее не стал ставить паппет туда, где важен каждый килобайт. Интересно, он вобще в курсе сколько паппет со всеми своими либами весит 8D
источник

A

Asdqwert in Puppet — русскоговорящее сообщество
Мне важна ширина канала и количество проходящего через него траффика, а не вес софта на машине
источник

VL

Vethopheth Lephanim in Puppet — русскоговорящее сообщество
а, ну так бы сразу и сказал, это всё меняет (нет)
источник