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.