Das Frontend

Alle Seiten unter /swark mit Inhalt, Datenquelle und bekannten Einschränkungen von Version 0.2.1.

Aufbau

Das Frontend liegt unter /swark/.... Der Aufruf von / oder /swark leitet auf /swark/strategy/overview weiter.

  • Obere Navigation: Links zu den Dashboards der Admin-Oberflächen (Business-Administration, Compliance, Governance, Auditing, IT-Architektur, Software-Architektur, Operations, Meta). Diese erfordern eine Anmeldung.
  • Seitennavigation links: Strategie (Übersicht, Findings, Zielerreichung), Richtlinien (eine Unterseite je Richtlinie), IT-Architektur, Infrastruktur (Systemlandschaft, Baremetals, Cluster, Ressourcen je verwendetem Resource Type), Software (Katalog), Glossar, swark Sandbox.
  • Inhaltsverzeichnis rechts («Auf dieser Seite») auf Seiten mit Kapiteln. Kapitel werden automatisch nummeriert.

Wichtig: Das Frontend unter /swark ist in Version 0.2.1 ohne Anmeldung erreichbar. Die Routen haben keine Authentifizierungs-Middleware. Wer die URL kennt, kann alle dort angezeigten Daten lesen.

Im Hosting von Nerd-IT schützt die Middleware SwarkFrontendGuard das Frontend: Ist SWARK_FRONTEND_LOGIN nicht auf false gesetzt (Standard), leitet jede Frontend-Seite ohne Anmeldung auf /admin/governance/login um. Nach der Anmeldung in einem Admin-Panel ist das Frontend lesbar. Die öffentliche Demo setzt SWARK_FRONTEND_LOGIN=false.

Die Seitentexte sind über Sprachdateien deutsch und englisch vorhanden; massgeblich ist APP_LOCALE.

Seitenübersicht

URL Routenname Seite
/swark/strategy/overview swark.strategy.index Strategie-Übersicht
/swark/strategy/findings swark.strategy.findings Findings
/swark/strategy/kpi swark.strategy.kpi Zielerreichung
/swark/strategy/big-picture swark.strategy.big-picture nicht umgesetzt (Fehler 500); im Hosting auf /swark/strategy/overview umgeleitet
/swark/policies/{id} swark.policies.detail Richtlinie
/swark/it-architecture swark.it_architecture.index IT-Architektur
/swark/infrastructure/system-landscape swark.infrastructure.index Systemlandschaft
/swark/infrastructure/baremetals swark.infrastructure.baremetal.index Baremetal-Systeme
/swark/infrastructure/clusters swark.infrastructure.cluster.index Cluster-Liste
/swark/infrastructure/clusters/{id} swark.infrastructure.cluster.detail Cluster-Detail
/swark/infrastructure/resources/{id} swark.infrastructure.resource.index Ressourcen eines Resource Type
/swark/software/catalog swark.software.catalog Software-Katalog
/swark/software/overview swark.software.index nicht lauffähig (Fehler 500); im Hosting auf /swark/software/catalog umgeleitet
/swark/glossary swark.glossary.index Glossar
/swark/sandbox swark.sandbox.index Sandbox (Diagramm-Beispiele)
/swark/sandbox/s-ad/{id}/chapter-1 swark.sandbox.s-ad.chapter-1 arc42-Versuch; in 0.2.1 Fehler 500, im Hosting durch überschriebene Views lauffähig

Der Routenname ist für den Content wichtig: Daraus leitet swark die Ordner für Kapitel-Hooks ab (siehe Kapitel Content).

Strategie-Übersicht (/swark/strategy/overview)

Kapitel: Einleitung, Vision, Zielbild, Strategie.

