Enhanced the blocklist parsing function to log when the blocklist file is empty. Introduced new helper functions `nft_join_elements` and `nft_add_v4_chunk` to streamline the addition of elements to the nftables, allowing for batch processing and improved error handling. Adjusted the chunk size for element addition to optimize performance. Updated logging to provide better visibility into the blocklist processing and applied prefixes.
EvoBGP
Control plane для управления префиксами, модулями ingest, ревизиями конфигурации BIRD и выкладкой на BGP-спикеры. Репозиторий включает HTTP API на Go, веб-интерфейс (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)
Лицензия и условия использования — по политике владельца репозитория.