CONCEPTS

Projects and resources

A Project logically groups the resources that make up an application. A Resource is a concrete instance of a catalog type within the Project.

Project

A Project belongs to an Organization and has:

  • nome, slug, and description;
  • modo: simples or avancado;
  • ambiente: dev, hml, or prod;
  • resiliencia: unica, multi-zona, or multi-regiao;
  • estado (draft, planned, provisioned, paused);
  • a set of Resources.

States

  • rascunho — resources can be added or removed freely. No billing.
  • planejado — configuration validated and provisioning plan computed.
  • provisionado — active resources. Applicable metrics and billing in effect.
  • pausado — suspended resources. Configuration is preserved.

Resource

Each Resource has:

  • tipo — catalog slug (compute, datastore, archive, fabric, gateway, autoscale, sentinel, insight, conduit, lane, beacon);
  • nome — human-readable identifier within the Project;
  • config — JSON with type fields. The backend applies defaults for omitted fields;
  • estadoplanejado, provisionado, or falhou.
json
{
  "tipo": "compute",
  "nome": "api-pagamentos",
  "config": {
    "subtipo": "api",
    "imagem": "ghcr.io/acme/pagamentos:2.4.1",
    "porta": 8080,
    "cpu": "1.0",
    "memoria_mb": 1024,
    "replicas_min": 2,
    "replicas_max": 6
  }
}

Cross-resource references

Some fields have type ref and point to another Resource in the same Project: a Gateway's alvo_recurso_id points to a Compute; an Autoscale's points to the Compute to scale. Validation runs at creation time and provisioning order is resolved automatically.

Project files

Each Project has its own filesystem at /var/lib/tessera/files/<tenant_id>/<projeto_id>/. Used for:

  • content generated by AI-assisted creation (HTML, CSS, README, blueprint);
  • client file uploads (drag-and-drop in console or via API);
  • inline editing of text files up to 1 MB.

Total quota and maximum upload size follow plan limits. Uploads are capped at 25 MB per file.

AI events

AI-assisted creation emits events during execution (planning, generating styles, generating page, blueprint ready, completed, or failed). The console shows real-time progress. Via API:

curl https://tesserra.io/api/projetos/$ID/progresso-ia \
  -H "Authorization: Bearer $TESSERRA_TOKEN"
Documentation · Tesserra