Skip to content

Referencia completa de config

Estado verificado al 28 de marzo de 2026.

Esta pagina es una referencia practica de las claves de config que aparecen en la documentacion y ejemplos de FastFN.

Vista rapida

  • Complejidad: Referencia
  • Tiempo tipico: 10-20 minutos
  • Úsala cuando: quieres un solo lugar para revisar config global y config por funcion
  • Resultado: sabes si un setting va en fastfn.json, fn.config.json o en una variable de entorno

Config global: fastfn.json

Clave Tipo Que controla
functions-dir string Raiz por defecto de funciones
public-base-url string URL canonica del server de OpenAPI
openapi-include-internal boolean Si los endpoints internos aparecen en OpenAPI
force-url boolean Comportamiento global de override de rutas
domains array Entrada para checks de doctor domains
runtime-daemons object o string Counts de daemons por runtime
runtime-binaries object o string Ejecutables del host a usar
hot-reload boolean Habilita o deshabilita hot reload

Config por funcion: fn.config.json

Clave Tipo Que controla
runtime string Runtime explicito para una raiz de funcion
name string Nombre de funcion mostrado en discovery y rutas
entrypoint string Archivo handler explicito
assets object Comportamiento de assets estaticos en la raiz
home object Comportamiento de home para carpetas
invoke object Metodos, metadata y policy de invocacion
schedule object Scheduling por cron o intervalo
worker_pool object Colas y concurrencia por funcion
edge object Reglas de forwarding por edge proxy
strict_fs boolean Toggle de sandbox de filesystem por funcion
zero_config object Knobs de zero-config discovery, como ignore dirs
zero_config_ignore_dirs array o string Alias de compatibilidad para dirs ignorados extra

Bloques anidados utiles

assets

Campos comunes:

  • directory
  • not_found_handling
  • run_worker_first

Ejemplo:

{
  "assets": {
    "directory": "public",
    "not_found_handling": "single-page-application",
    "run_worker_first": false
  }
}

invoke

Campos comunes:

  • methods
  • summary
  • query
  • body
  • force_url

Ejemplo:

{
  "invoke": {
    "methods": ["GET", "POST"],
    "summary": "Ejemplo de handler"
  }
}

schedule

Campos comunes:

  • enabled — boolean, debe ser true para que el schedule se ejecute
  • every_seconds — trigger por intervalo (dispara cada N segundos, alineado a boundaries)
  • cron — expresion cron (5 o 6 campos, mas macros como @daily)
  • timezone — zona horaria para expresiones cron (ej. "UTC", "-05:00")
  • method — metodo HTTP al invocar (default "GET")
  • query — parametros de query pasados al handler
  • headers — headers pasados al handler
  • body — body del request pasado al handler
  • context — objeto de contexto pasado al handler
  • retry — config de reintentos: max_attempts, base_delay_seconds, max_delay_seconds, jitter

Uso tipico:

{
  "schedule": {
    "every_seconds": 60,
    "enabled": true,
    "method": "GET",
    "query": {"action": "tick"}
  }
}
{
  "schedule": {
    "cron": "0 9 * * *",
    "timezone": "UTC",
    "enabled": true,
    "retry": {"max_attempts": 3, "base_delay_seconds": 5}
  }
}

Limitacion zero-config

Los schedules solo funcionan para funciones en el catalogo de runtime. Las rutas zero-config file-based no son vistas por el scheduler. Usa directorios runtime-scoped o keys explicitas en fn.config.json.

shared_deps

Array top-level que lista packs de dependencias compartidas:

{
  "shared_deps": ["qrcode_pack"]
}

Los packs se resuelven desde <functions_root>/.fastfn/packs/<runtime>/<nombre_pack>/. Cada pack es un directorio con sus propios archivos de dependencia (requirements.txt, package.json, etc.) y se pone disponible al handler en tiempo de invocacion.

worker_pool

Campos comunes:

  • enabled
  • max_workers
  • min_warm
  • idle_ttl_seconds

edge

Se usa para respuestas que hacen proxy o forward hacia upstream en vez de devolver un payload normal de funcion.

Prioridad practica

  1. flags del CLI y argumentos explicitos
  2. variables de entorno
  3. fastfn.json
  4. fn.config.json
  5. defaults del runtime

Si no sabes donde va un setting, revisa primero los ejemplos y despues la referencia de variables de entorno.

Enlaces relacionados

Última revisión: 28 de marzo de 2026 · Docs en fastfn.dev