91e97f6f751788ffdc2644a1e668abf761a16d07
Phase 1 — New modules: - api/utils.py: find_uid(), uid_from_location() (replaces 2 duplicates) - operations/poll.py: poll_until_done() (shared sync/async polling) - operations/executor.py: execute_operation() (single CREATE/non-CREATE flow) Phase 2 — Format + validation: - routes/api_scenario_defs.py: _validate_steps with output/instance_ref/instance_uid - operations/scenario.py: resolve instance_uid > instance_ref > service_id, use executor + poll_until_done, persist instance_bindings Phase 3 — Migration: - routes/api_test.py: create/non-create through executor, _finish_op through poll_until_done - db/init_db.py: startup cleanup of stuck scenario_runs (>1h) Phase 4 — UI shared module: - static/js/params-render.js: renderParamRow, renderMapFixedRow, collectParams - static/js/operations.js: use params-render.js (remove duplicates) - templates/index.html: include params-render.js - app.py: bump 1.1.57 → 1.2.0
App Autotest
Flask-приложение для автотестов сервисов Nubes. Деплоится как облачный сервис Web-сервер с фреймворком Flask на платформе Nubes.
Документация API
См. основной репо: DOCS/ — стадии операций, поток CREATE, доступ к API.
Архитектура
Полный обзор: ../DOCS/ARCHITECTURE-FULL.md — все файлы, CREATE flow, глобальное состояние, план развития.
Сервис
https://autotest.pythonk8s.dev.nubes.ru/ (test)
Параметры облачного сервиса
appConfiguration:
{
"version": "3.12",
"gitPath": "https://gitea.services.ngcloud.ru/forcloud/app-autotest.git",
"healthPath": ""
}
jsonEnv:
{
"NUBES_API_TOKEN": "...",
"NUBES_API_ENDPOINT": "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
Структура
app/
├── api/ # HTTP-клиент облака
├── operations/ # Операции API (одна на файл)
├── routes/ # Flask blueprints
├── static/ # CSS, JS, логотип
└── templates/ # Jinja2 шаблоны (дизайн Nubes)
Languages
Python
63.8%
JavaScript
30.2%
HTML
3.7%
CSS
2.3%