界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

vastai-hello-world

vastai-hello-world

【开发与工程】Rent, verify, use, and destroy a first Vast.ai GPU instance with bounded cost and explicit failure cleanup. Use when running a safe platform canary or onboarding exercise. Trigger with: "rent my first Vast.ai GPU", "run a Vast.ai canary", "test Vast.ai end to end".

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: vastai-hello-world description: >- Rent, verify, use, and destroy a first Vast.ai GPU instance with bounded cost and explicit failure cleanup. Use when running a safe platform canary or onboarding exercise. Trigger with: "rent my first Vast.ai GPU", "run a Vast.ai canary", "test Vast.ai end to end". allowed-tools: Read, Grep, Write, Edit version: 2.0.0 argument-hint: '[gpu-requirement-budget-and-image]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • vastai
  • instances
  • onboarding
  • cost-control compatibility: 'Requires the Vast.ai CLI, a valid API key, account credit, an SSH public key, and an approved container image.'

First Vast.ai GPU Rental With a Cost Fence

Overview

Prove the complete renter lifecycle without leaving billable storage behind. Search a verified offer, register SSH before creation, capture the returned contract ID, bound readiness polling, run one GPU check, retrieve evidence, and destroy.

Prerequisites

  • Maximum hourly price, maximum elapsed time, GPU/VRAM need, disk size, and region policy
  • Approved image tag and registered SSH public key
  • Cleanup owner who can destroy the contract even when the workload fails

Instructions

Step 1: Verify identity and budget

Run vastai show user --raw; confirm the intended account and enough credit. Set an external deadline and total-spend ceiling before searching.

Step 2: Search a suitable offer

Use vastai search offers --raw with verified=true, rentable=true, reliability, direct-port, GPU, disk, and price constraints. Record the selected offer ID and quoted price components.

Step 3: Create exactly one instance

Create with an immutable image tag, SSH, direct networking when required, and the smallest sufficient disk. Capture new_contract as the instance ID.

Step 4: Wait with terminal branches

Poll vastai show instance ID --raw until actual_status is running. Abort and clean up on timeout, exited, unknown, or offline; never poll forever.

Step 5: Run and collect the canary

Resolve the SSH URL, execute nvidia-smi, run the bounded workload, and copy out the small result or checksum.

Step 6: Destroy and prove cleanup

Destroy the instance non-interactively and confirm it no longer appears. Destruction is irreversible but is required to stop storage charges.

Authentication

Use a scoped key that can search offers and manage instances but cannot transfer credit or administer teams. Keep SSH private keys local and never pass them through instance environment variables.

Tool Discipline

Use Read and Grep to inspect manifests, configuration, provider output, and existing tests before proposing a mutation. Use Write or Edit only for the approved plan, implementation, test, or redacted receipt; do not create, update, destroy, or fund Vast.ai resources without explicit operator approval.

Output

  • Selected offer and cost-policy decision
  • Instance state timeline and GPU canary result
  • Artifact checksum plus confirmed destruction receipt

Return account ID, offer ID, instance ID, price, state transitions, canary result, and cleanup confirmation with secrets removed.

Examples

An operator rents one verified RTX 4090 below the approved hourly ceiling, reaches running within the deadline, records a CUDA device check, copies out a checksum, and destroys the contract in a guaranteed cleanup path.

Error Handling

FailureResponse
No offer satisfies policyDo not relax controls silently; report which constraint eliminated capacity.
Instance remains loadingRespect the deadline, inspect image size and host network, then destroy and choose another offer.
Instance becomes exited, unknown, or offlineStop polling, salvage only if safe, destroy, and retry on a different host.
Cleanup command failsEscalate immediately with the instance ID because storage may still be billing.

Resources

我的收藏