feat(runtime-logs): enhance runtime log management and configuration

Добавлены новые возможности для управления файловыми логами в Docker-сервисах:
- Обновлены конфигурации для поддержки логов, включая переменные окружения и монтирование директорий.
- Документация обновлена для описания новых эндпоинтов и параметров, связанных с логами.
- Упрощен доступ к логам через API и интерфейс пользователя.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-06-12 19:18:50 +07:00
co-authored by Cursor
parent 3f0dd6c234
commit 0c5502b5bb
26 changed files with 1188 additions and 294 deletions
+23 -30
View File
@@ -1,30 +1,23 @@
# Memory Bank: Active Context
## Текущий фокус
**Task:** `settings-ui-and-runtime-logs`
**Phase:** **BUILD Phase 2 complete****Phase 3** (HTTP handlers)
## Phase 2 deliverables
- `internal/runtimelogs/` — Config, Service, safe path, List/Tail/Cleanup
- `EVOBGP_RUNTIME_LOGS_DIR` в `internal/config/config.go`
- `docs/access.md` — документация env
## Ключевые константы
- Guard: `EVOBGP_SERVICE=evobgp-all` + non-empty absolute `EVOBGP_RUNTIME_LOGS_DIR`
- Cleanup max: 512 MiB; tail: 200 default, 2000 max, 256 KiB read cap
## Тесты
- `go test ./internal/runtimelogs/...` — pass
- `scripts/lint-go.ps1` — pass
## Следующий шаг
```
/build Phase 3
```
HTTP handlers + routes для `/v1/runtime-logs/*`.
# Memory Bank: Active Context
## Текущий фокус
**Task:** `settings-ui-and-runtime-logs`
**Phase:** **BUILD Phase 5 complete****Phase 6** (Runtime logs Web UI)␍
## Phase 5 deliverables
- `web/src/routes/tenant-settings/+page.svelte`
- `web/src/lib/components/tenant-settings/` — TenantSettingsPage, Bird/Revision/Additional cards␍
- `web/src/lib/components/network/NetworkBirdSettingsSummaryCard.svelte`
- nav «Параметры» → `/tenant-settings`
- Operations: убран tab `system`, редирект `?tab=system` → tenant-settings␍
- Удалены `OperationsSystemSettingsTab`, `BirdSettingsForm`
## Следующий шаг␍
```␍
/build Phase 6␍
```␍
Monitoring tab «Файловые логи» + API client runtime logs.␍
+3 -3
View File
@@ -7,8 +7,8 @@
| VAN / PLAN / CREATIVE | ✅ |
| BUILD P1 OpenAPI+store | ✅ |
| BUILD P2 FS layer | ✅ 2026-06-12 |
| BUILD P3 HTTP | |
| BUILD P4 Deploy | |
| BUILD P5 Tenant UI | |
| BUILD P3 HTTP | ✅ 2026-06-12 |
| BUILD P4 Deploy | ✅ 2026-06-12 |
| BUILD P5 Tenant UI | ✅ 2026-06-12 |
| BUILD P6 Runtime logs UI | ⏳ |
| BUILD P7 QA | ⏳ |
+20 -12
View File
@@ -8,7 +8,7 @@
|------|----------|
| **Task ID** | `settings-ui-and-runtime-logs` |
| **Complexity** | **Level 4** |
| **Status** | **BUILD Phase 2 complete** → Phase 3 |
| **Status** | **BUILD Phase 5 complete** → Phase 6 |
| **Дата VAN** | 2026-06-12 |
| **Дата PLAN** | 2026-06-12 |
@@ -197,8 +197,9 @@ GET /v1/runtime-logs/cleanup-audit # cursor/limit, viewer+
**Роли:** list/tail/audit — `viewer+`; cleanup — `operator+`.
**Checklist Phase 3:**
- [ ] `go test ./internal/httpapi/... -race`
- [ ] `scripts/lint-httpapi.sh`
- [x] `go test ./internal/httpapi/... -run RuntimeLogs` (Windows: без `-race`, CGO disabled)
- [x] `scripts/lint-go.ps1` exit 0
- [x] lint-httpapi gates (ERR-01, ARCH-01) — проверено grep
---
@@ -220,8 +221,10 @@ environment:
```
**Checklist Phase 4:**
- [ ] dev: `./runtime-logs` рядом с compose
- [ ] prod: `/opt/evobgp/runtime-logs` на хосте
- [x] dev: `./runtime-logs` рядом с compose (`EVOBGP_RUNTIME_LOGS_HOST_DIR` default)
- [x] prod: `/opt/evobgp/runtime-logs` на хосте (через `EVOBGP_RUNTIME_LOGS_HOST_DIR` в `.env`)
- [x] `stack.microvps-full.yaml` + `docker-compose.microvps-full.yaml` — mount + env на `evobgp-all`
- [x] `.env.stack.microvps-full.example`, `docs/quickstart.md`, `docs/manual.md`
---
@@ -250,8 +253,10 @@ environment:
```
**Checklist Phase 5:**
- [ ] `npm run check && npm run lint`
- [ ] `/settings` без tenant-форм
- [x] `npm run check && npm run lint`
- [x] `/settings` без tenant-форм
- [x] `/tenant-settings` с Tabs BIRD / Ревизии / Дополнительно
- [x] nav «Параметры»; Operations без tab system; Network summary + link
---
@@ -326,12 +331,12 @@ graph TD
## Acceptance Criteria
- [ ] `/settings` — только frontend (токен, тема)
- [ ] `/tenant-settings` — все tenant KV (BIRD + revision + custom)
- [ ] Operations без tab `system`; Network без полной BIRD-формы (summary + link)
- [x] `/settings` — только frontend (токен, тема)
- [x] `/tenant-settings` — все tenant KV (BIRD + revision + custom)
- [x] Operations без tab `system`; Network без полной BIRD-формы (summary + link)
- [ ] Runtime logs: list, tail, sync cleanup на evobgp-all
- [ ] Audit cleanup в БД + просмотр в UI
- [ ] `EVOBGP_RUNTIME_LOGS_DIR`, volume в compose
- [x] `EVOBGP_RUNTIME_LOGS_DIR`, volume в compose
- [ ] redocly lint, go test -race, web check+lint
---
@@ -343,7 +348,10 @@ graph TD
- [x] CREATIVE (4 docs)
- [x] BUILD Phase 1 (OpenAPI + migration + store)
- [x] BUILD Phase 2 (FS layer + config)
- [ ] BUILD Phase 37
- [x] BUILD Phase 3 HTTP handlers
- [x] BUILD Phase 4 Deploy (compose)
- [x] BUILD Phase 5 Tenant settings UI
- [ ] BUILD Phase 67
- [ ] REFLECT
- [ ] ARCHIVE