Zaroz
Conceptos de Zaroz Cloud v2

Organizaciones, proyectos e instancias de servicio

Todo lo que compras o ejecutas en Zaroz Cloud v2 está en un único árbol:

Code
Organización quién paga y quién puede hacer qué (miembros, roles, tokens de API, estado) └─ Proyecto una carpeta de cosas relacionadas: "Producción", "Staging" └─ Suscripción una compra de un producto y un plan; lo que se renueva y factura └─ Instancia de servicio el servicio en marcha: un servidor de juegos, una VPS, un Workload... └─ recursos pods, volúmenes, endpoints, copias de seguridad...

En v2 no hay pedidos. Una compra es una suscripción; el servicio que ejecuta es una instancia de servicio.

Organizaciones

Una organización es el límite de facturación y de permisos. Toda cuenta tiene una organización personal; puedes crear otras o unirte a ellas. Un miembro es Owner, Admin o miembro normal, y el rol decide quién puede comprar (Owner o Admin), cambiar la facturación y crear tokens de API. El dinero, el estado y los límites de unidades son todos por organización.

Proyectos

Un proyecto agrupa servicios dentro de una organización y es la unidad que direccionas en la consola y en la mayoría de las rutas de la API. El slug es único dentro de la organización.

curl

TerminalCode
curl -sS "$ZAROZ_API/projects" -H "$AUTH" # every project you can see curl -sS -X POST "$ZAROZ_API/organizations/<org uuid>/projects" -H "$AUTH" \ -H "Content-Type: application/json" -d '{"name": "Production", "slug": "production"}'

TypeScript

TypeScriptCode
import { call } from "./zaroz"; const mine = await call("GET", "/projects"); const created = await call("POST", `/organizations/${ORG}/projects`, { name: "Production", slug: "production" }); console.log(mine.body.map((p: any) => p.slug), created.body.id);

Python

Code
from zaroz import call _, mine = call("GET", "/projects") _, created = call("POST", f"/organizations/{ORG}/projects", {"name": "Production", "slug": "production"}) print([p["slug"] for p in mine], created["id"])

Si compras sin indicar un proyecto, la compra va al proyecto por defecto de la organización, que se crea en la primera compra.

Suscripciones e instancias de servicio

Una suscripción es una compra: producto, plan, región y tamaño. Lleva el precio, la fecha de renovación y las facturas. Una instancia de servicio es el servicio que ejecuta esa suscripción. Compras una cosa y obtienes un servicio, por eso en la consola se usan las palabras casi como sinónimos; la API las separa porque tienen ids distintos:

QuieresDirecciónId de
cambiar la facturación: renovar, redimensionar, cancelar/subscriptions/{id}/...la suscripción
operar el servicio: iniciar, desplegar, archivos, logs/service-instances/{id}/...la instancia de servicio
operar las unidades de un Workload/projects/{project_id}/service-instances/{id}/units...el proyecto y la instancia de servicio

Un Workload es una instancia de servicio del producto Workload: tu app, ejecutándose como una o más unidades.

Acceso

Te autenticas con un token bearer: tu sesión de inicio de sesión o un token de API limitado exactamente a lo que elijas. Cada ruta comprueba que eres miembro de la organización propietaria y que tu token (si es restringido) tiene el permiso para esa acción sobre ese recurso. Un recurso que no puedes ver responde 404, igual que uno que no existe.

Last modified on