Cloud API

Runtimes

How things run on a server — k3s, Docker, or native — by its stack. A k3s runtime goes behind the company’s Cloudflare tunnel by itself, when Cloud’s edge is set.

Base URL https://cloud.yet.com.br/v1

The object

idstring
Its id.
namestring
Lowercase letters, digits and dashes, up to 32.
stackstring
local:traefik+k3s, local:docker or local:native.
server_idstring
The server it runs on.
pool_idstring
The pool it is a member of, if any.
ingressstring
The address its environments’ records point at.
tunnel_idstring
Its Cloudflare tunnel, if any.
k3sobject
How its k3s stands: installed, ready, version, nodes, problem.
statusstring
How it stands.

List runtimes

GET/v1/runtimes

Every runtime.

Request
curl https://cloud.yet.com.br/v1/runtimes \
  -H "Authorization: Bearer $YET_API_KEY"

Get a runtime

GET/v1/runtimes/{id}

One runtime, with its tunnel’s connections.

Request
curl https://cloud.yet.com.br/v1/runtimes/{id} \
  -H "Authorization: Bearer $YET_API_KEY"

List stacks

GET/v1/stacks

Every way a runtime can be, and whether Cloud drives it yet.

Request
curl https://cloud.yet.com.br/v1/stacks \
  -H "Authorization: Bearer $YET_API_KEY"

Create a runtime

POST/v1/runtimes

A runtime on one of the company’s servers.

Who: Cloud admin

Body

namestringrequired
Its name.
stackstringrequired
How it runs.
server_idstringrequired
Its server.
Request
curl -X POST https://cloud.yet.com.br/v1/runtimes \
  -H "Authorization: Bearer $YET_API_KEY" \
  -d '{
    "name": "box-k3s",
    "stack": "local:traefik+k3s",
    "server_id": "sv_01J9"
  }'
Response · 201
{
  "id": "rt_01J9",
  "name": "box-k3s",
  "stack": "local:traefik+k3s",
  "server_id": "sv_01J9",
  "status": "starting"
}

Change a runtime

PATCH/v1/runtimes/{id}

Its name, or its ingress — and with that, every one of its environments’ records.

Who: Cloud admin

Body

namestring
A new name.
ingressstring
An IP address or a name; not while it has a tunnel.
Request
curl -X PATCH https://cloud.yet.com.br/v1/runtimes/{id} \
  -H "Authorization: Bearer $YET_API_KEY" \
  -d '{
    "ingress": "home.acme.dev"
  }'

Open its tunnel

POST/v1/runtimes/{id}/tunnel

Puts the runtime behind a Cloudflare tunnel of its own.

Who: Cloud admin

Request
curl -X POST https://cloud.yet.com.br/v1/runtimes/{id}/tunnel \
  -H "Authorization: Bearer $YET_API_KEY"

Close its tunnel

DELETE/v1/runtimes/{id}/tunnel

Takes it from behind its tunnel.

Who: Cloud admin

Request
curl -X DELETE https://cloud.yet.com.br/v1/runtimes/{id}/tunnel \
  -H "Authorization: Bearer $YET_API_KEY"

Delete a runtime

DELETE/v1/runtimes/{id}

Once no environment runs on it.

Who: Cloud admin

Request
curl -X DELETE https://cloud.yet.com.br/v1/runtimes/{id} \
  -H "Authorization: Bearer $YET_API_KEY"
Response · 204 No Content