RunDeck est un outil d’automatisation de l’administration de serveurs : en deux mots, il vous permet de définir des tâches qui seront exécutées sur plusieurs machines distantes via SSH.
Écrit en Java, il dispose de deux interfaces : une [CLI] et une interface Web (via une application grails) qui dispose d’une API REST.
Et, bien sûr, RunDeck est libre (licence Apache v2).
Quelques fonctionnalités :
- CLI et interface Web ;
- les tâches sont composées d’une ou plusieurs étapes : des commandes distantes, des scripts, ou des références à d’autres tâches ;
- les tâches peuvent avoir des options (qui peuvent venir de systèmes extérieurs), avec validation au moment de l’exécution ;
- les tâches sont organisées par groupes et par projets ;
- les tâches peuvent être programmées pour s’exécuter à intervalles réguliers, ou à une heure précise (syntaxe cron) ;
- il y a un système de notification par e-mail en cas de succès et / ou d’échec d’une tâche ;
- la connexion aux serveurs se fait par SSH avec une clé (la liste des serveurs peut être récupérée depuis un système extérieur) ;
- pas besoin d’installer d’agent sur les serveurs (un serveur SSH suffit) ;
- authentification (interne ou LDAP), et support d’ACL pour restreindre les actions des utilisateurs ;
- historique complet des tâches executées (qui, quoi, quand)