Skip to main content

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 existing
  • tier=starter|standard|performance - Override machine tier from manifest

Request:

  • manifest (file) - runtm.yaml manifest file
  • artifact (file) - artifact.zip containing project files

Headers:

  • Authorization: Bearer <token> - API authentication token
  • Idempotency-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runtm_api-0.2.21.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runtm_api-0.2.21-py3-none-any.whl (60.9 kB view details)

Uploaded Python 3

File details

Details for the file runtm_api-0.2.21.tar.gz.

File metadata

  • Download URL: runtm_api-0.2.21.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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

Hashes for runtm_api-0.2.21.tar.gz
Algorithm Hash digest
SHA256 f3b8199a0bf6e2d6c79a94d45dd0d5f4139ab205ddc73ef08fa922a1b66b0715
MD5 6eff9055ec05602ac569cf1e30cfd608
BLAKE2b-256 507a5fdc9afdf189c0610f767b0838570fb0808d3275bd0674a0152ebd8a99fa

See more details on using hashes here.

File details

Details for the file runtm_api-0.2.21-py3-none-any.whl.

File metadata

  • Download URL: runtm_api-0.2.21-py3-none-any.whl
  • Upload date:
  • Size: 60.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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

Hashes for runtm_api-0.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 ac88cb0c0e977d4f98f236066cb7aebb98eefdf49b4d2b3ac2b7fa7d73ceb86a
MD5 1aadac251f5b3901a266ca95f49ee2fe
BLAKE2b-256 74b9de0c25437313625101601d944b30566db35cd3ff66ccbcdcfd7b6217df4c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page