1.7 KiB
1.7 KiB
Implementation Plan — Issue #38: Scaffold Model Gateway Rust project
Metadata
| Field | Value |
|---|---|
| Issue | #38 |
| Title | Scaffold Model Gateway Rust project |
| Milestone | Phase 5: Model Gateway |
| Labels | |
| Status | COMPLETED |
| Language | Rust |
| Related Plans | issue-018.md, issue-022.md, issue-027.md |
| Blocked by | #16 (completed) |
Acceptance Criteria
- Cargo workspace member created (
services/model-gateway/) - Dependency on proto-gen crate
- Tonic gRPC server boilerplate compiles
- Configuration loading (address, port, Ollama URL, model routing config)
- Health check endpoint responds
Implementation Steps
- Add workspace member to root Cargo.toml
- Create
services/model-gateway/Cargo.tomlwith proto-gen dependency - Create
src/lib.rswith module exports - Create
src/config.rswith Config + ModelRoutingConfig (TOML loading, serde defaults) - Create
src/service.rswith ModelGatewayService trait impl (IsModelReady + stubs) - Create
src/main.rswith tonic server entry point - Unit tests for config
Files to Create/Modify
| File | Action | Purpose |
|---|---|---|
Cargo.toml |
Modify | Add workspace member |
services/model-gateway/Cargo.toml |
Create | Crate manifest |
services/model-gateway/src/lib.rs |
Create | Module exports |
services/model-gateway/src/main.rs |
Create | Server entry point |
services/model-gateway/src/config.rs |
Create | Configuration with TOML loading |
services/model-gateway/src/service.rs |
Create | gRPC service impl |
Deviation Log
| Deviation | Reason |
|---|