Add Daytona catalog provider - #263
Conversation
Signed-off-by: Mislav Ivanda <mislavivanda454@gmail.com>
peterschmidt85
left a comment
There was a problem hiding this comment.
I pushed cc9749c to add live GPU availability and regional CPU offers.
Live GPU availability requires DAYTONA_API_KEY. Without it, the provider warns and returns public price estimates.
@mislavivanda, please review the changes and confirm they look good to you.
|
Hi @peterschmidt85, thanks for the review and follow up commit which moved us to online provider. Confirmed - the changes look great, thank you. I verified against our production API: org resolution via /api-keys/current works, capacity gating matches live fleet state (sold-out types drop out and return), CPU offers price out exactly per region, and excluding B200 is correct - it is priced ahead of launch and not yet orderable. The online-provider model fits Daytona well given per-second billing and fast capacity churn. If the CI secret ever needs a dedicated key or higher limits, ping us at support@daytona.io. |
|
Thank you, @mislavivanda ! I’ll merge this shortly. |
Yes, of course, that would be great. I'm good with both ways, whichever your prefer. If you lift a PR just ping me please so I can review the changes before we merge it. |
@mislavivanda Here we go: dstackai/dstack#4321 |
What
Adds Daytona (https://daytona.io) as an offline catalog provider — a GPU cloud offering isolated sandboxes with on-demand and spot capacity, billed per second.
Data source
Public, unauthenticated rate card:
https://billing.app.daytona.io/gpu-pricing(JSON, served from the same definitions customers are billed against, cached 5 min). Same no-creds offline pattern as CloudRift.Mapping notes
KNOWN_NVIDIA_GPUS), RTXPRO6000, RTX5090, RTX4090, MI355X (AMD). Unknown future types are skipped with a warning.uslocation.Testing
src/tests/providers/test_daytona.py): payload mapping, exact price pins for both capacity types, unknown-GPU skip, HTTP/shape error handling.python -m gpuhunt daytona→ 64 offers, integrity tests pass against the produced CSV.