Skip to content

haku4130/devops-bot

Repository files navigation

Общие сведения

Проект представляет из себя python приложение, написанное на flask.

Каждый бот представляет из себя веб-приложение, в котором реализовано три контроллера:

  • hello (/hello) [GET] — выдает текстовый вывод. Необходимо исключительно для отладки
  • send_data (/send_data) [POST] — принимает запрос с определенным телом (об этом ниже), обрабатывает его и, если необходимо, передает его другим ботам. Обработчик запроса пользователя
  • receive_data (/receive_data) [POST] — то же, что и send_data, но используется при взаимодействии ботов друг между другом

Тело запроса состоит из массива addresses, в котором есть объекты с полем address с URL бота, которому необходимо отправить пакет; size, с размером пакета; addresses, с массивом адресатов бота из поля address.

Пример тела запроса для send_data и receive_data:

{
  "addresses": [
    {
      "addresses": [
        {
          "addresses": [],
          "size": "5kB",
          "address": "http://testbot-3:5000"
        }
      ],
      "size": "10kB",
      "address": "http://testbot-2:5000"
    },
    {
      "addresses": [
        {
        "addresses": [],
        "size": "20kB",
        "address": "http://testbot-2:5000"
        }
      ],
      "size": "15kB",
      "address": "http://testbot-3:5000"
    }
  ]
}

В данном случае схема взаимодействия ботов друг между другом будет следующей: schema

Начало работы

Версия python — 3.9

Установка зависимостей: pip install -r src/requirements.txt

Запуск: python src/main.py

Linting

Install: curl -LsSf https://astral.sh/ruff/install.sh | sh

Run: ruff check --per-file-ignores="__init__.py:F401"

About

Инфраструктура K8S для деплоя, мониторинга, логирования на примере python приложения

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors