À propos du projet

Gruntwork Runbooks est une application de bureau multiplateforme open source construite avec Electron, conçue pour aider les experts en infrastructure à faire évoluer leur expertise opérationnelle en codifiant les connaissances dans des documents runbook interactifs et faciles à suivre. L'application affiche des documents MDX avec des composants React intégrés, prenant en charge des flux de travail guidés et exécutables qui incluent l'exécution de scripts locaux, la gestion de l'authentification AWS et GitHub, le clonage de dépôts de code et la génération de fichiers à partir de modèles, afin que les utilisateurs puissent suivre des étapes opérationnelles standardisées sans mémoriser des commandes dispersées. Le projet est actuellement développé par un seul auteur et n'a pas encore fait l'objet d'une revue par les pairs approfondie ; le mainteneur accueille les contributions de la communauté, notamment les rapports de problèmes et les pull requests pour des corrections. La sécurité est une considération de conception centrale pour cet outil, car il exécute des commandes directement sur la machine locale de l'utilisateur avec l'ensemble complet des variables d'environnement présentes au lancement de l'application. Les recommandations officielles indiquent explicitement que les utilisateurs ne doivent ouvrir que des runbooks provenant de sources fiables, car des runbooks non fiables peuvent contenir des scripts arbitraires. Les protections intégrées comprennent un registre d'exécutables qui restreint les commandes et scripts autorisés à ceux définis dans le runbook, un processus de rendu Electron sandboxé qui communique avec le processus principal via une API IPC contextBridge typée, et aucun accès direct à Node.js depuis le processus de rendu afin de réduire la surface d'attaque. Des paquets d'installation préconstruits sont disponibles pour toutes les principales plateformes de bureau : les utilisateurs de macOS peuvent télécharger un fichier .dmg, les utilisateurs de Linux peuvent choisir entre les paquets .AppImage ou .deb, et les utilisateurs de Windows peuvent télécharger un installateur .exe, tous hébergés sur la page GitHub Releases du projet. Pour les utilisateurs qui compilent à partir des sources, le projet nécessite mise (un gestionnaire de versions d'outils) et just (un exécuteur de commandes) comme prérequis, avec prek (un gestionnaire de hooks pre-commit) en option pour les contributeurs. Le flux de compilation implique l'installation de versions épinglées de Node.js et bun via mise, l'installation des dépendances avec bun install, la compilation de l'application Electron avec just build, et l'empaquetage pour la plateforme actuelle avec just package. Le mode développement peut être lancé via just dev, ce qui active le remplacement à chaud des modules React et la reconstruction automatique du processus principal, ou via just dev-runbook pour lancer l'application sur un fichier runbook spécifique. Les commandes just intégrées couvrent l'ensemble du cycle de développement, notamment les tests unitaires Vitest, les tests de bout en bout Playwright, les vérifications de code oxlint et les vérifications de types tsc. Le projet utilise shadcn/ui pour des composants d'interface accessibles et éprouvés, qui peuvent être ajoutés via la CLI officielle shadcn. Une documentation supplémentaire et des démonstrations en direct sont disponibles sur le site officiel du projet à runbooks.gruntwork.io.