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.