# EvoBGP Control plane для управления префиксами, модулями ingest, ревизиями конфигурации BIRD и выкладкой на BGP-спикеры. Репозиторий включает HTTP API на Go, веб-интерфейс (`web/`), CLI для реплик (`evobgp-node`), агент и Docker Compose для локального и эталонного развёртывания. ## Документация | Документ | Содержание | |----------|------------| | [AGENTS.md](AGENTS.md) | Краткая карта репозитория и советы для ИИ-агентов (экономия контекста) | | [docs/README.md](docs/README.md) | Оглавление и навигация по разделам | | [docs/overview.md](docs/overview.md) | Ключевые возможности продукта | | [docs/quickstart.md](docs/quickstart.md) | Быстрый запуск (Docker, локально, фронтенд) | | [docs/architecture.md](docs/architecture.md) | Архитектура компонентов и потоков данных | | [docs/api.md](docs/api.md) | Как работать с REST API и OpenAPI | | [docs/access.md](docs/access.md) | API-ключи, роли, нода, CORS, безопасность | Контракт HTTP API: [docs/openapi.yaml](docs/openapi.yaml). Человекочитаемый просмотр: [docs/openapi.html](docs/openapi.html) (см. [docs/OPENAPI-GITEA.md](docs/OPENAPI-GITEA.md)). ## Быстрый старт (Docker) Из каталога [deploy/compose](deploy/compose) (PowerShell): ```powershell cd deploy\compose Copy-Item .env.example .env -Force # EVOBGP_REGISTRY=git.shx.one/ docker login git.shx.one docker compose --profile microvps pull docker compose --profile microvps up -d ``` Профиль **microvps** поднимает `evobgp-all`, PostgreSQL, BIRD2 и агент (образы из Container Registry, без `--build`). API по умолчанию: `http://localhost:8080`. Эталонный стек (несколько сервисов, NATS, веб UI, Prometheus): ```powershell docker compose --profile reference pull docker compose --profile reference up -d ``` Подробности портов и переменных окружения — в [docs/quickstart.md](docs/quickstart.md) и в комментариях в [deploy/compose/docker-compose.yaml](deploy/compose/docker-compose.yaml). ## Разработка - **Go:** модуль `evobgp`, точки входа в `cmd/`. - **Веб:** SvelteKit в каталоге `web/` (см. [web/README.md](web/README.md)). ## Версионирование и релизы Версии определяются автоматически из Conventional Commits при merge в `main` (semantic-release на Gitea Actions). Первая версия — **1.0.0**; ручной bump не нужен. - [docs/releasing.md](docs/releasing.md) — пайплайн, commit conventions, секреты CI - API: `GET /version` и `GET /v1/version` (поле `version`) - Docker-образы: теги `latest`, `vX.Y.Z`, `X.Y.Z` — в **том же CD run**, что и релиз (job `publish`) Лицензия и условия использования — по политике владельца репозитория.