CI / changes (push) Successful in 4s
CI / openapi (push) Successful in 25s
CI / web (push) Successful in 58s
CI / commitlint (push) Skipped
CI / go (push) Successful in 1m3s
CI / bird2 (push) Successful in 16s
CI / release (push) Successful in 4m15s
Updated the authentication logic to prioritize tenant resolution from JWT claims, specifically using `tenants.bgp` or `bgp_tenant_id` as the primary source. If these claims are absent, the system will fallback to the configured `EVOBGP_PORTAL_TENANT_ID`. This change improves the flexibility of tenant management in the authentication process. Additionally, updated related documentation to reflect these changes and added tests to ensure proper functionality.
Документация EvoBGP
Структурированные материалы по проекту на русском языке. Детальный перечень полей и ответов HTTP API — в openapi.yaml (OpenAPI 3.1).
По роли читателя
- ИИ-агент / ассистент в репозитории — ../AGENTS.md: с чего начать чтение, карта
internal/иcmd/, что не тащить в контекст. Инженерные правила: ../.cursor/rules/engineering.mdc (общие), ../.cursor/rules/web-shadcn.mdc (Web UI), ../.cursor/rules/networking-bird.mdc (BIRD2/BGP/IP). - Оператор / DevOps — quickstart.md, architecture.md, access.md, deploy/compose/docker-compose.yaml.
- Разработчик бэкенда или интегратор API — api.md, access.md, openapi.yaml, исходники маршрутов в
internal/httpapi/. - Разработчик фронтенда — quickstart.md (раздел про
web/и CORS), api.md, ../web/README.md.
Оглавление
| Раздел | Описание |
|---|---|
| overview.md | Ключевые возможности системы |
| quickstart.md | Быстрый запуск: готовые образы из git.shts.su, Docker Compose, локальный Go, веб |
| architecture.md | Компоненты, потоки данных, пакеты |
| manual.md | Подробное руководство по модулям, процессам и API |
| api.md | REST: префикс /v1, публичные маршруты, ссылки на OpenAPI |
| router-lists-ui-integration.md | Интеграция router-lists-ui с EvoBGP API (DOMAINS/IP_RANGES/AS_PREFIXES/communities) |
| access.md | Выдача доступа: API-ключи, роли, нода, CORS |
| remote-speakers.md | Удалённые BGP-реплики: Traefik, agent sync, compose |
| releasing.md | Автоматические релизы, Conventional Commits, CI |
| openapi.yaml | Источник правды по контракту API |
| OPENAPI-GITEA.md | Как открыть HTML-документацию API (в т.ч. из Gitea) |
| evobgp-api-sketches.md | Ранний черновик идей API (контекст, не замена OpenAPI) |
Инженерные правила (Cursor / разработка)
| Файл | Область |
|---|---|
| ../.cursor/rules/engineering.mdc | Go, API, migrations, security, enforcement |
| ../.cursor/rules/web-shadcn.mdc | SvelteKit, shadcn-svelte |
| ../.cursor/rules/networking-bird.mdc | BIRD2, BGP policy, IP/CIDR |
| ../.cursor/rules/conventional-commits.mdc | Conventional Commits (заголовок EN, тело RU) |
Сообщения коммитов (Cursor)
После git add:
| Способ | Skill + rule + staged-context.ps1 |
|---|---|
Agent → /commit-message или «сгенерируй коммит по staged» |
Да |
| Кнопка ✨ Generate commit message в Source Control | Нет (только diff + история; ограничение Cursor) |
Рекомендуемый workflow: Agent Chat → /commit-message (команда, скилл, правило). Агент обязан первым делом запустить scripts/commit/staged-context.ps1 (заголовок EN, тело RU, auto-split).
Просмотр групп вручную: powershell -NoProfile -File scripts/commit/staged-context.ps1 | ConvertFrom-Json.
Репозиторий и CI
- ../.gitea/README.md — Gitea Actions, runner, сборка образов и push в Container Registry.
- releasing.md — semantic-release, commit conventions, теги образов.