feat: add GPU-specific fields to marketplace offers and create dedicated GPU marketplace router

- Add GPU fields (model, memory, count, CUDA version, price, region) to MarketplaceOffer model
- Create new marketplace_gpu router for GPU-specific operations
- Update offer sync to populate GPU fields from miner capabilities
- Move GPU attributes from generic attributes dict to dedicated fields
- Update MarketplaceOfferView schema with GPU fields
- Expand CLI README with comprehensive documentation and
This commit is contained in:
oib
2026-02-12 19:08:17 +01:00
parent 76a2fc9b6d
commit 5120861e17
57 changed files with 11720 additions and 131 deletions

View File

@@ -17,6 +17,13 @@ class MarketplaceOffer(SQLModel, table=True):
status: str = Field(default="open", max_length=20)
created_at: datetime = Field(default_factory=datetime.utcnow, nullable=False, index=True)
attributes: dict = Field(default_factory=dict, sa_column=Column(JSON, nullable=False))
# GPU-specific fields
gpu_model: Optional[str] = Field(default=None, index=True)
gpu_memory_gb: Optional[int] = Field(default=None)
gpu_count: Optional[int] = Field(default=1)
cuda_version: Optional[str] = Field(default=None)
price_per_hour: Optional[float] = Field(default=None)
region: Optional[str] = Field(default=None, index=True)
class MarketplaceBid(SQLModel, table=True):