Neuigkeiten von trion.
Immer gut informiert.

Blog-Archiv 2026

Manjaro mit LUKS2 neu installieren und Benutzerdaten migrieren 16. August 2026

Geschrieben von Thomas Kruse am 16. August 2026
Manjaro

Bei der Neuinstallation eines Manjaro Linux Systems mit verschlüsselter Systempartition bestimmen zwei Eigenschaften der beteiligten Werkzeuge vor, wie die Installation mit modernem LUKS2 umgesetzt werden kann. Calamares, der grafische Installer von Manjaro, legt bei aktivierter Verschlüsselung lediglich einen Container im alten LUKS1 Format an. Der Bootloader GRUB kann dazu einen LUKS2 Container mit den heute üblichen Parametern nicht aufschließen.

Aus beidem folgt ein Ablauf, der von der Standardinstallation von Manjaro abweicht und effektiv auf ein Design herausläuft, wie es auch beispielsweise Ubuntu umsetzt: /boot liegt unverschlüsselt auf einer eigenen Partition und bringt eine Ramdisk mit, die alles notwendige zur Unterstützung von LUKS2 beinhaltet.

Dazu werden Partitionierung, LUKS2 Container und Dateisysteme einmalig von Hand vorbereitet, bevor der grafische Installer die eigentliche Installation übernimmt.

GraalVM Native Image: Wenn die Uhr des Build-Servers im Binary landet 12. August 2026

Geschrieben von Thomas Kruse am 12. August 2026
GraalVM

GraalVM Native Image übersetzt Java-Anwendungen vorab in ein natives Binary. Der Start dauert dann Millisekunden statt Sekunden, der Speicherbedarf sinkt deutlich, und zur Laufzeit wird keine JVM mehr benötigt. Für Anwendungen, die auf jedem Knoten eines Kubernetes-Clusters mitlaufen, sind das gute Argumente. Im konkreten Beispielprojekt, in dem sich ein schwer zu findender Fehler eingeschlichen hatte, ging es genau um Kubernetes Infrastruktur: Ein eigener CSI-Treiber wird als DaemonSet betrieben und belegt so Ressourcen auf jeder einzelnen Node.

Damit diese Optimierungen funktionieren, verschiebt Native Image Arbeit vom Programmstart in den Build. Dazu gehört die Klasseninitialisierung: Statische Initializer werden nicht zwangsläufig beim Start ausgeführt, sondern können bereits beim Bau des Binaries laufen. Deren Ergebnis wandert als fertiges Objektnetz in den sogenannten Image Heap. Keine Initialisierung mehr zur Laufzeit, keine Arbeit für einen Just in Time Compiler.
Das ist zum einen der Hebel für den Geschwindigkeitsgewinn aber gleichzeitig eine Fehlerquelle, die in der klassischen JVM-Welt so nicht existiert. Was ein statischer Initializer ableitet und ermittelt, wird einmalig zum Buildzeitpunt auf der Buildmaschine ausgeführt.

Null-Checks in Spring mit JSpecify und Error Prone im Maven-Build 11. August 2026

Geschrieben von Stefan Reuter am 11. August 2026

Die NullPointerException ist nach wie vor einer der häufigsten Laufzeitfehler in Java-Anwendungen. Das eigentliche Problem ist selten der einzelne vergessene Check, sondern dass an keiner Stelle festgehalten ist, welche Werte überhaupt null sein dürfen und welche nicht. Diese Information steckt bestenfalls im Kopf der Entwickler oder in der Dokumentation, aber nicht im Typsystem.

JSpecify ist ein herstellerübergreifender Satz von Annotationen, der genau diese Information ausdrückt. Mit Spring Framework 7 und Spring Boot 4 ist das gesamte Spring-API mit diesen Annotationen versehen. Damit die Annotationen nicht nur Dokumentation bleiben, braucht es ein Werkzeug, das sie prüft. Im Maven-Build übernimmt das Error Prone zusammen mit dem NullAway-Plugin von Uber.

Kubernetes Ops Hilfe mit lokalem LLM 7. August 2026

Geschrieben von Thomas Kruse am 7. August 2026
Kubernetes

In Kubernetes-Clustern wird viel operatives Wissen zur Nutzung der richtigen kubectl-Befehle benötigt. Diese muss man neben den relevanten Kubernetes Grundlagen erst kennen: Welches Argument filtert Pods im CrashLoopBackOff, wie ließt man Events zu einem Deployment aus, welcher Selector gehört zu welchem Service. Ein lokal betriebenes Sprachmodell kann die Übersetzung von Fragen zum Kubernetes Cluster übernehmen: Aus einer Frage in natürlicher Sprache werden passende kubectl-Aufrufe, deren Ausgabe das Modell anschließend zusammenfasst.
Als Beispiel dient dazu ein vollständiges Docker-Compose-Setup aus llama.cpp, einem schlanken Python-Proxy und Open WebUI als Chat-Oberfläche. Dieser Beitrag stellt Konzept und Architektur des Setups vor, zeigt den Nutzen an einem konkreten Beispiel und geht auf Alternativen zu diesem Ansatz ein: Im Kleinen wie in der grundsätzlichen Architektur.

Spring AI MCP-Server: Spring-Dokumentation für LLMs bereitstellen 6. August 2026

Geschrieben von Leonard Wagner am 6. August 2026
Spring AI

