Denozordec a1ada06a76
CI / changes (push) Successful in 9s
CI / commitlint (push) Has been skipped
CI / openapi (push) Successful in 24s
CI / web (push) Successful in 29s
CI / go (push) Successful in 43s
CI / bird2 (push) Successful in 15s
CI / release (push) Successful in 3m29s
feat(api): add live status tracking for speakers and BGP sessions
- Introduced new schemas for `SpeakerLiveStatus`, `BgpSessionLive`, and `LiveSpeakerPoll` in OpenAPI documentation to support live status queries.
- Enhanced the `/v1/speakers` endpoint to include a `live` query parameter, allowing retrieval of real-time speaker and BGP status.
- Updated the HTTP API to collect and return live status data for speakers, improving monitoring capabilities.
- Modified frontend components to display live status information, enhancing user visibility into speaker health and BGP session states.
- Added a new endpoint `/v1/bird/status` for retrieving the local BIRD status, further enriching the network monitoring features.
2026-05-21 17:36:50 +07:00
2026-05-19 17:58:24 +00:00

Gitea Actions

Workflow: workflows/ci.yaml.

Job PR push в main
changes, openapi, web, go, bird2 quality gates quality gates
commitlint да —
release — semantic-release + docker push (один run)

Подробнее: docs/releasing.md.

CI (quality gates)

Job changes вычисляет флаги по путям в diff. Полный прогон (все узлы openapi / web / go / bird2 в графе): .gitea/workflows/*, scripts/*, .golangci.yml, .pre-commit-config.yaml, корневой package.json / .releaserc.json. Отдельно: migrations/*, docs/openapi.yaml → go / openapi и т.д. (см. ci.yaml).

На pull request — commitlint (Conventional Commits).

Runner: ubuntu-latest, bird2 из apt, Docker для job release.

Release (job в ci.yaml)

После успешных quality gates на push в main job release:

  1. npx semantic-release — тег vX.Y.Z на текущий commit (без дополнительного commit в main).
  2. Gitea Release + CHANGELOG.md как attachment (не в git).
  3. docker buildx bake default --push с VERSION=X.Y.Z — в том же job.

Если releasable-коммитов нет — semantic-release no-op, образы не публикуются.

Секреты

ACTIONS_PAT: push tags, releases, Container Registry. Fallback: gitea.token.

Теги образов

git.shts.su/<owner>/<имя>:latest
git.shts.su/<owner>/<имя>:v1.2.3
git.shts.su/<owner>/<имя>:1.2.3
git.shts.su/<owner>/<имя>:<short-sha>
git.shts.su/<owner>/<имя>:sha-<full-sha>

Имена образов: evobgp-api, evobgp-all, evobgp-scheduler, evobgp-ingest, evobgp-render, evobgp-deploy, evobgp-node, evobgp-web, evobgp-web-all, evobgp-agent, evobgp-bird2.

Удалённый спикер (compose deploy/compose/docker-compose.remote-speaker.yaml): evobgp-bird2, evobgp-agent, evobgp-node (fallback profile); Traefik — внешний traefik:latest. CI: scripts/validate-remote-speaker-compose.sh.

Пример:

docker pull git.shts.su/myuser/evobgp-api:1.2.3

См. deploy/docker/README.md, docs/quickstart.md.

S
Description
No description provided
Readme
5.7 MiB
0 Stars 1 Watchers 0 Forks
v2.57.0
Latest
2026-11-02 18:53:30 +07:00
Languages
TypeScript 59.1%
Go 38.2%
Shell 1.4%
PowerShell 0.5%
CSS 0.2%
Other 0.5%