GUIDE TECHNIQUE · RUNDECK
Rundeck : Sécuriser les options et workflows
Rendre un job Rundeck réutilisable avec des options contrôlées, des étapes de workflow explicites et une validation des paramètres avant tout changement.
L’ESSENTIEL EN BREF
Les étapes clés
Ce guide présente 4 étapes, de « Définir un contrat d'options » à « Tester plusieurs jeux d'options ».
Avant de commencer : Un job de recette testé manuellement.
01 · CADRAGE
Périmètre et résultat visé
Résultat attendu : L'option ne permet que les environnements autorisés.
Public concerné : Exploitants, développeurs d'automatisation et responsables de runbooks
Rundeck Community ou Runbook Automation, Job Options et Workflow Steps ; le nom des étapes disponibles varie selon les plugins installés.
Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.
02 · AVANT DE COMMENCER
Prérequis et points de contrôle
- Un job de recette testé manuellement.
- Droits de modification et exécution du job.
- Liste autorisée de paramètres, y compris valeurs interdites et valeurs par défaut.
03 · VUE D’ENSEMBLE
Comprendre l’architecture et les flux
04 · TUTORIEL
Procédure complète, étape par étape
Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.
ÉTAPE 1 / 4
Définir un contrat d'options
Les paramètres libres peuvent augmenter fortement le périmètre d'une commande.
- Créer une option environment obligatoire avec valeurs imposées recette et integration.
- Ne pas offrir prod parmi les choix tant que les autorisations et Go/NoGo ne sont pas définis.
# Valeurs autorisées dans l'UI :
recette
integrationÀ vérifier : Le formulaire refuse une valeur extérieure à la liste.
Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.
ÉTAPE 2 / 4
Créer une étape de précontrôle
Les préconditions doivent échouer avant le changement réel.
- Ajouter un step de validation des prérequis et de l'environnement choisi.
- Renvoyer un code non nul en cas d'environnement inconnu.
case "${option.environment}" in
recette|integration) echo 'environnement autorisé' ;;
*) echo 'environnement refusé' >&2; exit 2 ;;
esacÀ vérifier : Une valeur invalide arrête le job avant les étapes suivantes.
Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.
ÉTAPE 3 / 4
Composer le workflow
L'ordre des steps et leur code retour déterminent la fiabilité opérationnelle.
- Ajouter ensuite un step d'observation read-only puis un step de synthèse.
- Configurer l'arrêt sur échec pour éviter de continuer après un précontrôle KO.
# Exemple de step de lecture seule :
date -u && hostnameÀ vérifier : Le workflow conserve l'ordre contrôle, observation, synthèse.
Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.
ÉTAPE 4 / 4
Tester plusieurs jeux d'options
Une exécution nominale ne couvre pas les valeurs absentes ou invalides.
- Tester chaque valeur autorisée sur le projet de recette.
- Contrôler les échecs, la trace des paramètres non sensibles et la réaction à l'absence d'option obligatoire.
# Matrice de recette :
# recette => succès
# integration => succès
# valeur inconnue => refusÀ vérifier : Chaque cas de test dispose du résultat attendu et observé.
Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.
RÉFÉRENCES TECHNIQUES
Documentation officielle
Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par Rundeck. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.
05 · RECETTE
Comment vérifier que tout fonctionne ?
L'option ne permet que les environnements autorisés.
Un précontrôle en échec stoppe le workflow.
L'historique montre le résultat et les paramètres non sensibles.
06 · DIAGNOSTIC
Problèmes fréquents et résolution
Option was not supplied
Cause probable : Option obligatoire sans valeur par défaut
Que faire : Renseigner l'option ou documenter un défaut sûr.
Valeur option inattendue
Cause probable : L'expansion de la variable est mal adaptée au type de step
Que faire : Vérifier les conventions Rundeck dans le plugin utilisé.
Le workflow continue après erreur
Cause probable : Stratégie d'échec mal configurée
Que faire : Vérifier les paramètres de Workflow Strategy et Error Handler.
07 · QUESTIONS PRATIQUES
Questions fréquentes
À quoi servent les Job Options ?
Elles paramètrent une même procédure sans copier un job pour chaque cas.
Comment protéger une entrée libre ?
Privilégier les listes fermées et effectuer une validation côté step.
Les options Secure sont-elles toujours masquées ?
Elles sont traitées selon le type et les plugins : éviter toute écriture volontaire de leur valeur dans les logs.
AUTRES TECHNOLOGIES
Guides complémentaires
VOTRE ENVIRONNEMENT
Besoin d’aller plus loin sur votre environnement ?
Automatisation, sécurité et exploitation : échangeons sur vos pratiques Rundeck.
Échanger avec ADN Consulting