Alexander
|
dac9f3dd02
|
Replace JSON-RPC with gRPC for Control API
Update Control API specification to use gRPC over Unix socket instead of
JSON-RPC 2.0. gRPC provides better type safety, native streaming for events,
and auto-generated clients for multi-language integration.
architecture.md:
- Add decision rationale table (JSON-RPC vs gRPC comparison)
- Add full .proto definitions (~200 lines) for musicfs.v1 package
- Define MusicFS service with 9 RPC methods:
- Daemon: GetStatus, Shutdown
- Cache: GetCacheStats, ClearCache, Prefetch (streaming)
- Origins: ListOrigins, GetOriginHealth, RescanOrigin (streaming)
- Search: Search, SearchStream
- Events: SubscribeEvents (server-streaming)
- Add grpcurl debugging examples
requirements.md:
- FR-17.1: Clarify Unix socket uses gRPC
- FR-17.2: Upgrade from SHOULD to SHALL for gRPC requirement
|
2026-05-12 16:51:35 +02:00 |
|
Alexander
|
1374084135
|
Reorganize docs into v1 (beetfs) and v2 (new architecture)
docs/v1/ - Original beetfs documentation:
- analysis.md, components.md, data-flow.md, drawbacks.md
- features.md, modernization.md, rust-migration.md
- benchmark-plan.md, benchmark-results.md, e2e-test-plan.md
- README.md
docs/v2/ - New MusicFS architecture:
- requirements.md: Full requirements spec (FR-1 to FR-25, NFR-1 to NFR-14)
- P0: Multi-origin, plugins, CAS, control API
- P1: Search, album art, prefetch, metadata sources
- P3: HA, 10M+ files scalability
- architecture.md: Google BlueDoc style design document
- PlantUML diagrams for all components
- Design requirements with quantitative targets
- Alternatives considered, implementation plan
|
2026-05-12 16:46:37 +02:00 |
|