022.1 - Zabbix отдельная DEV среда. Часть 1. Подключаемся к гиту
Ранее уже выходил такой пост
Где мы поверхностно рассмотрели как выкатывать Zabbix Server на Proxmox через Terraform с помощью Docker Compose. Но на выкатке заббикс сервера увы ничего не заканчивается. Пришло время двигаться дальше (я просто нечаянно снёс ВСЮ дев реду заббикса :'( бекапов которой конечно же небыло, плак плак).
Но сперва стоит поблагодарить тех, благодаря кому данный пост стал возможен, а именно наших горячо любимых спонсоров:
Отдельно приветствую нового спонсора:
А так же благодарю спонсоров которые делают выход контента возможным уже не первый месяц:
Vyacheslav Peshkov
Vyacheslav Peshkov
Сергей Коржук
Boris Schastlivtsev
Михаил
Ринат
Мы точно так же будем создавать через Terraform ВМ на Proxmox и далее с помощью Docker Compose катить туда минимально необходимые контейнеры для работы Zabbix. Для патронов РД6 будет создан репозиторий в гитлабе, куда будут выданы доступы по почтам указанным при подписке на бусти. Список доступов будет регулярно актуализироваться. В репозиторий планируется запаковать мою дев среду для заббикса, которую вы сможете склонировать себе и на её основе запилить себе уже свои дев среды или небольшие продуктивные среды. Обновления гита с дев средой будут доступны только активным подписчикам дабы хоть какую-то эксклюзивность контента обеспечить для подписчиков топового тарифа :)
При разработке этой статьи, учитывается что все этапы описанные ранее выуже прошли, и закончили на статье указанной по ссылке выше, называющейся Выкатываем Zabbbix Server с помощью Docker Compose на докерноду созданную с Terraform или как-то похоже. Начнём мы по сути с рерайта этой статьи, с учётом что это новый гит и всё такое.
Ссылка на отдельный гит: https://gitlab.com/adminguide/zabbix-dev-env
Итак, вы подписались на тариф РД6. Если вы только только подписались, вероятнее всего в письме вы найдёте ссылку на этот пост либо после подписки вас закинет в дискорд, и там на канале для РД6, вы найдёте закреп со ссылкой сюда же. Осталось только подключиться к гиту, о чём и пойдёт речь в этом посте :)
Подключение нпосредственно к моему гиту поможет только если у вас 1в1 всё как у меня, только в этом случае вы сможете запустить команду из гита чтобы она у вас выкатилась как надо.
Но тем не менее, вы вероятнее всего захотите сделать себе форк гита и пилить уже из своего гита. Вот тут вам больше всего и пригодится знать как проще клонировать приватные репозитории.
Предположим что вы только зарегистрировались в гитлабе и получили инвайт. Тогда ваш гит будет выглядеть примерно так:
У вас есть доступ к моему гиту в роли репортера. Вы можете читать данные с гита. Надо сходу сделать так, чтобы клонировать и запускать команды прямо из приватного гита было прощее. Для этого нужно создать Access Token для вашей учётки, и просто подставить его в нужный запрос.
Жмём на аватарку, потом на Edit profile, как страница прогрузится на Access Tokens, и как она прогрузится второй раз, на Add access token
Задаём имя токена какое-то которое позволит нам же идентифицировать его назначение. Удаляем дату истечения при необходимости. Ставим все галочки. С назначением каждой, и когда какие ставить вы сможете ознакомиться самостоятельно ;). И жмём на кнопку Create personal access token
Когда токен появится, жмём на иконку с глазиком, чтобы его увидеть, и сохраняем куда-нибудь. На глаза он нам больше никогда показываться не будет. Если вы его потеряете - придётся пересоздавать.
Если вы поставили все галочки когда создавали токен, то не публикуйте его нигде, ибо с логином и этим токеном, можно будет сделать репозиторию где у вас есть права на запись - плохо.
Когда вы проделали все манипуляции, у вас в итоге получится пара из логина и токена, типа такой:
belfigor:glpat-Tz2hUSceu9uPKk8qxN8q
Просто подставляете её в гит клон с адресом гита на который у вас есть права, и всё начинает работать:
git clone https://belfigor:glpat-Tz2hUSceu9uPKk8qxN8q@gitlab.com/adminguide/zabbix-dev-env.git/
Дальше вы уже можете эту строку использовать в консольке
Примеры использования
Удалить старую папку, перекачать из гита и выкатить с нуля. Старая ВМ если ранее был деплой через тф, уже должна быть удалена ручками
rm -Rf ./zabbix-dev-env && git clone https://adminguide:glpat-5ntupor7wjjai4ezZddF@gitlab.com/adminguide/zabbix-dev-env.git && cd ./zabbix-dev-env/terraform && terraform init && terraform apply
Удалить старую папку, перекачать из гита и выкатить с нуля без запроса аппрува. Старая ВМ если ранее был деплой через тф, уже должна быть удалена ручками
rm -Rf ./zabbix-dev-env && git clone https://adminguide:glpat-5ntupor7wjjai4ezZddF@gitlab.com/adminguide/zabbix-dev-env.git && cd ./zabbix-dev-env/terraform && terraform init && terraform apply --auto-approve
Перейти в папку с деплоем, удалить деплой без запроса аппрува, удалить папку с дев средов, перекачать её из гита и задеплоить без запроса аппрува.
cd && cd ./zabbix-dev-env/terraform && terraform destroy --auto-approve && cd && rm -Rf ./zabbix-dev-env && git clone https://adminguide:glpat-5ntupor7wjjai4ezZddF@gitlab.com/adminguide/zabbix-dev-env.git && cd ./zabbix-dev-env/terraform && terraform init && terraform apply --auto-approve
В общем вы ограничены только фантазией и здравым смыслом. Но конечно же поидее это всё делать надо не через консоль, а деплоить напрямую из вашего гита через ci :)