Aleksey
пролема интересная да.
Aleksey
давай целиком.
Aleksey
есть задача дать клиенту приложение.
само приложение опенсорс.
приложение по тз должно работать примерно на 40 серверах.
надо приложение обновлять. довольно часто.
сама процедура обновления не всегда простая. но довольно часто сводится к притащи бинари пусти мигацию базы
приложение дожно работать в защищенном периметре. доступа из него нету.
доступ в туда есть через ремоут десктоп. мышка в руках заказчика. :)
Aleksey
вот наверное полный вариант
Dmitry
Да, все ясно теперь
Aleksey
это базовая вводная :) думаю что от нее будут какие то отклонения но пока так вот
Dmitry
Вообще, общая задача заслуживает общего решения, типа софт для доставки софта в периметры.
Dmitry
Я уже придумал название. Smuggler
Dmitry
Как насчет виртуалки virtualbox или vmware, со всеми обновлениями (упаковано в мирУ). Мы ее копируем на комп ответственного лица. Там докер регистри с мини докерхабом. Там же ansible tower или awx. Все сделано красиво, заказчик видит и понимает все действия.
Aleksey
да. сейчас так первая партия и приехала
Aleksey
в виде ova файла
Aleksey
ибо там конечно со сторны заказчика esxi
Dmitry
Плюс в том, что это хорошо можно протестировать и отточить... Было бы круто научиться генерировать ova сервер с полным пакетом нужного софта...
Aleksey
деплой золотыми образами старая тема, но довольно толстая
Dmitry
ну это не совсем так. деплоится не ova а то что на нем. ansible (docker|snaps|rpm) + маленькая копия интернета
Dmitry
а ova приходит на флешке по почте или еще как.
Dmitry
плюс можно отточить до того, что они сами будут деплои делать) пришла флешка, вставили, нажали кнопочку. (с мерами предосторожностями, тестами, откатами итд).
Dmitry
но деплой по почте это конечно жесть))
Dmitry
Aleksey
ова создан пакером конечно
Aleksey
сразу всё.
Dmitry
Кстати... есть ли возможность делать инкрементный апдейт ova... Если так, то вообще прекрасно, заливаем новые имиджи докера в инкрементную часть и шлем по почте на комп контроллера
Aleksey
не
Aleksey
инкрементальный апдейты ova это bindiff
Aleksey
это явно не улучшает задачу
Aleksey
ну снап выглядит огонь
Dmitry
Когда я был в софтовой конторе основным средством доставки был ova... но там релизы раз в квартал.
Dmitry
@freeseacher У них там нет никакой другой централизованной системы обновления? например свои rpm/deb?
Dmitry
ведь можно было бы просто синхронизировать пакеты туда
Sergey
Dmitry
вот прям я чувствую запахи red hat, sattelite и типа того
Dmitry
или как там оно называется)
Dmitry
и на 25 не существует опенсорсных готовых пакетов?
Dmitry
просто если больше 50% уже есть в мирУ, почему бы не сделать виртуальный пакет, а остальные сделать. (один раз настороить сборку через тот же fpm или по-старинке). и синхронизировать
Dmitry
Или еще конфигурация на всем этом?
Aleksey
конфигурация в консуле же
Aleksey
Aleksey
и будет 35 :)
Dmitry
Когда вырасту - напишу книгу "Микросервисы для периметра"
Sergey
Aleksey
да базы опакечены.
Aleksey
кликхаус, монга, постгрес уже да
Aleksey
а вот очереди нет.
Aleksey
nsqd
Aleksey
там конечно гобирарники
Dmitry
зато есть докер)
Dmitry
я вот прямо не могу отказаться от этого пути, ибо все упроститься если организовать доставку образов.
Sergey
У меня сервисы на питоне.
Для нового сервиса я тупо копирую spec-файл с миимальными правками, на выходе получаю rpm, который автомагически учитывает версию, релиз, суффикс, что-то там ещё, и внутри venv питона с приложением (при этом то, что относится к shared-части venv, на всех хостах одинаково).
Aleksey
Aleksey
ты пакетишь готовый venv ?
Dmitry
я вот это часто юзал. https://github.com/jordansissel/fpm Оно достаточно умное
Dmitry
https://github.com/jordansissel/fpm/blob/master/examples/python/twisted/Makefile
Aleksey
Dmitry
Если отклонения от того что делает нужны, то да. Меня устраивал
Aleksey
для гобинарей fpm рулит
Sergey
Смотря что нужно. На хабре я писал про свой Python-скрипт, который поддерживает rpm-репу. В итоге дженкинс тупо курлом загружает пакеты, этот скрипт их принимает, раскладывает и умно запускает createrepo для обновления метаданных в репе.
Dmitry
Sergey
Dmitry
Оно не для deb разве?
Dmitry
а не)
Sergey
не только
Sergey
что попросишь
Sergey
то и будет
Dmitry
slackware, rpm, debian. вроде все
Dmitry
а тот умеет
deb
rpm
solaris
freebsd
tar
directories
Mac OS X .pkg files (osxpkg)
pacman (ArchLinux) packages
Sergey
а этого мало, что ли? одна пара deb/rpm покроет бОльшую часть продакшнов.
tar, положим, не формат пакета, да и directories тоже.
Dmitry
Ну мне надо было реально быстро запилить pkg для opensolaris
Dmitry
потом все равно пришлось пилить свой билд для родной системы
Dmitry
как и руби, для грязных пакетиков "на щас" оно норм.
Dmitry
А остальное - родные системы надо ковырять имхо.
Sergey
Согласен с обоими утверждениями.
Dmitry
не топлю за него, но если устраивает результат то вполне.
Dmitry
тебя и меня не устраивает в проде)