Adopter les jobs du dashboard dans IaC

Utilisez steadycron export pour transférer vos jobs existants du dashboard dans un manifeste YAML et commencez à gérer votre compte comme du code.

Si vous avez déjà des jobs dans le dashboard SteadyCron, steadycron export exporte l’état complet de votre compte dans un manifeste YAML. À partir de là, vous pouvez le commiter dans git, réviser les changements dans des PRs et les appliquer avec la CLI — sans perdre aucun job existant.

Étape 1 — créer une clé API

Allez dans Paramètres → Clés API dans le dashboard et créez une clé. Donnez-lui le scope write pour que la CLI puisse à la fois lire et appliquer.

Copiez la clé — vous ne la verrez qu’une seule fois.

Étape 2 — exporter votre compte

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

Le flag --namespace assigne toutes les ressources exportées à ce namespace. À partir de là, apply --prune ne supprimera que les ressources dans my-app — pas les jobs que vous créerez plus tard via le dashboard (ceux-ci se retrouvent dans le namespace par défaut).

Si vous gérez plusieurs environnements, exportez chacun séparément avec un namespace différent :

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

Étape 3 — examiner le manifeste exporté

Ouvrez le fichier. Vous verrez :

  • Chaque job avec son calendrier, son type et ses paramètres
  • Un champ id sur chaque ressource (assigné automatiquement si non présent)
  • Les secrets remplacés par des espaces réservés ${VAR_NAME} — sûrs à commiter tels quels
  • Les variables de gabarit conservées comme {{var}} — également sûres à commiter

Ajoutez des valeurs id à toute ressource qui n’en a pas. Les IDs sont le mécanisme par lequel la CLI suit l’identité stable. Une fois que vous avez commité, changer un ID est traité comme une suppression suivie d’une création.

Étape 4 — valider

steadycron validate manifests/my-app.yaml

Corrigez les erreurs signalées avant de continuer.

Étape 5 — commiter

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

Votre manifeste est désormais la source de vérité. Les modifications futures doivent passer par ce fichier, et non par le click-ops du dashboard.

Étape 6 — configurer la CI

Connectez GitHub Actions pour publier un diff du plan sur chaque PR et appliquer lors du merge :

Effectuer des modifications après l’adoption

Le flux de travail à partir de maintenant :

  1. Modifier manifests/my-app.yaml
  2. Pousser une branche et ouvrir un PR
  3. La CI publie le diff du plan en commentaire
  4. Merge → la CI applique le changement

Ajouter un nouveau job via le dashboard après l’adoption : c’est tout à fait possible. Les jobs créés via le dashboard se retrouvent dans le namespace par défaut et ne seront pas touchés par un apply --prune avec namespace. Si vous souhaitez plus tard intégrer ces jobs dans IaC, relancez export pour ce namespace et fusionnez le résultat dans votre manifeste.

À propos de --prune

Une fois que vous gérez un namespace avec la CLI, utilisez apply --prune en CI. Cela garantit que les jobs supprimés du manifeste sont également supprimés de votre compte — conservant le manifeste comme l’unique référence faisant autorité.

Sans --prune, sync créera et mettra à jour mais ne supprimera jamais. Les jobs retirés du manifeste resteront dans votre compte sauf si vous les supprimez manuellement.

Liens connexes