Infrastructure as code

Define tus jobs en un manifiesto YAML y sincronízalos con el CLI de SteadyCron — sin click-ops, sin drift.

SteadyCron es infra-as-code primero. En lugar de hacer clic por el dashboard, puedes declarar tus jobs en un manifiesto YAML, confirmarlo en tu repositorio y dejar que el CLI sincronice tu cuenta para que coincida.

El manifiesto

Un manifiesto es una lista de jobs — tanto HTTP jobs como heartbeat checks — descritos de forma declarativa. Por ejemplo:

jobs:
  - name: weekly-digest-email
    kind: http
    method: POST
    url: https://api.myapp.com/jobs/digest
    schedule: "0 9 * * 1"
    timezone: Europe/Berlin
    timeout: 120
    retries: 3

  - name: nightly-db-backup
    kind: heartbeat
    schedule: "0 2 * * *"
    grace: 1800

Si estás empezando desde cero, init genera un manifiesto boilerplate completamente comentado que cubre todos los campos disponibles:

steadycron init -o steadycron.yaml

No se requiere clave de API. Abre el archivo, elimina las secciones que no necesites, rellena tus valores y valida el manifiesto con steadycron validate. Pasa --terraform para generar un boilerplate en Terraform HCL en su lugar.

Sincronización

Reconcilia tu cuenta con el manifiesto usando el CLI:

steadycron sync jobs.yaml

sync es declarativo: crea los jobs que son nuevos, actualiza los que han cambiado e informa de los jobs que existen en el servidor pero no en el archivo. Ejecútalo desde CI en cada merge para mantener los entornos idénticos y eliminar el drift.

Autenticación

El CLI se autentica con una clave de API. Crea una en el dashboard y suministrala mediante una variable de entorno para que nunca acabe en tu manifiesto:

export STEADYCRON_API_KEY=sc_...
steadycron sync jobs.yaml

Consulta API y autenticación para los ámbitos y la gestión de claves.

Provider de Terraform

Si su equipo ya usa Terraform, el provider de Terraform para SteadyCron permite gestionar los mismos recursos (steadycron_http_job, steadycron_heartbeat_monitor, steadycron_alert_channel, steadycron_alert_rule, steadycron_tag) en HCL junto con el resto de la infraestructura:

resource "steadycron_http_job" "weekly_digest" {
  name            = "weekly-digest"
  method          = "POST"
  url             = "https://api.example.com/jobs/digest"
  cron_expression = "0 9 * * 1"
  timezone        = "Europe/Berlin"
  timeout_seconds = 120
}

Consulte Provider de Terraform para la referencia completa.

Migrar desde un scheduler existente

El CLI puede generar un manifiesto de SteadyCron desde una crontab o un proyecto Vercel existentes:

# Desde un archivo crontab
steadycron import crontab /etc/cron.d/myjobs -o steadycron.yaml

# Desde vercel.json
steadycron import vercel --base-url https://app.example.com -o steadycron.yaml

Consulte Migrar desde crontab y Migrar desde Vercel para las guías paso a paso.

Actividad y Logbook

El CLI ofrece dos comandos para monitorizar la actividad de la cuenta, equivalentes a las páginas correspondientes del dashboard:

steadycron report              # Resumen de actividad de las últimas 24 horas
steadycron logbook             # Historial completo de eventos

Consulta Actividad y Logbook para más detalles.

La API REST

Todo lo que hace el CLI, puedes hacerlo directamente contra la API REST — el dashboard, el CLI y la API están todos construidos sobre los mismos endpoints. Consulta API y autenticación.