# VM112 — cache `GET /api/admin/domains` (2026-06-25) **Problema:** Serviços IaaS (Desk) demorava 10–16s — `zmprov gad` ~5s por pedido, sem cache. **Patch:** cache em memória no wizard VM112 + invalidação em cd/dd/purge. ## Ficheiros | Ficheiro | Destino VM112 | |----------|----------------| | `carbonio_cache.py` | `/opt/ligbox-wizard/backend/app/services/` | | `carbonio.py` | idem | | `domain_orchestration.py` | idem | | `infrastructure.py` | idem | | `admin_domains.py` | `/opt/ligbox-wizard/backend/app/routers/` | ## Deploy ```bash scp perf-domains-list-20260625/*.py root@10.10.10.112:/tmp/ ssh root@10.10.10.112 ' W=/opt/ligbox-wizard/backend/app cp /tmp/carbonio_cache.py $W/services/ cp /tmp/carbonio.py $W/services/ cp /tmp/domain_orchestration.py $W/services/ cp /tmp/infrastructure.py $W/services/ cp /tmp/admin_domains.py $W/routers/ systemctl restart ligbox-wizard ' ``` ## Env (opcional) | Variável | Default | Descrição | |----------|---------|-----------| | — | `TTL_ALL_DOMAINS=90` | Cache `zmprov gad` (carbonio_cache.py) | | — | `TTL_ORCH_LIST=60` | Cache lista orquestrada montada | | Desk `VM112_DOMAINS_CACHE_TTL` | 60 | Cache proxy VM122 | ## Validação ```bash # 2.º hit lista — deve ser <1s curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains | jq '.cached, .cache_age_sec' # Desk detalhe — purge_blocked para blocklist curl -s -H "Authorization: Bearer $TOKEN" \ https://api.ops.ligbox.com.br/api/v1/vm112/domains/ligbox.com.br | jq '.purge_blocked' ``` **Documentação:** Spec 017/018 § Performance · anais `docs/anais-referencia/20260625_SERVICOS_IAAS_PERF_UX_ESCOPO.md` · frontend `?v=20260625align1` ```bash # Lista — 1.º ~5–6s, 2.º <0.1s curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains | jq '.cached, .cache_age_sec, (.domains|length)' # Detalhe purge modal — 1.º ~16s, 2.º <0.1s curl -s -H "X-Api-Key: $KEY" http://10.10.10.112:8090/api/admin/domains/diarissima.com | jq '.domain, (.accounts|length), (.infra_status.steps|length)' ``` ## Rollback Restaurar backup ou git anterior em `/opt/ligbox-wizard/backend/app/services/` + `systemctl restart ligbox-wizard`.