Integração NUTELLABOOT (máquinas maratona linux) — MOJ docs

Integração NUTELLABOOT (máquinas maratona linux)

O nutellaboot (produção: https://nutellaboot.mdp.naquadah.com.br) é o serviço que gerencia as máquinas mlinux das sedes: boot pela rede, telemetria (specs, memória, load, editores abertos), travamento de tela e comandos. O MOJ se integra a ele POR CONTEST para três coisas: o panorama do lado cliente (como as máquinas se comportaram na prova, por sede/país, com a MESMA hierarquia do placar), comandos nas máquinas (admin em tudo; .cstaff/.staff nas da própria sede) e a correlação máquina↔︎time (roster/binding).

O modelo de dados do serviço (o que importa p/ o MOJ)

Como o MOJ guarda e usa

Testes

server/test/smoke-contest-nutella.sh roda contra o mock nutella-mock.py (stdlib; serve fixtures com os shapes reais, REGISTRA POST/PUT e o GET de samples com a query) — cobre config, escopo, coleta ponta-a-ponta (since/until, elo por UA com conta de papel tentando roubar o vínculo, adoção/perfis/pressão/rank_ed, privacidade do cache, --reaggregate sem rede, modo proxy sem access.log), catálogo, gates de comando e push-roster. O relatório é coberto no smoke-contest-report.sh (página condicional, sem MAC/teams/_rows, view 2.0 embutida, invariantes). O jq do coletor vive em VARIÁVEIS (AGG_JQ), que o jq-portability.sh não vê: rode o coletor com o jq 1.7 da imagem (--reaggregate num bruto guardado) antes de deployar mudança nele.