Skip to content

Migrate Runpod backend to REST API v2 - #4397

Merged
un-def merged 1 commit into
masterfrom
pr_runpod_api_v2
Oct 21, 2026
Merged

un-def merged 1 commit into
masterfrom
pr_runpod_api_v2

Conversation

@un-def

@un-def un-def commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

Pods, clusters, network volumes, and container registry credentials are managed via REST API v2 instead of the deprecated GraphQL API, with the following exceptions and changes:

  • Community Cloud pods are still created via GraphQL, since v2 does not support placement by country code. gpuhunt also still uses GraphQL.
  • Clusters with registry_auth are no longer supported: v2 cluster creation does not accept registry credentials, and cluster member pods cannot be updated via PATCH /v2/pods/{id}.
  • Spot offers are rejected, since v2 has no interruptible pods. gpuhunt does not produce Runpod spot offers anyway.
  • The cluster internal IP is set in update_provisioning_data(), since v2 may assign it after the cluster is created.
  • A cluster is deleted if its pods cannot be listed after creation or their count does not match, as dstack does not track it yet.
  • A failed container registry credentials cleanup no longer fails provisioning of an already created pod.

Pods, clusters, network volumes, and container registry credentials
are managed via REST API v2 instead of the deprecated GraphQL API,
with the following exceptions and changes:

* Community Cloud pods are still created via GraphQL, since v2 does
  not support placement by country code. gpuhunt also still uses
  GraphQL.
* Clusters with `registry_auth` are no longer supported: v2 cluster
  creation does not accept registry credentials, and cluster member
  pods cannot be updated via `PATCH /v2/pods/{id}`.
* Spot offers are rejected, since v2 has no interruptible pods.
  gpuhunt does not produce Runpod spot offers anyway.
* The cluster internal IP is set in `update_provisioning_data()`,
  since v2 may assign it after the cluster is created.
* A cluster is deleted if its pods cannot be listed after creation or
  their count does not match, as dstack does not track it yet.
* A failed container registry credentials cleanup no longer fails
  provisioning of an already created pod.
@un-def
un-def merged commit 4028fe8 into master Oct 21, 2026
29 checks passed
@un-def
un-def deleted the pr_runpod_api_v2 branch October 21, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant