O Gopher mio...

Rafter: Kubernetes-natives Content-Management-System

Dominik Mohilo

© The Kyma Project Authors

Kyma ist eine Plattform für die Erweiterung von Anwendungen mit Microservices und Serverless Functions. Aus dem Projekt ging mit dem in Go geschriebenen Rafter nun ein brandneues und Kubernetes-natives Content-Management-System (CMS) hervor.

Das Projekt Rafter ist noch relativ jung, hat aber dennoch auf GitHub bereits ein wenig Buzz erhalten: 46 Stars – und das schon vor dem initialen Release. Die neue Storage-Lösung, die aus dem Kyma-Projekt hervorging, kann für das Speichern und Verwalten unterschiedlicher Datentypen genutzt werden. Diese Datentypen nennen sich in dem Zusammenhang Assets.

Was zunächst einfach nach „just another CMS“ klingt, ist technisch gesehen ein wenig diffiziler, denn Rafter setzt komplett auf Kubernetes Custom Resources (CRs), die vom Rafter Controller Manager verwaltet werden. Von Haus aus bringt Rafter drei CRs mit sich – Asset CR, Bucket CR und AssetGroup CR.

Asset CR wird zur Verwaltung von einzelnen Assets oder Asset-Paketen verwendet, während Bucket CR die Verwaltung von Buckets übernimmt. AssetGroup CR kann für das Management von Asset-CR-Gruppen eines spezifischen Typs genutzt werden. Dadurch soll die Verwendung und Extrahierung von Webhook-Informationen vereinfacht werden.

DevOpsCon Istio Cheat Sheet

Free: BRAND NEW DevOps Istio Cheat Sheet

Ever felt like service mesh chaos is taking over? As a follow-up to our previous cheat sheet featuring the most important commands and functions, DevOpsCon speaker Michael Hofmann has put together the 8 best practices you should keep in mind when using Istio.

Das Management der Dateien (Assets) erfolgt in Rafter via Webhooks. Sogenannte Webhook Services können zusätzlich definiert werden, die aufgerufen werden, bevor eine Datei im Storage landet. Diese Services können eine Datei beispielsweise validieren, verändern oder Informationen aus ihr extrahieren. So erhaltene Informationen können auf diese Weise auch im Status der Custom Resource hinterlegt werden.

Da Rafter auf Kubernetes setzt, ist es keine große Überraschung, dass auch dieses Projekt in Go geschrieben wurde. Als Object Storage kommt das hochperformante MinIO zum Einsatz. Dieses ist API-kompatibel mit Amazons S3 Cloud Storage und eignet sich dank der guten Performance auch und besonders für Machine-Learning- oder Analyse-Projekte.

Wie das Mutterprojekt Kyma stehen auch Rafter und MinIO unter der Apache-2.0-Lizenz und ist damit Open Source verfügbar. Weitere Informationen zu Rafter gibt es auf der GitHub-Seite des Projektes. Auf Katacoda gibt es Tutorials zum CMS.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: