Alexander 🐕
Про это все ваши BDD и все ваши рспеки
Max
Alexander 🐕
А достигаешь ты этого императивно
Alexander 🐕
Так уж устроен юникс-мир
Alexander 🐕
Поэтому, я бы брал упомянутый тесткитчен и городил бы полностью параллельный BDD огород
Alexander 🐕
Ставя на это так называемого “джуниора"
Alexander 🐕
Девочку-джуниора, конечно
Alexander 🐕
Мы все любим девочек-джуниоров
Alexander 🐕
Потому что мальчики-джуниоры это яой
Alexander 🐕
И харам
Max
😂
Serge
Serge
привет puppet :)
Serge
т.е. вот Ansible - это инструмент автоматизации, т.е. повторения императивных действий
Serge
а папет как раз позволяет описать систему и сам её как-то к этому состоянию приводит
Alexander 🐕
Инструмент повторения императивных действий это Fabric
Alexander 🐕
А также и Func
Serge
но не во всех
Alexander 🐕
Ну - потому что некоторые вещи не можно выразить идемпотентно
Serge
и всё равно это лишь способ не совершать действие, если оно уже сделано
Alexander 🐕
Нет
Serge
ну да же, это лишь вопрос того как ты на это смотришь
Serge
все эти стетйты можно развернуть в императивные if-ы
Alexander 🐕
Если действие уже сделано - и второй прогон делать не надо, это и есть идемпотентность
Alexander 🐕
Serge
Alexander 🐕
Это top-down approach
Alexander 🐕
Мы хотим наоборот
Serge
и у нас есть отдельный BDD зоопарк
Alexander 🐕
Мы же хотим повышать уровень абстракции
Serge
Ну, что угодно можно
Serge
и у нас есть отдельный BDD зоопарк
Alexander 🐕
Но так, чтобы без протечек
Serge
Alexander 🐕
Serge
Александр
Уебищная система, из-за одного изменения весь темплей гнать
Serge
Serge
а смысл?
Serge
он ровно сделает тоже, запишет в FS новый файл
Александр
Но время же...
Александр
на проверку старых значений и т.п., т.е. diff тот же.. однохуйственно
Serge
а вот другое, как с помощью BDD проверить state=restart ?
Serge
Александр
А ни как.. это же тот же stop; start
Александр
Или я ошибаюсь?
Alf 🙀
Alexander 🐕
Alexander 🐕
Что меняет рестарт?
Alexander 🐕
Поведение сервиса?
Alexander 🐕
Проверяй смену поведения сервиса
Serge
Pid другой
как я декларативно опишу старый pid?
Alexander 🐕
У тебя сервис должен всякие крючочки предоставлять для интеграции с BDD
Alexander 🐕
Alexander 🐕
Версия бампнется на вебморде, например
Alexander 🐕
Alexander 🐕
Поведение это и есть состояние
Serge
не совсем
Alexander 🐕
“Состояние” = “сервис имеет версию 2.1”
Alexander 🐕
А если не было рестарта - то и не имеет
Serge
это слегка расстраивает :)
Alexander 🐕
Ну - сорян, плохо быть тобой
Alexander 🐕
В самописных сервисах ты это можешь унифицировать
Alexander 🐕
В написанных не тобой, например, в монге….
Alexander 🐕
Кстати, как к тебе в проект вообще попала монга?
Alexander 🐕
А, погоди
Alexander 🐕
В монге это делается легко
Serge
не, ну я могу всё в докер и проверять образ, из которого родился бегающий щас контейнер
Alexander 🐕
Там однострочник все покажет
Alexander 🐕
Alexander 🐕
Вот взгляд правильный и расовый