Repository navigation
feat(clusters): runcrate clusters, bought by the machine, on the live clusters API (RUN-642) - #12
Merged
Merged
Conversation
… clusters (RUN-635) runcrate clusters list, offers, create, get, delete, ssh, kubeconfig, tunnel and test, on the /api/v1/clusters routes. - offers shows where a cluster can start, with the price per node and for the whole cluster as the API returns them; community hosts only with --include-community. - create sends an Idempotency-Key; a gone offer prints the current offers and creates nothing; no capacity says nothing was created or billed. - ssh and tunnel sign an ephemeral certificate per node instance id, the same flow as runcrate ssh (now execSSH, shared by both). tunnel forwards the Kubernetes API (6443) or the Ray dashboard (8265) from the head. - kubeconfig -o writes the file mode 600; test waits for the NCCL result unless -d. Refs: RUN-635
…sbw_gb_s (RUN-635) Refs: RUN-635
…, tunnel k8s to the head Prices read per machine and for the cluster, GPUs per machine are 1, 2, 4 or 8 (refused before the call), offers show allowed node counts and the interconnect note once, test results show why a slow link stopped early, and offers take --with-volume (volume=true) for create --volume. The Kubernetes tunnel forwards 6443 to the head's private address, where k3s listens, instead of its loopback. API types gain allowed_node_counts, country_code, interconnect.note, result.note, resize and event id.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
runcrate clusters(RUN-635 / RUN-642). It creates, uses, tests and deletes multi-machine GPU clusters through/api/v1/clusters, which is now open to every workspace in Production. The app's docs, OpenAPI and MCP tools are aeonmindai/runcrate_app#390.Commands
clusters offers | create | list | get | ssh [--node N] | kubeconfig | tunnel | test | deleteThis update (on top of the two earlier commits)
--gpu H100:3(or--gpu-count 3) is refused before any call, since machines have 1, 2, 4 or 8 GPUs;allowed_node_countswhen an offer only takes some sizes;--with-volumesendsvolume=true, forcreate --volume.--bind-addresson the overlay), not its loopback. Before this,runcrate clusters tunnelon a Kubernetes cluster could not reach the API.notewhen a slow link stopped the test early.allowed_node_counts,country_code,interconnect.note,result.note,resizeand the eventid.Tests
go test ./...: ok (api, auth, commands, config).clusters/configreturnedself_serve: true;clusters offers --nodes 2listed 61 real offers;--gpu H100 --nodes 4priced 4 machines;--gpu H100:3was refused locally;clusters listshowed "No clusters".Release (after the app PR merges; not done here)
Tag
v0.9.0on main..github/workflows/release.ymlthen tests, cross-compiles the five binaries, publishes the GitHub Release withchecksums.txt, and dispatches the Homebrew tap update.install.sh,install.ps1andruncrate updateread the release. There is no npm package.