Kapitel Inhalt Quelle
Einleitung Freitext Content-Slot company_introduction
Vision Titel und Zitat Content-Slots vision_title und vision_quote
Zielbild Freitext, mit Hinweis «Content für Pfad ~big_picture wurde noch nicht hinterlegt», solange kein Inhalt existiert Content-Slot big_picture
Strategie Einleitungstext, PlantUML-Mindmap der Strategie mit ihren Zielen, danach je Ziel eine Karte mit Beschreibung, Begründung und Anzahl Findings Content-Slot introduction; Daten: neueste Strategie (strategy, nach Erstellungsdatum) mit objective

Fehlt Inhalt, erscheinen die Texte «Keine Einleitung hinterlegt.» bzw. «Keine Vision hinterlegt.». Ohne Strategie erscheint «Keine Strategie vorhanden.». Gezeigt wird immer nur die zuletzt angelegte Strategie.

Findings (/swark/strategy/findings)

Kapitel: Übersicht über die Findings (mit Unterkapitel je Ziel), Findings im Detail, Planung.

  • Übersicht: Netzdiagramm (Plotly) mit der Anzahl Findings je Ziel der neuesten Strategie; darunter je Ziel die Liste der Findings.
  • Findings im Detail: Je Finding Name, Beschreibung (Markdown), zugeordnete Massnahmen mit Beschreibung, Kritikalität und Status.
  • Planung: Tabelle aller Massnahmen dieser Findings mit Status, Beginn und Ende, sortiert nach Beginn.

Datenquelle: Findings, die über finding_assigned an Ziele der neuesten Strategie gehängt sind, und deren Massnahmen (action_assigned mit Typ Finding). Findings, die nur an Controls hängen, erscheinen hier nicht. Die Skala des Netzdiagramms ist fest auf 0 bis 15.

Zielerreichung (/swark/strategy/kpi)

Tabelle mit Ziel bzw. Massnahme und Metrik, Zielwert und aktuellem Wert.

  • Datenquelle: KPIs, die an Ziele der neuesten Strategie oder an Massnahmen dieser Ziele gehängt sind, mit den Messungen der ersten Messperiode (measurement_period mit der kleinsten ID).
  • Der aktuelle Wert erscheint grün, wenn is_goal_reached gesetzt ist, sonst rot. Der Excel-Import setzt dieses Feld nicht, und es gibt dafür keine Admin-Maske; in 0.2.1 erscheinen die Werte daher rot. Schwellwerte und Zielrichtung werden gespeichert, aber nicht ausgewertet.

Richtlinien (/swark/policies/{id})

Je Richtlinie (Tabelle policy) eine Seite mit Name, Beschreibung (Markdown) und einem Kapitel «Regeln» mit einem Unterkapitel je Regel. Die Regelbeschreibung wird als HTML ausgegeben. Die Seitennavigation listet alle Richtlinien. Eine Übersichtsseite aller Richtlinien gibt es nicht.

IT-Architektur (/swark/it-architecture)

Kapitel: Datenklassifizierung, Zonenmodell, Zugriffsmatrix.

  • Datenklassifizierung: Tabelle aller Klassen mit Beschreibung (data_classification).
  • Zonenmodell: Tabelle der logischen Zonen mit Beschreibung, Datenklassifikation, Akteuren und betroffenen Regeln (Regeln, deren Geltungsbereich die Zone enthält). Darunter ein C4-Diagramm (PlantUML) mit Zonen als Boundary und Akteuren mit Zugriffspfeil.
  • Zugriffsmatrix: Zone × Zone. Grünes Häkchen = ausdrücklich erlaubt (allow_access), rotes x = ausdrücklich verweigert (deny_access), blasses x = ohne Regel, also standardmässig verweigert.

Systemlandschaft (/swark/infrastructure/system-landscape)

Zeigt ein PlantUML-Diagramm aus der Datei infrastructure/index/landscape.plantuml (oder .txt) im Content-Pfad. Ohne diese Datei erscheint «Unable to render PlantUML: Unknown error». Die Seite erzeugt keine Daten selbst; das Diagramm wird von Hand gepflegt.

