OpenKeel: die souveräne französische Cloud-Lösung mit europäischer Reichweite der inherent-Gruppe inherent entdecken

Das Projekt

Eine Kette von Claude-Skills

Vom Lesen des upstream Python-Codes bis zum Go-Code, den Charts und den Tests.

Drei Skills, eine Produktionskette

  1. 01

    Upstream-Repository

    OpenStack-Python-Code, Branch stable/2026.2

  2. 02

    generate-reverse-spec

    Belegte Spezifikation und Rewrite Pack

  3. 03

    generate-openkeel-diagram

    JSON-Modell, SVG-Interaktionsansichten

  4. 04

    generate-go-from-spec

    Go-Code, Konfiguration, Helm, Tests

Iteratives Vorgehen: Jede beim Testen gefundene Lücke (Bug, Nichtkonformität, Kubernetes-Fallstrick) wird in der Komponente behoben und anschließend in den Skill zurückgeführt – zum Nutzen der nächsten Komponenten.

Reverse-Spec-Skill: das Bestehende spezifizieren

Hervorgegangen aus analyse-projet-oss (französische Retro-Dokumentation) und weiterentwickelt zu einer englischen Spezifikation, die an einen Branch gebunden ist, der in jedem Dateinamen steht, mit einem Rewrite Pack für die Neuimplementierung. 38 Reverse-Specs sind auf dieser Website veröffentlicht.

Die Spezifikation

  • REST-Endpunkte: technische und funktionale Beschreibung
  • Verarbeitung außerhalb der API: RabbitMQ-Consumer, SQL-Polling, OVSDB-Ereignisse, periodische Tasks
  • Fehlercodes und die Situationen, die sie auslösen
  • Interaktionen: SQL, AMQP, Redis, ausgehendes REST, mit Frames und Sequenzdiagrammen
  • Branch-Historie als Änderungsspezifikationen

Das Rewrite Pack

  • OpenAPI- und JSON-Schemas
  • Datenbank-DDL
  • Policies und Konfigurationsoptionen
  • Konformitätsdaten (erwartete Anfragen und Antworten)
  • Zentrale Algorithmen und Erwartungen der Clients

Diagramm-Skill: ein Modell, alle Ansichten

  • Ein einziges JSON-Modell der Dienste, ihrer Interaktionen und ihrer Platzierung auf den Knoten
  • SVG-Ansichten: Übersicht, Plattform, pro Dienst, pro Protokoll (REST, SQL, RabbitMQ, Cache, OVSDB, OIDC)
  • Platzierung: Talos-Produktionscluster und kind-Labor
  • Markdown-Tabelle der Interaktionen und Fortschritts-Badges (Go, Spec, Python)
  • Bei jeder Architekturentscheidung neu generiert
Diagramm openkeel-overview.svg Vollbild
Die vom Skill generierte Ansicht „Übersicht“

Go-from-spec-Skill: vom Rewrite Pack zu Go

Identisches Verhalten

API, HTTP-Codes, Fehler-Bodies, Microversions, Policies

Schlanke YAML-Konfiguration

Die ungenutzten Optionen des Originals entfallen

MariaDB Galera

Gleiches Schema wie das Original, Schreibvorgänge auf dem Primärknoten

TLS überall

Geprüftes MariaDB-TLS, AMQPS, HTTPS, OVSDB über ssl:

RabbitMQ

RPC und Benachrichtigungen im oslo.messaging-Format

Strukturierte Logs

JSON auf Englisch (slog), CADF-Audit

Sicherheits-Checkliste

Distroless, keine Shell, UID 65532

Tests

Unit-Tests und e2e Replay gegen das Original

Helm-Charts

Ein Chart pro Dienst, ein Umbrella-Chart