OpenKeel: the sovereign French Cloud solution of the inherent group, with a European reach Discover inherent

The project

A chain of Claude skills

From reading the upstream Python code to the Go code, the charts and the tests.

Three skills, one production chain

  1. 01

    Upstream repository

    OpenStack Python code, stable/2026.2 branch

  2. 02

    generate-reverse-spec

    Sourced specification and rewrite pack

  3. 03

    generate-openkeel-diagram

    JSON model, SVG interaction views

  4. 04

    generate-go-from-spec

    Go code, configuration, Helm, tests

Iterative work: every gap found in testing (bug, non-conformance, Kubernetes pitfall) is fixed in the component, then fed back into the skill, to the benefit of the next components.

Reverse-spec skill: specifying what exists

Grown from analyse-projet-oss (French retro-documentation) into an English specification tied to a branch carried by every file name, with a rewrite pack for the re-implementation. 38 reverse-specs are published on this site.

The specification

  • REST endpoints: technical and functional description
  • Processing outside the API: RabbitMQ consumers, SQL polling, OVSDB events, periodic tasks
  • Error codes and the situations that raise them
  • Interactions: SQL, AMQP, Redis, outbound REST, with frames and sequence diagrams
  • Branch history as change specifications

The rewrite pack

  • OpenAPI and JSON schemas
  • Database DDL
  • Policies and configuration options
  • Conformance data (expected requests and responses)
  • Key algorithms and client expectations

Diagram skill: one model, every view

  • A single JSON model of the services, their interactions and their placement on the nodes
  • SVG views: overview, platform, per service, per protocol (REST, SQL, RabbitMQ, cache, OVSDB, OIDC)
  • Placement: Talos production cluster and kind lab
  • Markdown table of the interactions and progress badges (Go, spec, Python)
  • Regenerated at every architecture decision
Diagram openkeel-overview.svg Full screen
The “overview” view generated by the skill

Go-from-spec skill: from the rewrite pack to Go

Identical behaviour

API, HTTP codes, error bodies, microversions, policies

Trimmed YAML config

The unused options of the original disappear

MariaDB Galera

Same schema as the original, writes on the primary

TLS everywhere

Verified MariaDB TLS, AMQPS, HTTPS, OVSDB over ssl:

RabbitMQ

RPC and notifications in the oslo.messaging format

Structured logs

JSON in English (slog), CADF audit

Security checklist

Distroless, no shell, UID 65532

Tests

Unit tests and e2e replay against the original

Helm charts

One chart per service, an umbrella chart