Size: a a a

2021 May 31

VS

Vladimir Skubriev in Saltstack
а ведь верно, но надо будет это не забыть
источник

VS

Vladimir Skubriev in Saltstack
всех благодарю
источник

R

Roman in Saltstack
кстати, технически пробелы не обязательны для элементов списка, "- " считается за отступ, хотя я сам всегда дополнительно добавляю отступ для элементов списка
источник

R

Roman in Saltstack
это к сожалению практически не работает когда есть импорты, в любом случае с относительными путями точно не работает, вроде
{% from "./map.jinja" import some_var -%}
источник

PO

Piu Octo in Saltstack
эх
источник

R

Roman in Saltstack
да, выглядело многообещающе, но по факту годится разве что для простейших случаев
источник

KP

Kirill Proskurin in Saltstack
strong opinion mode: map.jinja pattern - это зло и не надо его использовать
источник

KP

Kirill Proskurin in Saltstack
Мы это переиграли с pillarstack + import_yaml.
источник

KP

Kirill Proskurin in Saltstack
И можем делать вот так;
$ salt MINION jinja.import_yaml formula/mysql/vars.yaml
MINION:
 app_current: /opt/behavox/zookeeper/current
 archive_urls:
   zookeeper:
     file: zookeeper-3.4.11.tar.gz
     path: http://s3-proxy:9086/behavox-archive/third-party-packages/zookeeper
 configs:
 - zoo.cfg
 - java.env
 - log4j.properties
 dirs:
   data: /opt/behavox/zookeeper/data
   home: /opt/behavox/zookeeper
   logs: /opt/behavox/zookeeper/logs
   release_dir: /opt/behavox/zookeeper/releases/3.4.11
 log_level: INFO
 log_rotate_days: 30
 pip_packages:
 - zk-shell==1.1.3
 port: 2181
 version: 3.4.11
источник

KP

Kirill Proskurin in Saltstack
Ну и рендерить sls файлы тоже без мучений
источник

R

Roman in Saltstack
stack не везде стоит тащить, все же он куда сложнее обычных пилларов
источник

KP

Kirill Proskurin in Saltstack
Я честно говоря хз чем он сложнее если его использовать с дня 0
Перезжать на него будет больно да
источник

R

Roman in Saltstack
все более гибкое -  зачастую сложнее для понимания
я смотрел на стек практически с начала использования солта и мне были непонятны всего его тонкости

обычные пиллары проще и нагляднее что ли, если можно так сказать, явный маппинг данных к хостам, пока хостов мало это вполне удобно
источник

R

Roman in Saltstack
и кстати, чем это лучше чем pillar.get ?
источник

KP

Kirill Proskurin in Saltstack
хз я лет пять папет ковырял и стек это просто хорошая hiera и было прям легко
источник

R

Roman in Saltstack
ну с таким багажем - вероятно так и есть, а я ковырял солт с нуля поэтому у меня наследия подобного не было
источник

KP

Kirill Proskurin in Saltstack
Ох там есть интересный ньюанс. Мы типа переменные разделяем на тек что в пиларе - назовем это "глобальными" и на те что есть локально для формулы - назовем это "локальными".

Идея типа что мы передаем условную переменную home и на ее основе делаем переменные типа {{ home }}/zookeeper и тд. Так мы:
1) Контролируем кол-во пиларов
2) Создаем патерн со скоупом переменных(как в любом нормальном ЯП)
3) Позволяем делать относительно сложные штуки типа когда надо переменные сервисаА и переменные сервисаБ использовать в рамках одной формулы и что бы их можно было использовать вместе типа:

formula_var: /{{ serviceA_var }}/{{ serviceB_var }}
источник

KP

Kirill Proskurin in Saltstack
просто в стеке нельзя ссылатся на переменные на твоем же уровне стека и приходится выкручиватся
источник

R

Roman in Saltstack
в пилларах вообще нельзя ссылать на пиллары, так что тут стек в любом случае выигрывает
источник

KP

Kirill Proskurin in Saltstack
ну в стеке это легко на разных уровнях да а с таким патерном еще и и на одном уровне
источник