Dashboard-Jobs in IaC übernehmen

Verwenden Sie steadycron export, um Ihre bestehenden Dashboard-Jobs in ein YAML-Manifest zu übertragen und Ihr Konto als Code zu verwalten.

Wenn Sie bereits Jobs im SteadyCron-Dashboard haben, exportiert steadycron export den gesamten Kontozustand in ein YAML-Manifest. Von diesem Zeitpunkt an können Sie es in git committen, Änderungen in PRs reviewen und mit der CLI anwenden — ohne bestehende Jobs zu verlieren.

Schritt 1 — API-Schlüssel erstellen

Gehen Sie im Dashboard zu Einstellungen → API-Schlüssel und erstellen Sie einen Schlüssel. Geben Sie ihm den write-Scope, damit die CLI sowohl lesen als auch anwenden kann.

Kopieren Sie den Schlüssel — Sie sehen ihn nur einmal.

Schritt 2 — Ihr Konto exportieren

export STEADYCRON_API_KEY=sc_...
steadycron export --namespace my-app > manifests/my-app.yaml

Das Flag --namespace weist alle exportierten Ressourcen diesem Namespace zu. Fortan entfernt apply --prune nur Ressourcen innerhalb von my-app — nicht Jobs, die Sie später über das Dashboard erstellen (diese landen im Standard-Namespace).

Wenn Sie mehrere Umgebungen verwalten, exportieren Sie jede separat mit einem anderen Namespace:

steadycron export --namespace production > manifests/production.yaml
steadycron export --namespace staging    > manifests/staging.yaml

Schritt 3 — Das exportierte Manifest prüfen

Öffnen Sie die Datei. Sie sehen:

  • Jeden Job mit seinem Zeitplan, Typ und seinen Einstellungen
  • Ein id-Feld bei jeder Ressource (automatisch vergeben, falls noch nicht vorhanden)
  • Secrets ersetzt durch ${VAR_NAME}-Platzhalter — direkt commit-sicher
  • Template-Variablen als {{var}} erhalten — ebenfalls commit-sicher

Fügen Sie id-Werte bei jeder Ressource hinzu, die keine hat. IDs sind der Mechanismus, mit dem die CLI stabile Identitäten verfolgt. Sobald Sie committen, wird eine Änderung der ID als Löschen + Neuanlegen behandelt.

Schritt 4 — Validieren

steadycron validate manifests/my-app.yaml

Beheben Sie alle gemeldeten Fehler, bevor Sie fortfahren.

Schritt 5 — Committen

git add manifests/
git commit -m "chore: adopt SteadyCron account into IaC"

Ihr Manifest ist nun die einzige Quelle der Wahrheit. Künftige Änderungen sollten über diese Datei erfolgen, nicht über Click-Ops im Dashboard.

Schritt 6 — CI einrichten

Verbinden Sie GitHub Actions, um bei jedem PR einen Plan-Diff zu posten und beim Merge anzuwenden:

Änderungen nach der Übernahme vornehmen

Der Workflow von hier an:

  1. manifests/my-app.yaml bearbeiten
  2. Branch pushen und PR öffnen
  3. CI postet den Plan-Diff als Kommentar
  4. Merge → CI wendet die Änderung an

Einen neuen Job nach der Übernahme über das Dashboard hinzufügen: Das ist in Ordnung. Dashboard-erstellte Jobs landen im Standard-Namespace und werden von einem namespaced apply --prune nicht berührt. Wenn Sie diese Jobs später unter IaC bringen möchten, führen Sie export für diesen Namespace erneut aus und führen Sie die Ausgabe in Ihr Manifest ein.

Zu --prune

Sobald Sie einen Namespace mit der CLI verwalten, verwenden Sie apply --prune in CI. Das stellt sicher, dass Jobs, die aus dem Manifest entfernt wurden, auch aus Ihrem Konto gelöscht werden — das Manifest bleibt die alleinige, maßgebliche Aufzeichnung.

Ohne --prune erstellt und aktualisiert sync zwar, löscht aber nie. Jobs, die aus dem Manifest entfernt wurden, verbleiben in Ihrem Konto, bis Sie sie manuell löschen.

Weiterführende Themen