С сегодняшнего дня я официально больше не владею каким-то там доменом, который был куплен мною для демонстрации моего диплома(что было одним из требований) год назад. Поэтому решил я освежить свою память о чем был диплом, полез искать текст дипломной работы и понял, что такую шнягу я тогда написал, что шок.

Идею системы управление серверами мне подкинули на моей еще прошлой рабке, но денег на проект не дали, а диплом мой был все ближе. Поэтому тема была честно позаимствована. Собственно стояла задача сделать клиент-серверное приложение для администрирования серваками и модуль, который будет принимать и обрабатывать команды для удаленного сервера.

В качестве клиент-сервера у меня был ларавель с лайввайром, потому что в этом вашем фронтедне я ни бэ ни мэ. Я только знаю, что в программировании 200 на фронте это наоборот хорошо. Данный стек идеально подходил к тому что бы накидать что-то быстренько и плюс минус красиво. В качестве модуля по обработке команд был обычный пхп скрипт, который принимал по реббиту сообщения и с помощь расширения ssh2 и собственноручно написанной либы отправлял на сервак команды.

На выходе мы имели полноценный мониторинг состояния серверов с дашбордами, автодедект установленных на удаленном сервере программ и языков(питона, го, пхп и докера), миниатюрную админку для докера, в которой можно было просматривать, удалять, запускать и стопить контейнеры. Так же была еще главная фича - создание сценариев для сервера. На вход пользователь подавал json строку, записанную по определенным правилам, модуль обработки команд преобразовывал это в пхп код, который отвечал за исполнения сценария.

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

Писалось все это без ваших новомодных гпт и дик пиков, код писался ручками, как и весь текст дипломной работы ну ладно, текст я немного расширял через ноунш ai, так как просто не проходил норм контроль по размерам текста дипломной работы. Исходники все еще в открытом доступе и их можно где-то найти, но не на гитхабе)

P.S. сам текст диплома даже не просите, там позор нереальный`

С сегодняшнего дня я официально больше не владею каким-то там доменом, который был куплен мною для демонстрации моего диплома(что было одним из требований) год назад | Сетка — новая социальная сеть от hh.ru
repost

16

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь