# KUMA: история работ Дата: 2026-08-26 ## Цель Создать сервис KUMA для алертов по whitelist: - https://whitelist.nodejsk8s.services.ngcloud.ru/ Первый этап: stateless-хранилище. В дальнейшем планируется MariaDB. ## Git Локальный каталог проекта: - `/home/naeel/nubes/kuma` Удалённый Git-репозиторий: - `https://gitea.services.ngcloud.ru/forcloud/kuma.git` Репозиторий был пустым, затем клонирован в локальный каталог. Remote `origin` настроен на указанный адрес. ## Реализация Создан минимальный Flask HTTP-сервис: - `GET /` возвращает JSON с параметрами сервиса и MariaDB. - `GET /health` возвращает состояние сервиса. - `GET /mariadb` возвращает параметры MariaDB. - Пароль MariaDB не возвращается; выводится только `passwordConfigured`. - Конфигурация задаётся переменными окружения. Файлы: - `Dockerfile` - `app.py` - `requirements.txt` ## Docker Локальный образ: - `kuma:0.1.0` Опубликованный образ: - `gitea.services.ngcloud.ru/forcloud/kuma:0.1.0` Digest опубликованного образа: - `sha256:15e7ef5c9e125c81222cffe1c8c4c278c9c148fc432368f01662b4cdbd772f4e` Сборка образа и проверка endpoint `/mariadb` выполнены успешно. ## Переменные окружения ```json { "MARIADB_DATABASE": "db-kuma", "MARIADB_HOST": "mariadb", "MARIADB_PORT": "3306", "MARIADB_USER": "userkuma", "MARIADB_VERSION": "9.4.0", "PORT": "5000" } ``` `MARIADB_PASSWORD` должен передаваться как секрет окружения и не храниться в истории, документации или Docker-образе. ## Ответ сервиса ```json { "mariadb": { "database": "db-kuma", "host": "mariadb", "passwordConfigured": true, "port": 3306, "user": "userkuma", "version": "9.4.0" }, "service": "kuma", "state": "stateless", "target": "https://whitelist.nodejsk8s.services.ngcloud.ru/", "version": "0.1.0" } ``` ## Gitea Container Registry Registry endpoint: - `https://gitea.services.ngcloud.ru/v2/` Проверка без корректного токена возвращала `401 Unauthorized`. С действительным токеном Registry вернул `HTTP 200`. Образ успешно опубликован и манифест проверен. ## Ограничения текущего этапа - Сервис пока не подключается к MariaDB. - Состояние не сохраняется. - Логика получения и отправки алертов whitelist ещё не реализована.