naeel
58d54f2a95
v0.5.0: 3 стенда — изоляция состояния, WSGI middleware, OpenAPI server selector, POLYGON_STANDS env
...
- loader.py: STANDS dict, get_services/get_ops_index per stand, POLYGON_STANDS env
- mock_state.py: get_state(stand_id) — ленивая инициализация
- app.py: StandMiddleware — перезапись PATH_INFO до Flask-роутинга
- Все роуты: LocalProxy(state), LocalProxy(SERVICES/OPS_INDEX) через g.stand_id
- openapi.py: _build_servers() — по одному серверу на стенд
- services/stand{1,2,3}/ — 37 YAML на стенд из STANDS/dev и STANDS/test
- tests/test_api.py: +4 multi-stand теста (изоляция, fail-next, OpenAPI servers)
- Обратная совместимость: /api/v1/svc/... → стенд по умолчанию
2026-08-01 20:10:19 +04:00
naeel
ef593101a3
feat: Swagger UI + OpenAPI 3.1.0 спека (v0.4.0)
...
- /swagger — Swagger UI (CDN, без pip-зависимостей)
- /api/v1/svc/openapi.json — динамическая OpenAPI 3.1.0 спека
- Nubes-брендированный topbar (лого + версия)
- Bearer-токен предзаполняется автоматически
- 17 эндпоинтов с полными схемами, примерами, описаниями
- Ссылка «Swagger» на главной странице
2026-08-01 09:41:55 +04:00
naeel
691e9f4cbd
feat: редизайн главной страницы в стиле Nubes (v0.3.2)
...
- Логотип Nubes, фавикон
- Дизайн-система Nubes: карточки, таблицы, цвета, типографика
- Описание «Что такое Polygon» и «Как использовать»
- Примеры curl для всех основных операций
- Таблица API эндпоинтов
- Таблица загруженных сервисов с деталями
- Светлая тема вместо тёмной
2026-08-01 09:32:22 +04:00