Refined the BIRD build process in the Docker setup by consolidating the source download and extraction steps. Enhanced the `bird-from-source.sh` script to include a fallback mechanism for downloading the BIRD tarball from GitHub if the primary source fails. Updated the README documentation to clarify the build process and provide links to the BIRD source. This improves reliability and user understanding of the setup.
EvoBGP
Control plane для управления префиксами, модулями ingest, ревизиями конфигурации BIRD и выкладкой на BGP-спикеры. Репозиторий включает HTTP API на Go, веб-интерфейс (apps/web/), CLI для реплик (evobgp-node), агент и Docker Compose для локального и эталонного развёртывания.
Документация
| Документ | Содержание |
|---|---|
| AGENTS.md | Краткая карта репозитория и советы для ИИ-агентов (экономия контекста) |
| docs/README.md | Оглавление и навигация по разделам |
| docs/overview.md | Ключевые возможности продукта |
| docs/quickstart.md | Быстрый запуск (Docker, локально, фронтенд) |
| docs/architecture.md | Архитектура компонентов и потоков данных |
| docs/api.md | Как работать с REST API и OpenAPI |
| docs/access.md | API-ключи, роли, нода, CORS, безопасность |
Контракт HTTP API: docs/openapi.yaml. Человекочитаемый просмотр: docs/openapi.html (см. docs/OPENAPI-GITEA.md).
Быстрый старт (Docker)
Из каталога deploy/compose (PowerShell):
cd deploy\compose
Copy-Item .env.example .env -Force # EVOBGP_REGISTRY=git.shts.su/<owner>
docker login git.shts.su
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):
docker compose --profile reference pull
docker compose --profile reference up -d
Подробности портов и переменных окружения — в docs/quickstart.md и в комментариях в deploy/compose/docker-compose.yaml.
Разработка
- Go: модуль
evobgp, точки входа вcmd/. - Веб: SvelteKit в каталоге
web/(см. web/README.md).
Версионирование и релизы
Версии определяются автоматически из Conventional Commits при merge в main (semantic-release на Gitea Actions). Первая версия — 1.0.0; ручной bump не нужен.
- docs/releasing.md — пайплайн, commit conventions, секреты CI
- API:
GET /versionиGET /v1/version(полеversion) - Docker-образы: теги
latest,vX.Y.Z,X.Y.Z— в том же CI run, что и релиз (jobrelease)
Лицензия и условия использования — по политике владельца репозитория.