Baremetal-Systeme (/swark/infrastructure/baremetals)

Kapitel: Übersicht und Zusammenfassung.

  • Übersicht: PlantUML-Diagramm, gruppiert nach Managed Service Provider, Region und Availability Zone; je Baremetal der Host, der Virtualisierer und das Betriebssystem.
  • Zusammenfassung: dieselben Daten als Tabelle (MSP / Region / AZ, Baremetal-Name, Virtualisierer, Betriebssystem, Hostname).

Datenquelle: baremetal, managed_baremetal, host (direkt auf dem Baremetal), Releases von Betriebssystem und Virtualisierer.

Cluster (/swark/infrastructure/clusters und /swark/infrastructure/clusters/{id})

  • Liste: je Cluster Anzahl Baremetals, Namespaces, Runtimes, Instanzen und das Ziel-Release; der Name verlinkt auf die Detailseite.
  • Detail: Kapitel Übersicht (PlantUML-Diagramm mit Namespaces, Runtimes bzw. Hosts und den darin laufenden Software-Releases) und Instanzen (Tabelle Namespace / Runtime / Host, Software, Stage). Namespaces ohne Instanzen, Baremetals und Runtimes ohne Instanzen sind laut Code-Kommentar noch nicht dargestellt.

Bei Application Instances aus dem Excel-Import erscheint die Version als *, weil der Import immer die Platzhalter-Release verwendet (siehe Kapitel Datenimport).

Ressourcen (/swark/infrastructure/resources/{id})

In der Seitennavigation erscheint unter «Ressourcen» jeder Resource Type, zu dem mindestens eine Ressource existiert. Die Seite zeigt je Provider (Cluster, Application Instance oder Subscription, mit Stage) die bereitgestellten Ressourcen und welche Application Instances sie nutzen (Beziehung uses).

Software-Katalog (/swark/software/catalog)

Tabelle nach Hersteller gruppiert: Name, Zone, Anzahl Releases, Instanzen, Hosts (als Betriebssystem) und Runtimes, dazu Infrastruktur- und Business-Kritikalität als Skala. Der Abschnittstitel «Software» in der Seitennavigation verweist auf /swark/software/overview; diese Route endet in 0.2.1 mit Fehler 500. Im Hosting von Nerd-IT leitet sie auf den Katalog um.

Glossar (/swark/glossary)

Kapitel «swark» und «NIS2» mit je einer leeren Begriffstabelle. Die Inhalte sind in 0.2.1 Platzhalter im Programmcode. Eigene Begriffe lassen sich über Kapitel-Hooks ergänzen, zum Beispiel glossary/index/swark-after.blade.php (siehe Kapitel Content).

Sandbox (/swark/sandbox)

Testseite der Entwickler mit einem Inline-PlantUML-Netzwerkdiagramm, einem Versuch, PlantUML aus einer Datei zu laden (scheitert in 0.2.1), und einem Mermaid-Sankey-Diagramm. Die Unterseite /swark/sandbox/s-ad/{id}/chapter-1 war als Vorlage für eine Software-Architektur-Dokumentation nach arc42 gedacht (Kapitel Requirements overview, Quality goals, Stakeholder) und endet in 0.2.1 mit Fehler 500, weil die Views path= statt id= übergeben. Das Hosting von Nerd-IT ersetzt die drei Views, dadurch läuft die Seite. Für Kundendokumentation ist die Sandbox nicht geeignet.

Externe Ressourcen im Browser

Das Layout lädt Bootstrap-JavaScript, Bootstrap-Icons und Prism von cdn.jsdelivr.net; Seiten mit Mermaid-Diagrammen laden zusätzlich Mermaid von dort. Bootstrap-CSS und Plotly werden lokal ausgeliefert. Für Kunden mit strengen Datenschutzvorgaben ist das zu erwähnen.