feat(runtime-logs): enhance runtime log management and configuration
Добавлены новые возможности для управления файловыми логами в Docker-сервисах: - Обновлены конфигурации для поддержки логов, включая переменные окружения и монтирование директорий. - Документация обновлена для описания новых эндпоинтов и параметров, связанных с логами. - Упрощен доступ к логам через API и интерфейс пользователя. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -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.␍
|
||||
|
||||
@@ -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
@@ -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 3–7
|
||||
- [x] BUILD Phase 3 HTTP handlers
|
||||
- [x] BUILD Phase 4 Deploy (compose)
|
||||
- [x] BUILD Phase 5 Tenant settings UI
|
||||
- [ ] BUILD Phase 6–7
|
||||
- [ ] REFLECT
|
||||
- [ ] ARCHIVE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user