matt
стой стой
Sander
в ansible же есть ansible-vault
matt
да
Sander
я могу отправить доступ к s3 в окружение контейнера
matt
а как у тебя сделано так, что доступ от прода до s3 появляется когда бэкап зашел по ssh?
matt
через iptables?
matt
плюс какие-то скрипты?
Sander
пока не придумал, ssh там же нет у s3.
тогда только перекидывать доступы, которые будут хранится в ansible-vault
Sander
так бы я агента мог перенаправить, если был бы ssh
Sander
SSH Agent Forwarding
Sander
в s3 же нет возможности сделать ssh? ведь так
matt
один бэкап-сервер и кучка прод-серверов?
matt
я не работал с s3
Sander
да, мне же надо ток запустить комманду, чтоб backup_container сделал свое дело.
Sander
но вообще после я хотел, чтоб он с s3 выкачивал бекапы куда-нибудь еще
matt
мне все элементарно видится. на бэкап сервере по крону запускается ансибл, который пробегает по всему списку прод-серверов и запускает там пуш файла на s3
matt
ключи, пароли передаются из плэйбука
Sander
да
Sander
типо того
matt
ну и все
Sander
сам прод по сути пушит, тогда мне не придется выкачивать бекапы к себе
Sander
после завершения работы, контейнер отключается
matt
ну ты же не хочешь проду отдавать ключи до s3?
Sander
не хочу
matt
отдавай их бэкап-сервером через ансибл и все
Sander
я так и хотел, просто я не уверен делают ли подобное.
Sander
хотел удостовериться
matt
желание на самом деле странное, но реализуемое
Sander
мне казалось что это проще
matt
видимо есть причины не отдавать ключи проду
Sander
мне кажется*
Sander
ну мало ли роот доступ кто-то получит, чтоб бекапы не затерли мне
matt
у тебя по сути ансибл с бэкапа будет ходить по ssh на прод-ноды и запускать там команду пуша на s3
Sander
да
Sander
по поводу почту или систему какую-нибудь, которая может поставить меня в известность что случилась ошибка.
как-то можно сделать?
---
мне этот момент не очень понятен.
мы вначале думали через почту делать, теперь я так понял это уже не актуально.
---
Sander
@namelessmatt
Sander
может быть отдельное устройство или телефон, на который будут приходить все уведомления с ошибками?
matt
а выхлоп выполнения плэйбука на почту не пойдет?
Sander
так плейбук просто запустит docker container
Sander
а что в контейнере будет он не узнает
Sander
можно на почту, но я просто не понял, то на почту норм идея, то не очень
Sander
допустим на почту cron будет отсылать.
Sander
то как мне получить уведомления, если среди писем будет ошибка
matt
плейбук пойдет на ноду, и запустит там контейнер. если итерация не отработает, это зафиксируется в выхлопе
matt
никак
matt
только открыть письмо и глянуть выхлоп
matt
это самое простое решение для уведомлений, ты же не хочешь джэнкинс
matt
но можно в ансибле-плэйбуке обрабатывать эти события и слать почту им
hackru
вот поэтому и нужен дженкинс, который будет сам ловить фейлы
hackru
говорят же человеку, как сделать, а он костыли сидит выдумывает
Sander
ы
hackru
самое забавное, что скорее всего он еще из этого ничего не будет делать
Sander
так я же спрашивал про jenkins
hackru
а так, зашел почесать
Sander
в итоге пришли к тому что он не нужегн
Sander
мне ничего не ответили, мы стали дальше рассматривать вариант с кроном
matt
о, ансибл телеграм умеет
matt
https://docs.ansible.com/ansible/telegram_module.html
Sander
нормально так
matt
ты спросил как сделать, мы тебе рассказали два вариант - как проще всего, и как лучше
matt
ну т.е. крон это просто запускалка, обрабока ошибок это уже логика по продвинутей, нужны другие инструменты
Sander
то есть простой вариант это cron + ansible
matt
да
Sander
а лучше и более продвинутей это: jenkins, ansible
matt
да
matt
в женкинсе есть концепция билдов, и если в билде ошибка - слать письмо. если нет - не слать
matt
очень гибкая система
matt
жирная правда
Sander
разве в cron будет падать ошибка, если ansible просто не сможет приконектиться?
он же просто продолжит свою работу и будет пытаться коннектиться к другим серверам
matt
туда будет падать весь выхлоп, который отдаест ему ансибл
matt
вот прям stdout шлёпнет в письмо
Alf 🙀
а еще лучше если есть бэкап сервер то отвязать бэкапы от дженкинса крона и ансибла и всего такого прочего а то какая то хуита
matt
была там ошибка, или нет, все равно
matt
а ты уже зайдешь и прочитаешь его
Sander
@beastea я вас не понимаю, тогда как делать бекапы?
Alf 🙀
иметь бэкап агента с расписанием на проде, и бэкап сервер с доступом в с3
matt
чтобы проды сами лили бэки
Alf 🙀
ага
matt
а в s3 нельзя ограничить удаление?
Sander
думаешь это нормально?
тогда будет доступ к s3 бакету на боевом сервере.