Pular para o conteúdo principal

jq

Resumo​

ItemValor
nome na APIjq
imagem OCI de origemalpine:3.22 + jq
teto de recursos por job1 vCPU, 256 MiB

O teto de vCPU e RAM existe contra abuso; a memória da libkrun é elástica e o host só paga o que o guest toca.

Warmup​

apk add jq: a imagem base não traz o jq. O pacote é instalado na VM de build e fica gravado no ext4. Veja Imagens.

Como o código é executado​

O arquivo principal (o primeiro de files) é o filtro, executado com jq --null-input -f <arquivo>. Com --null-input, a entrada inicial do filtro é null; para ler o JSON do stdin do job, use input (um valor) ou inputs (todos). Tudo roda num diretório em /tmp (tmpfs), numa VM nova destruída no fim do job, sem rede.

Construir a imagem​

rc image build --stack jq

Exemplo​

curl -s http://127.0.0.1:8080/api/v1/run \
-H 'Content-Type: application/json' \
-d '{
"language": "jq",
"files": [
{"name": "main.jq", "content": "input | .a + .b\n"}
],
"stdin": "{\"a\": 40, \"b\": 2}"
}'

stdout esperado: 42.