Infrastructure as code

Définissez vos tâches dans un manifeste YAML et synchronisez-les avec la CLI SteadyCron — pas de click-ops, pas de dérive.

SteadyCron est infrastructure-as-code d’abord. Au lieu de cliquer dans le tableau de bord, vous pouvez déclarer vos tâches dans un manifeste YAML, le committer dans votre dépôt et laisser la CLI réconcilier votre compte avec ce fichier.

Le manifeste

Un manifeste est une liste de tâches — tâches HTTP comme heartbeats — décrites de façon déclarative. Par exemple :

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

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

Si vous partez de zéro, init génère un manifeste boilerplate entièrement commenté couvrant tous les champs disponibles :

steadycron init -o steadycron.yaml

Aucune clé d’API n’est requise. Ouvrez le fichier, supprimez les sections dont vous n’avez pas besoin, renseignez vos valeurs, puis validez le manifeste avec steadycron validate. Passez --terraform pour générer un boilerplate Terraform HCL à la place.

Synchronisation

Réconciliez votre compte avec le manifeste via la CLI :

steadycron sync jobs.yaml

sync est déclaratif : il crée les nouvelles tâches, met à jour celles qui ont changé et signale les tâches présentes sur le serveur mais absentes du fichier. Exécutez-le depuis la CI à chaque merge pour garder les environnements identiques et éliminer la dérive.

Authentification

La CLI s’authentifie avec une clé d’API. Créez-en une dans le tableau de bord et fournissez-la via une variable d’environnement pour qu’elle n’apparaisse jamais dans votre manifeste :

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

Voir API & authentification pour les portées et la gestion des clés.

Provider Terraform

Si votre équipe utilise déjà Terraform, le provider Terraform SteadyCron permet de gérer les mêmes ressources (steadycron_http_job, steadycron_heartbeat_monitor, steadycron_alert_channel, steadycron_alert_rule, steadycron_tag) en HCL aux côtés du reste de l’infrastructure :

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
}

Voir Provider Terraform pour la référence complète.

Migrer depuis un scheduler existant

La CLI peut générer un manifeste SteadyCron depuis une crontab ou un projet Vercel existants :

# Depuis un fichier crontab
steadycron import crontab /etc/cron.d/myjobs -o steadycron.yaml

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

Voir Migrer depuis crontab et Migrer depuis Vercel pour les guides étape par étape.

Activité & Logbook

La CLI propose deux commandes pour surveiller l’activité du compte, équivalentes aux pages correspondantes du tableau de bord :

steadycron report              # Synthèse d’activité des dernières 24 heures
steadycron logbook             # Historique complet des événements

Voir Activité & Logbook pour plus de détails.

L’API REST

Tout ce que fait la CLI, vous pouvez le faire directement avec l’API REST — le tableau de bord, la CLI et l’API reposent tous sur les mêmes points de terminaison. Voir API & authentification.