Die Actions Verwaltungsseite von Fairway

Bald verfügbar

System Life Cycle Management in reinster Bash.

Wir arbeiten gerade an einem wie wir finden sehr spannenden Projekt. Demnächst werden wir erste Development Snapshots bereit stellen, deshalb dachte ich mir, wir deuten mal an, worum es geht:

Fairway hat eigentlich eine lange Geschichte: die Idee und erste Versionen entstanden bereits 2005. Nach ersten Erfolgen und produktivem Einsatz beim Kunden verstaubte fairway aber einige Jahre auf unseren Backups, bis wir 2017 für einen neuen Kunden eben ein solches Tool benötigten.

Anfangs war fairway vollständig Shell-basiert: Alles wurde mit Bash auf der Konsole und vi in einer Reihe Dateien konfiguriert. Nach und nach entstand der Wunsch nach mehr Komfort. Der nächste Schritt war folgerichtig ein Dialog-Interface. Und der letzte Schritt, der gerade implementiert wird, ist ein Web-Interface.

Fairway soll vor allem flexibel und leicht zu erweitern, zu installieren und zu handhaben sein. Wir benutzen wo es geht Basis-Funktionalitäten von Linux. So arbeitet das Configuration Management ganz einfach direkt mit der SecureShell.

Was kann Fairway den nun?

Angefangen hat es damit, dass wir SLES-Systeme auf einigen hundert Rechnern ausrollen wollten, zu einer Zeit, zu der unter Linux noch FAI und CFEnginge das Bild beherrschten. PXE war verboten, so bauten wir CDs und später USB-Sticks. Nach und nach kamen immer mehr Ideen, und unsere Überraschung war es, dass wir alles ohne Weiteres und ohne Datenbanken abbilden konnten, und dabei ein durchaus performantes System hin bekamen. Und alles in Bash: will man neue Funktionen, reicht es ein neues Shellscript zu schreiben. Fairway stellt dafür viele Funktionen in Bash-Bibliotheken zur Verfügung. Details kommen, sobald erste Snapshots verfügbar sind.

Folgendes kann fairway derzeit:

  • OpenSUSE AutoYast Installationsprofile bauen.
  • Bootbare und updatefähige USB Installationsimages daraus bauen
  • Die ausgerollten Systeme können mit Bash-Skripten per Webinterface fernadministriert werden.
  • Die Bashscripte (sog. Actions) können mit dem Webinterface verwaltet werden
  • Die installierten Systeme können mit dem Webinterface verwaltet werden

Das sind nur grob umrissen die aktuellen Basisfunktionen. Es ist viel mehr geplant:

  • Unterstützung anderer Distributionen (Debian, Ubuntu, CentOS, RockyLinux, Fedora)
  • PXE-Boot und andere Netzwerk-Boot Methoden
  • ein flexibles und automatisiertes Inventory
  • Zusatzmodule, die z.B. spezialisiert sind auf Trainingsbetrieb, oder Ansible-Support.
  • u.v.m.