Pular para o conteúdo

Escala e recursos

Escopo: projects:write (alterar) e deploy (aplicar).

Campo (dentro de resources) Padrão Observação
resources.memory_mb 512 máximo definido pelo plano do time (GET /v1/limits)
resources.cpus 0.5

memory_mb e cpus ficam dentro de "resources", nunca soltos no topo do corpo. Enviar {"memory_mb": 1024} é recusado com 400 invalid_request (a mensagem diz o formato certo); a API não ignora campo desconhecido em silêncio.

O serviço roda com limite de memória, sem swap extra, de CPU e de processos. Estourar a memória encerra o processo do container. Réplicas não fazem parte deste ciclo; para escrever o app já preparado para elas, veja App pronto para a Nebular e para escalar.

Janela do terminal
SUF=$(date +%s)-$RANDOM
H="Authorization: Bearer $NEBULAR_TOKEN"
P=$(curl -sS -X POST "$NEBULAR_API/v1/projects" -H "$H" -H "Content-Type: application/json" \
-H "Idempotency-Key: esc-proj-$SUF" -d "{\"name\": \"esc-$SUF\"}" | jq -r .id)
S=$(curl -sS -X PATCH "$NEBULAR_API/v1/projects/$P/services/web" -H "$H" -H "Content-Type: application/json" \
-d '{"visibility": "private", "source": {"type": "image", "ref": "ghcr.io/org/app:1.0"}}' | jq -r .id)
curl -sS -X PATCH "$NEBULAR_API/v1/projects/$P/services/$S" -H "$H" \
-H "Content-Type: application/json" -d '{"resources": {"memory_mb": 1024, "cpus": 1}}'
{"id": "01j9zkwf4q15w38y0taf680jvv", "name": "web", "kind": "app", "visibility": "private", "port": 3000}

A mudança vale a partir do próximo deploy do serviço: dispare um (Deploys e status).

Resposta O que fazer
400 invalid_request Valor fora do máximo do plano, campo desconhecido (ex.: memory_mb fora de resources) ou valor inválido: consulte GET /v1/limits, reduza e confira o formato {"resources": {...}}.
403 forbidden Falta projects:write.
404 not_found Projeto ou serviço inexistente ou fora do seu acesso.
quota_exceeded Limite do time atingido: veja Limites e cotas.