GitHub veröffentlicht Vorschauwerkzeug für Änderungen in Puppet

Das Open-Source-Tool Octocatalog vermittelt Entwicklern einen Eindruck davon, was ihre Änderungen für die einzelnen Rollen im Konfigurationswerkzeug bedeuten. Es lässt sich auf der Workstation ohne Zugriffsrechte auf den Puppet Master ausführen.

vorlesen Druckansicht
GitHub veröffentlicht Vorschauwerkzeug für Änderungen in Puppet
Lesezeit: 2 Min.

GitHub hat ein Werkzeug veröffentlicht, mit dem Entwickler eine Vorschau auf die Auswirkung ihrer Änderungen an Puppet-Manifesten erhalten. Das Tool soll die benötigten automatisierten und manuellen Tests reduzieren, in dem es den jeweiligen Effekt für die einzelnen Rollen anzeigt. Der "Catalog Difference"-Test dauert wohl weniger als drei Minuten.

Wie der Name nahelegt, zeigt octocatalog-diff Unterschiede zwischen zwei Ständen im System an, konkret zwischen dem stabilen und dem Entwicklungs-Branch. Attribute und Ressourcen wie Tags, die keinen Effekt auf das jeweilige Zielsysteme haben, filtert es heraus und listet schließlich die verbleibenden Unterschiede auf. Das Werkzeug erlaubt auch eine Vorschau darauf, welche Auswirkung die Änderung einzelner Puppet facts hat.

Die Ansicht zeigt, welche API-Knoten von konkreten Änderungen betroffen sind.

(Bild: GitHub)

GitHub hat das Tool zunächst zur internen Verwendung als Ergänzung beziehungsweise Alternative zu Puppets catalog_preview-Modul entwickelt, da Letzteres auf die Integration in den Puppet Master ausgelegt ist. Damit ist es nur für diejenigen zugänglich, die entsprechende Zugriffsrechte haben. Aus Sicherheitsgründen haben jedoch nur wenige Entwickler der webbasierten Versionsverwaltung diese Rechte, benötigen aber dennoch ein entsprechendes Werkzeug.

Weitere Details finden sich im Blogbeitrag. Das Tool ist in Ruby geschrieben und läuft auf Unix, Linux und macOS. "octocatalog" ist übrigens eine Kombination aus dem Namen des GitHub-Maskottchens "Octocat" und "catalog". Bei der Benennung hat GitHub aus der Not eine Tugend gemacht: Intern lief es zunächst unter "catalog-diff". Da jedoch bereits ein Modul mit demselben Namen existierte, durfte Octocat in den Namen einfließen. Das Tool steht unter der MIT-Lizenz quelloffen auf GitHub. (rme)