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.