Подробные комментарии ко всем JS-файлам фронтенда

This commit is contained in:
2026-07-31 17:25:44 +04:00
parent 0783319fd1
commit c50aaf59d8
17 changed files with 1155 additions and 196 deletions
+37 -11
View File
@@ -1,12 +1,24 @@
"""
app-autotest — точка входа Flask-приложения для автотестов Nubes.
Регистрирует три blueprint'а:
- main_bp → / (главная, токен, инфраструктура)
- api_bp → /api/run, /api/status, /api/config [LEGACY]
- api_test_bp → /api/test, /api/params, /api/log (основная логика)
Это приложение позволяет:
1. Тестировать операции с сервисами Nubes (create/modify/delete/...) через UI
2. Создавать и запускать сценарии (последовательности операций)
3. Просматривать историю запусков и логи
Деплой: Nubes pythonk8s (gunicorn, несколько воркеров).
Blueprint'ы (каждый — отдельный файл в routes/):
- main_bp → / (главная: токен, инфраструктура, сервисы)
- api_test_bp → /api/test, /api/params, /api/log (ручной режим)
- api_scenario_run_bp → /api/scenario/run, /api/scenario/status (запуск сценариев)
- api_scenario_defs_bp → /api/scenario/definitions (CRUD сценариев)
Деплой: Nubes pythonk8s (managed service) с gunicorn:
gunicorn app:app --workers 2 --bind 0.0.0.0:8000
Конфигурация:
NUBES_API_ENDPOINT — URL API (по умолчанию test)
NUBES_API_TOKEN — сервисный токен (из переменных окружения k8s)
VERSION — версия приложения (меняется при КАЖДОМ изменении кода)
"""
import os
@@ -18,23 +30,37 @@ from routes.api_test import bp as api_test_bp
from routes.api_scenario_run import bp_run as api_scenario_run_bp
from routes.api_scenario_defs import bp_defs as api_scenario_defs_bp
# Версия — меняется при КАЖДОМ изменении кода. Показывается в топбаре UI.
# Версия — показывается в топбаре UI. Меняется при КАЖДОМ изменении кода.
# Нужна для фильтрации истории (пользователь видит только записи своей версии).
VERSION = "1.2.16"
# Flask-приложение с Jinja2-шаблонами из папки templates/
app = Flask(__name__, template_folder="templates", static_folder="static")
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc")
# Конфигурация из переменных окружения (задаются в Nubes UI при создании сервиса)
app.config["NUBES_API_ENDPOINT"] = os.getenv(
"NUBES_API_ENDPOINT",
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
)
app.config["NUBES_API_TOKEN"] = os.getenv("NUBES_API_TOKEN", "")
app.config["VERSION"] = VERSION
app.register_blueprint(main_bp)
app.register_blueprint(api_test_bp)
app.register_blueprint(api_scenario_run_bp)
app.register_blueprint(api_scenario_defs_bp)
# Регистрируем blueprint'ы — каждый отвечает за свою группу маршрутов
app.register_blueprint(main_bp) # /
app.register_blueprint(api_test_bp) # /api/test, /api/params, ...
app.register_blueprint(api_scenario_run_bp) # /api/scenario/run, ...
app.register_blueprint(api_scenario_defs_bp) # /api/scenario/definitions, ...
@app.route("/health")
def health():
"""Healthcheck — всегда возвращает 200 OK.
Используется Nubes для проверки живости сервиса.
Если не ответит — сервис будет перезапущен."""
return "OK"
# Локальный запуск (без gunicorn) — только для разработки
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=5000)