Infrastructure as Code
Definieren Sie Ihre Jobs in einem YAML-Manifest und gleichen Sie sie mit der SteadyCron-CLI ab — kein Click-Ops, keine Abweichung.
SteadyCron ist Infrastructure-as-Code-first. Statt sich durch das Dashboard zu klicken, können Sie Ihre Jobs in einem YAML-Manifest deklarieren, es in Ihr Repo committen und die CLI Ihr Konto darauf abgleichen lassen.
Das Manifest
Ein Manifest ist eine Liste von Jobs — sowohl HTTP-Jobs als auch Heartbeat-Checks — deklarativ beschrieben. Zum Beispiel:
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
Wenn Sie ganz von vorne starten, erzeugt init ein vollständig kommentiertes
Boilerplate-Manifest, das alle verfügbaren Felder abdeckt:
steadycron init -o steadycron.yaml
Kein API-Schlüssel erforderlich. Öffnen Sie die Datei, löschen Sie die nicht benötigten
Abschnitte, füllen Sie Ihre Werte ein, und validieren Sie dann das Manifest mit
steadycron validate. Mit --terraform wird stattdessen ein Terraform-HCL-Boilerplate
erzeugt.
Abgleichen
Gleichen Sie Ihr Konto mit dem Manifest über die CLI ab:
steadycron sync jobs.yaml
sync ist deklarativ: Es legt neue Jobs an, aktualisiert geänderte Jobs und meldet
Jobs, die auf dem Server, aber nicht in der Datei existieren. Führen Sie es bei
jedem Merge in CI aus, um Umgebungen identisch zu halten und Abweichungen zu
vermeiden.
Authentifizierung
Die CLI authentifiziert sich mit einem API-Schlüssel. Erstellen Sie einen im Dashboard und übergeben Sie ihn über eine Umgebungsvariable, damit er nie in Ihrem Manifest landet:
export STEADYCRON_API_KEY=sc_...
steadycron sync jobs.yaml
Siehe API & Authentifizierung für Scopes und Schlüsselverwaltung.
Terraform-Provider
Wenn Ihr Team bereits Terraform einsetzt, ermöglicht der
SteadyCron-Terraform-Provider
die Verwaltung derselben Ressourcen (steadycron_http_job, steadycron_heartbeat_monitor,
steadycron_alert_channel, steadycron_alert_rule, steadycron_tag) in HCL zusammen mit
der restlichen Infrastruktur:
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
}
Siehe Terraform-Provider für die vollständige Referenz.
Migration von einem bestehenden Scheduler
Die CLI kann ein SteadyCron-Manifest aus einer bestehenden Crontab oder einem Vercel-Projekt generieren:
# Aus einer Crontab-Datei
steadycron import crontab /etc/cron.d/myjobs -o steadycron.yaml
# Aus vercel.json
steadycron import vercel --base-url https://app.example.com -o steadycron.yaml
Siehe Von Crontab migrieren und Von Vercel migrieren für Schritt-für-Schritt-Anleitungen.
Aktivität & Logbuch
Die CLI bietet zwei Befehle zur Kontoüberwachung, die den Dashboard-Seiten entsprechen:
steadycron report # Aktivitätsübersicht der letzten 24 Stunden
steadycron logbook # Vollständige Ereignishistorie
Weitere Details finden Sie unter Aktivität & Logbuch.
Die REST-API
Alles, was die CLI tut, können Sie direkt gegen die REST-API tun — Dashboard, CLI und API basieren alle auf denselben Endpunkten. Siehe API & Authentifizierung.