first commit

This commit is contained in:
npc0-hue
2026-07-11 14:56:10 +08:00
commit 7e05d0a4e7
660 changed files with 78119 additions and 0 deletions
@@ -0,0 +1,20 @@
# Add MySQL platform metadata storage
## Why
The platform now has durable file storage, but Docker/local configuration does not expose a real MySQL option. Operators need a clear `PLATFORM_STORAGE_BACKEND=mysql` path with commented configuration examples. They also need the deployment docs to make the log storage boundary explicit: MySQL is for platform metadata, not high-volume row-per-log-line bodies.
## What Changes
- Add MySQL metadata storage configuration through `PLATFORM_MYSQL_DSN`.
- Add a MySQL-backed `repo.Store` implementation that persists platform metadata snapshots in a platform-owned table.
- Separate metadata backend selection from log body backend selection with `PLATFORM_LOG_BODY_BACKEND`.
- Update Docker compose/env examples with commented MySQL configuration.
- Document how to configure MySQL locally and in Docker, and clarify that log bodies remain on `LogBodyStore`.
## Impact
- Operators can configure platform metadata persistence with MySQL without changing code.
- Existing file-backed storage remains the default.
- Logs continue to use file segments by default; production log analytics backends remain a future adapter behind `LogBodyStore`.