Einführung

Was swark ist, für wen es gedacht ist, wie es sich von verwandten Werkzeugen abgrenzt und unter welcher Lizenz es steht.

Was ist swark?

swark (Swiss Architecture Knife) ist eine Web-Anwendung zur strukturierten Dokumentation von IT-Infrastruktur, Software-Architektur, IT-Strategie und Compliance. Sie verbindet zwei Arten von Information:

  • Strukturierte Daten (Configuration Items): Hosts, Cluster, Software, Systeme, Zonen, Regulierungen, Findings, Kennzahlen und weitere Objekte, die in einer MariaDB-Datenbank liegen und untereinander verknüpft sind.
  • Freier Inhalt (Content): Texte in Markdown, HTML oder Blade sowie PlantUML-Dateien, die als Dateien im sogenannten Content-Pfad liegen und an definierten Stellen in die Seiten eingeblendet werden.

Aus beidem erzeugt swark ein lesbares Dokumentations-Frontend unter /swark/... mit Seiten zu Strategie, Findings, Zielerreichung, Richtlinien, IT-Architektur, Infrastruktur und Software-Katalog. Diagramme (Zonenmodell, Baremetal-Übersicht, Cluster-Aufbau, Strategie-Mindmap) entstehen zur Laufzeit aus den Daten. Die Pflege der Daten erfolgt über Admin-Oberflächen unter /admin/<panel> und über einen Excel-Import.

Technisch ist swark eine Laravel-11-Anwendung (PHP 8.4) mit Filament 3 als Admin-Oberfläche. Die eigentliche Logik steckt im Paket swark/framework; das Paket swark/swark ist die Anwendungshülle.

Zielgruppe

  • IT-Architektinnen und -Architekten, die Infrastruktur, Systeme und Software-Bestand nachvollziehbar dokumentieren wollen.
  • IT-Leitung, die eine IT-Strategie mit Zielen, Fragen, Massnahmen und Kennzahlen festhalten will.
  • Informationssicherheits- und Compliance-Verantwortliche, die Regulierungen (zum Beispiel NIS2) kapitelweise mit Ist- und Sollzustand, Controls, Findings und Massnahmen verknüpfen wollen.
  • Betriebsteams, die Zonen, Stages, Cluster und Anwendungsinstanzen in einem gemeinsamen Modell sehen wollen.

Abgrenzung zu verwandten Werkzeugen

swark versteht sich laut Projektbeschreibung als Kombination von Teilen aus LeanIX, Sparx Enterprise Architect und CMDBuild, ergänzt um Markdown und das C4-Modell. Die folgende Tabelle ordnet ein, was swark in Version 0.2.1 abdeckt und was nicht.

Werkzeug Schwerpunkt des Werkzeugs Überschneidung mit swark Unterschied
LeanIX Enterprise-Architecture-Management, Applikationsportfolio, Lebenszyklen Software-Katalog, Systeme, Kritikalität, Zuordnung zu Strategiezielen swark ist Open Source und selbst betreibbar; Portfolio-Bewertungen, Lebenszyklus-Workflows und Berichte im LeanIX-Umfang fehlen. Lebenszyklus-Tabellen sind im Schema angelegt, aber in 0.2.1 nicht genutzt.
Sparx Enterprise Architect Modellierung (UML, ArchiMate), Diagramm-Editor C4-nahe Elemente, generierte PlantUML-Diagramme swark hat keinen grafischen Modell-Editor. Diagramme werden aus Daten oder aus PlantUML-Text erzeugt.
CMDBuild Configuration Management Database mit Workflows Configuration Items mit eindeutiger ID, Beziehungen, Infrastruktur-Objekte (Baremetal, Host, Cluster, Netz) swark hat keine Workflows, keine Discovery-Agenten und keine Berechtigungen auf Objektebene. Ein Kubernetes-Import ist angelegt, in 0.2.1 aber nicht lauffähig (siehe Kapitel Datenimport).
Confluence Wiki, freies Schreiben, Zusammenarbeit Freier Text pro Seite und Kapitel swark hat keinen Online-Editor für Fliesstext; Inhalte werden als Dateien (Markdown, HTML, Blade) abgelegt. Dafür ist der Text direkt mit den strukturierten Daten verbunden.

Lizenz und Herkunft

  • swark ist Open Source unter der MIT-Lizenz. Entwickelt wird es von der dreitier GmbH (dreitier.com). Quellcode: github.com/swiss-architecture-knife.
  • Das Frontend blendet am Seitenkopf den Hinweis ein, dass eine Open-Source-Lizenz verwendet wird, und am Seitenfuss «powered by swark» mit Versionsnummer. Diese Hinweise stammen aus dem Original-Layout von swark.
  • Der Betrieb unter *.swark.nerdag.ch erfolgt durch Nerd-IT (Nils Lappenbusch, Buchs ZH, Schweiz). Nerd-IT ist ein unabhängiger Betreiber und nicht mit der dreitier GmbH verbunden.

Versionsstand dieser Dokumentation

Punkt Stand
swark-Release v0.2.1 vom 23.03.2025 (Framework-Commit 34293b6)
Basis-Image serversideup/php:8.4-fpm-apache
Datenbank MariaDB 10.11
Quellcode-Referenz Monorepo C:\dev\swark\upstream\ (Subtrees aller Original-Repos)

Der Betrieb verwendet das Release-Archiv v0.2.1; spätere Commits im Quellcode sind dort nicht enthalten. Diese Dokumentation beschreibt das Verhalten von v0.2.1.

swark befindet sich in einer frühen Entwicklungsphase. Mehrere Funktionen sind im Code angelegt, aber nicht vollständig umgesetzt. Solche Stellen sind in den Kapiteln mit «in Version 0.2.1 noch nicht umgesetzt» oder «unvollständig» gekennzeichnet.

Live-Demo

Unter https://demo.swark.nerdag.ch läuft eine öffentliche Demo-Instanz mit einem deutschsprachigen Beispieldatensatz (fiktive Firma, NIS2-Kapitel). Die Demo wird jede Nacht um 03:30 Uhr auf den Ausgangsstand zurückgesetzt. Zugangsdaten für die Admin-Oberflächen sind auf der Verkaufsseite swark.nerdag.ch veröffentlicht. Änderungen in der Demo sind für alle Besucher sichtbar und gehen beim nächsten Reset verloren.

Aufbau dieses Handbuchs

  • Anwenderhandbuch (Kapitel 1 bis 9): Konzepte, Frontend, Admin-Oberflächen, Compliance, Datenimport, Content, Diagramme, Benutzer und Konfiguration.
  • Betriebshandbuch (Kapitel 10 bis 14, intern bei Nerd-IT): Betrieb der Server, Deploy und Update, Wartung, neue Kundeninstanzen, FAQ und Glossar.