Записки юного ярослэма
30.06
С сегодняшнего дня я официально больше не владею каким-то там доменом, который был куплен мною для демонстрации моего диплома(что было одним из требований) год назад. Поэтому решил я освежить свою память о чем был диплом, полез искать текст дипломной работы и понял, что такую шнягу я тогда написал, что шок.
Идею системы управление серверами мне подкинули на моей еще прошлой рабке, но денег на проект не дали, а диплом мой был все ближе. Поэтому тема была честно позаимствована. Собственно стояла задача сделать клиент-серверное приложение для администрирования серваками и модуль, который будет принимать и обрабатывать команды для удаленного сервера.
В качестве клиент-сервера у меня был ларавель с лайввайром, потому что в этом вашем фронтедне я ни бэ ни мэ. Я только знаю, что в программировании 200 на фронте это наоборот хорошо. Данный стек идеально подходил к тому что бы накидать что-то быстренько и плюс минус красиво. В качестве модуля по обработке команд был обычный пхп скрипт, который принимал по реббиту сообщения и с помощь расширения ssh2 и собственноручно написанной либы отправлял на сервак команды.
На выходе мы имели полноценный мониторинг состояния серверов с дашбордами, автодедект установленных на удаленном сервере программ и языков(питона, го, пхп и докера), миниатюрную админку для докера, в которой можно было просматривать, удалять, запускать и стопить контейнеры. Так же была еще главная фича - создание сценариев для сервера. На вход пользователь подавал json строку, записанную по определенным правилам, модуль обработки команд преобразовывал это в пхп код, который отвечал за исполнения сценария.
Специально для сценариев я написал небольшую библиотечку которая позволяла писать обращение к серверу(тока на линуксе) используя, циклы, условия, объявлять в рамках подключения функции и использовать их. Все это с любой сложностью вложенности. Получался примерно такой код `$session->if('ls -la', 'opt') ->then() ->exec('cd opt') ->endThen() ->else() ->exec('cd ..') ->endElse() ->endIf() Короче вещь прикольная, найти ее на простороах гитхаба и packagist несложно, если кому интересно.
Писалось все это без ваших новомодных гпт и дик пиков, код писался ручками, как и весь текст дипломной работы ну ладно, текст я немного расширял через ноунш ai, так как просто не проходил норм контроль по размерам текста дипломной работы. Исходники все еще в открытом доступе и их можно где-то найти, но не на гитхабе)
P.S. сам текст диплома даже не просите, там позор нереальный`
еще контент в этом сообществе
еще контент в этом соообществе
Записки юного ярослэма
30.06
войдите, чтобы увидеть
и подписаться на интересных профи