Wer Claude, Codex und Co. bei der Entwicklung von Spring-Anwendungen einsetzt, musste vielleicht auch schon feststellen, dass gerade neue Features des Frameworks nicht optimal verwendet werden. Aufgrund fehlender oder veralteter Trainingsdaten erzeugen die Sprachmodelle zwar korrekten, aber nicht optimalen Code. Sie definieren Beans, obwohl diese mittlerweile aus einer Autoconfiguration kommen, nutzen veraltete Klassen (z. B. JdbcTemplate statt JdbcClient) oder entpacken munter JARs, um den aktuellen Quellcode von Spring zu lesen.

In diesem Beitrag zeige ich, wie man mit Spring AI einen Model-Context-Protocol-Server (MCP-Server) für LLMs bereitstellt, der hier Abhilfe schafft. Der Server gibt Agents Zugriff auf die Spring-Dokumentation, die für das aktuelle Projekt relevant ist.

Dual-Stack mit IPv6 für Talos Kubernetes auf Hetzner Cloud 28. Juli 2026

Geschrieben von Thomas Kruse am 28. Juli 2026
Kubernetes

Im Beitrag Talos Kubernetes auf Hetzner Cloud einfach einrichten wurde ein Kubernetes Cluster mit Talos Linux auf einem Hetzner Cloud Server eingerichtet.
Die dort erzeugte Netzwerkkonfiguration deckte bishher lediglich das klassische IPv4 ab. Inzwischen sind IPv4 Adressen ein knappes Gut, so dass diese auch zunehmend teurer werden. Hetzner stellt jedem Cloud Server zusätzlich ein /64 IPv6-Subnetz bereit, das ohne Aufpreis genutzt werden kann.

Dieser Beitrag erweitert das Vorgehen und somit auch das Script, das den Netzwerk-Patch erzeugt, um IPv6. Anschließend werden die wesentlichen Unterschiede beschrieben, die beim Betrieb von Talos und Kubernetes im Dual-Stack, also mit IPv4 und IPv6 parallel, zu beachten sind.

Container Images mit Notation signieren 20. Juli 2026

Geschrieben von Thomas Kruse am 20. Juli 2026
Kubernetes

Wer Container Images aus einer Registry bezieht, verlässt sich darauf, dass Inhalt und Herkunft stimmen. Signaturen machen das prüfbar: Sie binden einen Image-Digest an einen Aussteller und schützen so vor Manipulation zwischen Push und Pull.

Im OSS-Umfeld ist dafür meist Cosign aus dem Sigstore-Projekt im Einsatz, das wir in einem eigenen Beitrag behandelt haben. Cosign ist aber nicht das einzige praxisrelevante Werkzeug.
Dieser Beitrag stellt die zweite verbreitete Option vor: Notation aus dem Notary Project.

Talos Kubernetes auf Hetzner Cloud einfach einrichten 7. Juli 2026

Geschrieben von Thomas Kruse am 7. Juli 2026
Kubernetes

Talos Linux ist ein auf Kubernetes optimiertes Linux, dass auf die absolut wesentlichen Elemente reduziert ist. Auf typische Elemente einer Linux Distribution, wie z.B. ein Paketmanager wird dabei verzichtet. Selbst SSH ist nicht verfügbar: Sämtliche Interaktionen mit dem System werden über eine Talos System API ermöglicht.
Damit ist Talos Linux als minimales Linux aus der Perspektive der Systemsicherheit sehr attraktiv.

Die Installation erfolgt durch Images, so ähnlich, wie bei Mobiltelefonen. Ein Update besteht aus dem Download eines neuen Image und anschließendem Neustart. Als offizielle Boot Medien stehen ISO, USB-Stick und PXE zur Verfügung.
In diesem Beitrag geht es um ein etwas ungewöhnliches Installationsverfahren, das prinzipiell mit beliebigen bestehenden Linux Umgebungen kombinierbar sein sollte.
Als Beispielumgebung wird dazu die Hetzner Cloud verwendet.

Neuer Workshop "Souveräne IT mit Kubernetes" 11. Juni 2026

Geschrieben von Thomas Kruse am 11. Juni 2026
Thomas Kruse

Auf der DevOpsCon Berlin (15. bis 19. Juni 2026) steht erstmals der Workshop "Souveräne IT mit Kubernetes" (Sovereign IT with Kubernetes) auf dem Programm. Er entsteht aus einer Kooperation zwischen der trion GmbH und dem unabhängigen Trainer Erkan Yanar und wird von Thomas Kruse und Erkan Yanar gemeinsam geleitet.

Digitale Souveränität rückt angesichts zunehmender Cyberbedrohungen und der geopolitischen Lage stärker in den Fokus. Wer die Kontrolle über die eigenen Daten und Dienste behalten oder zurückgewinnen will, braucht dafür nicht nur Richtlinien, sondern technische Kontrolle. Der Workshop zeigt, wie sich souveräne IT mit einem hohen Grad an Automatisierung praktisch und sicher auf Basis von Kubernetes umsetzen lässt.

Agentic AI bei der Java User Group Münster 10. Juni 2026

Geschrieben von Thomas Kruse am 10. Juni 2026

Am 10. Juni 2026 traf sich die Java User Group Münster zu ihrem Vortragsabend bei der LVM Versicherung am Kolde-Ring. Auf der Agenda stand das Thema Agentic AI, vorgetragen von Lars Röwekamp. Die trion GmbH gehört zu den Hauptsponsoren der User Group und unterstützt damit den fachlichen Austausch in der Region.

Den Abend organisierte und moderierte Thomas Kruse. Agentic AI hat deutlich über 100 Teilnehmer angezogen, was die Relevanz unterstreicht.

Suche

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.