Edge API:
- Implemented metrics service to record and retrieve edge metrics
- Implemented metrics router endpoints (record, list, get, delete)
- Fixed datetime timezone issues for PostgreSQL compatibility
- Updated EdgeMetrics schema to match service implementation
- Dropped and recreated edge_metrics table to fix schema mismatch
Working endpoints:
- POST /v1/metrics/ - Record metrics
- GET /v1/metrics/ - List metrics
- GET /v1/metrics/{metric_id} - Get metric details
- DELETE /v1/metrics/{metric_id} - Delete metric
All Edge API phases (1-6) now complete
Edge API:
- Implemented serve service to manage compute requests
- Implemented serve router endpoints (submit, list, get, cancel, result)
- Fixed datetime timezone issues for PostgreSQL compatibility
- Updated ComputeRequest schema to match service implementation
- Dropped and recreated compute_requests table to fix schema mismatch
Working endpoints:
- POST /v1/serve/requests - Submit compute request
- GET /v1/serve/requests - List compute requests
- GET /v1/serve/requests/{request_id} - Get request details
- POST /v1/serve/requests/{request_id}/cancel - Cancel request
- GET /v1/serve/requests/{request_id}/result - Get result
Edge API:
- Implemented GPU service client to call existing GPU service endpoints
- Implemented GPU service to store GPU listings in database
- Implemented GPU router endpoints (list, get, remove, scan, metrics)
- GPU service already has necessary endpoints (profiles, scan, metrics)
Testing:
- Edge API GPU endpoints working on port 8103
- List GPUs returns empty list (expected - no GPUs registered)
- Implement full DatabaseService with init, get, delete, sync, and list operations
- Add database CRUD operations with SQLAlchemy queries and proper error handling
- Add UUID-based database_id generation and status tracking (initialized, syncing, idle, error)
- Add capacity management (capacity_gb, used_gb) and sync metadata (last_sync_at, records_synced)
- Update database router with Query parameters and HTTPException error handling
- Support filtering by island_id or database_id in get_edge_database endpoint
- Add list_all_databases method
- Created edge-api service structure with FastAPI application
- Implemented all schema files (island, gpu, database, serve, metrics)
- Created router stub files for all modules
- Created service stub files for all modules
- Created client stub files (blockchain RPC, GPU service)
- Configured PostgreSQL database (aitbc_edge) with proper permissions
- Fixed SQLAlchemy reserved name conflict (metadata -> extra_data)
- Changed port to 8103 to avoid conflicts
- Service runs successfully on port 8103
- Health endpoint tested and working
- Created systemd service file
- Created README.md with documentation