π¦ ClawHub
Runcloud Skill
by @neshable
Query Runcloud servers, databases, web apps, services, cronjobs, deployments, and health via the Runcloud API v3. Trigger when the user mentions Runcloud, wa...
π‘ Examples
# Health snapshot of every server (one-liner)
curl -s -H "$AUTH" "$RC/servers?perPage=40" \
| jq -r '.data[].id' \
| while read id; do
echo "=== server $id ==="
curl -s -H "$AUTH" "$RC/servers/$id/health/latest" \
| jq '{loadAverage, usedMemory, availableMemory, usedDiskSpace}'
doneFind a specific server by name
curl -s -H "$AUTH" "$RC/servers?perPage=40" \
| jq '.data[] | select(.name | contains("prod"))'Flag servers whose load average is above 1.0
curl -s -H "$AUTH" "$RC/servers?perPage=40" \
| jq -r '.data[].id' \
| while read id; do
load=$(curl -s -H "$AUTH" "$RC/servers/$id/health/latest" | jq '.loadAverage')
awk -v l="$load" -v i="$id" 'BEGIN{ if (l+0 > 1.0) print "HOT:", i, l }'
doneCount web apps, databases, and cronjobs on a server
curl -s -H "$AUTH" "$RC/servers/{serverId}/stats" \
| jq '.stats'
βοΈ Configuration
1. Open Workspace β Settings β API Management in the Runcloud dashboard 2. Generate an API token 3. Set environment variables:
export RUNCLOUD_API_TOKEN="your-api-token"
export RC="https://manage.runcloud.io/api/v3"
export AUTH="Authorization: Bearer $RUNCLOUD_API_TOKEN"
All requests go to $RC and include the bearer token header $AUTH.
π Tips & Best Practices
Authorization: Bearer $RUNCLOUD_API_TOKEN. The token grants full workspace access β treat it like a password.?page=N&perPage=M (max perPage=40). Responses wrap data in { "data": [...], "meta": { "pagination": {...} } }.X-RateLimit-Limit and X-RateLimit-Remaining headers on every response; a 429 means back off and retry later.serverId, webappId, databaseId, cronjobId all come from the matching list endpoint β always list first if you don't know the ID.https://manage.runcloud.io/api/v2 usually mirrors it one-to-one. Docs index: https://runcloud.io/docs/api/v3/doc-625011TERMINAL
clawhub install runcloud