FastAPI control plane for Runtm
Project description
runtm-api
FastAPI control plane for Runtm. See the API docs for endpoint reference.
Hosted API: app.runtm.com
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v0/deployments |
Create deployment (multipart: manifest + artifact.zip) |
| GET | /v0/deployments/:id |
Get deployment status, URL, timestamps, error |
| GET | /v0/deployments/:id/logs |
Get build/deploy logs |
Creating Deployments
POST /v0/deployments
Creates a new deployment or redeploys an existing one (based on manifest name).
Query Parameters:
new=true- Force creation of new deployment instead of redeploying existingtier=starter|standard|performance- Override machine tier from manifest
Request:
manifest(file) -runtm.yamlmanifest fileartifact(file) -artifact.zipcontaining project files
Headers:
Authorization: Bearer <token>- API authentication tokenIdempotency-Key: <key>- Optional idempotency key for retries
Example:
curl -X POST "http://localhost:8000/v0/deployments?tier=performance" \
-H "Authorization: Bearer $RUNTM_API_KEY" \
-F "manifest=@runtm.yaml" \
-F "artifact=@artifact.zip"
Machine Tiers:
All deployments use auto-stop for cost savings (machines stop when idle and start automatically on traffic).
| Tier | CPUs | Memory | Est. Cost |
|---|---|---|---|
starter (default) |
1 shared | 256MB | ~$2/month* |
standard |
1 shared | 512MB | ~$5/month* |
performance |
2 shared | 1GB | ~$10/month* |
*Costs are estimates for 24/7 operation. With auto-stop, costs are much lower for low-traffic services.
Development
# Install dependencies
pip install -e ".[dev]"
# Run migrations
alembic upgrade head
# Start server
uvicorn runtm_api.main:app --reload --host 0.0.0.0 --port 8000
# Run tests
pytest
Environment Variables
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Required |
REDIS_URL |
Redis connection string | Required |
RUNTM_API_SECRET |
API authentication secret (what server validates against) | Required |
ARTIFACT_STORAGE_PATH |
Local artifact storage path | /artifacts |
ARTIFACT_STORAGE_BACKEND |
Storage backend: local or s3 |
local |
BUCKET_NAME |
S3/Tigris bucket name (when backend=s3) | - |
AWS_ENDPOINT_URL_S3 |
S3 endpoint URL (e.g. https://fly.storage.tigris.dev) |
- |
AUTH_MODE |
Auth mode: single_tenant or multi_tenant |
single_tenant |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runtm_api-0.1.0.tar.gz.
File metadata
- Download URL: runtm_api-0.1.0.tar.gz
- Upload date:
- Size: 62.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6888ad76509c7ffbcccbc10f438e4c17709093b36ad2083b0c048b16235850
|
|
| MD5 |
72689c10406a1f922948caac88b1f10a
|
|
| BLAKE2b-256 |
c15edda93058e1dc3d5cb83336fee5ab25f6a957af2c973728eda15bcadf6241
|
File details
Details for the file runtm_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: runtm_api-0.1.0-py3-none-any.whl
- Upload date:
- Size: 60.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f2e9ac685fb59b2e8a561294f5f0a7f212cd4d35f1d0043d32fc493db1aaf43
|
|
| MD5 |
b08cdfd3efe206df66797dcf58ed88b5
|
|
| BLAKE2b-256 |
2c1e077020ca9364fa696ca7b1bf6113d2d0f9b00d4409083283fc40741c1ad4
|