RiLiGar Functions

Funções serverless com agendamento cron · sandbox bwrap

Autenticação

Todas as rotas abaixo exigem sua chave: x-api-key: fk_…

Publicar uma função

curl -X POST $HOST/functions \
  -H "x-api-key: $KEY" -H "Content-Type: application/json" \
  -d '{"name":"hello","code":"export default (req,ctx)=>Response.json({ok:1,q:ctx.query})"}'

Publicar de novo com o mesmo name cria uma versão nova e a ativa. O endpoint não muda.

Executar

curl "$HOST/fn/hello?nome=maria" -H "x-api-key: $KEY"
curl -X POST $HOST/fn/hello -H "x-api-key: $KEY" \
  -H "Content-Type: application/json" -d '{"n":42}'

Versões e rollback

curl $HOST/functions/hello/versions -H "x-api-key: $KEY"
curl -X POST $HOST/functions/hello/rollback -H "x-api-key: $KEY" \
  -H "Content-Type: application/json" -d '{"versionId":"ver_…"}'

Logs de invocação

curl "$HOST/functions/hello/logs?limit=20" -H "x-api-key: $KEY"

Agendar

curl -X POST $HOST/schedules -H "x-api-key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"hello","cron":"*/5 * * * *","params":{"query":{"origem":"cron"}}}'

Assinatura de uma função

export default (req, ctx) => {
  // ctx.query  → query string
  // ctx.body   → body JSON já parseado
  // ctx.env    → variáveis da função
  return Response.json({ metodo: req.method, query: ctx.query })
}

Devolver um objeto simples também funciona: vira JSON com status 200.

Limites

Timeout10000 ms
Memória128 MB
Código512 KB
Rede na funçãobloqueada