OpenKeel : la solution Cloud souveraine, française à portée européenne du groupe inherent Découvrir inherent

La solution Cloud souveraine, française à portée européenne du groupe inherent

Un Cloud open source bâti sur Kubernetes, OVN et KubeVirt

OpenKeel construit un Cloud nativement multi-tenant à partir de technologies Cloud Native et open source et est lui-même open source sous licence Apache 2.0, conçu pour être SecNumCloud-ready. Ses API REST sont entièrement compatibles avec celles d'OpenStack : les mêmes modules, réécrits en Go, se déploient sur des clusters Kubernetes, et une ligne de commande rend le déploiement et la gestion du cycle de vie plug and play. OpenKeel est un cloud pensé à l'époque de l'IA et pour l'IA.

  • Souverain
  • Made in France
  • Apache 2.0
  • SecNumCloud-ready
  • Kubernetes
  • OVN
  • KubeVirt
  • Go
  • API OpenStack
  • Multi-tenant
Rejeu accéléré d'une vraie installation okadm en lab : cluster kind, opérateurs, services de données, composants OpenKeel, puis les URL d'accès

« Plateforme Cloud et Cloud Native moderne et souveraine, disposant d'un large écosystème »

Une solution souveraine française à portée européenne

OpenKeel est une solution du groupe inherent, groupe IT français expert en IA, cloud, cybersécurité et connectivité pour les entreprises et les collectivités (inherent.fr).

Bâti sur des logiciels open source et des standards ouverts, OpenKeel donne aux organisations un Cloud qu'elles maîtrisent : le code, le déploiement et les données restent entre leurs mains, sur l'infrastructure de leur choix en France et en Europe.

  • Une solution française du groupe inherent
  • Briques open source, sans verrouillage propriétaire
  • Open source sous licence Apache 2.0
  • Déployé sur les clusters Kubernetes du client
  • Compatible avec l'écosystème OpenStack

OpenKeel en bref

OpenKeel garde les contrats qui font la valeur de l'écosystème OpenStack (API REST, modèle de données MariaDB, messages RabbitMQ) et remplace leur implémentation Python par des services Go natifs Kubernetes.

Le plan de données n'est pas réécrit : il est confié à des projets Cloud Native éprouvés. Kubernetes orchestre, KubeVirt exécute les VMs, OVN porte les réseaux des tenants, CSI fournit les volumes.

  • 38 reverse-specs des dépôts amont
  • 25 modules Go dans l'espace de travail
  • Version 2026.2.0, compatible avec l'API OpenStack 2026.2
  • Clients, SDK, Terraform et Tempest inchangés

Bâti sur des technologies Cloud Native et open source

OpenKeel réécrit le plan de contrôle et délègue le plan de données à des briques Kubernetes éprouvées.

Orchestration

Kubernetes

Chaque service est un Deployment ou un DaemonSet ; Kubernetes gère réplicas, redémarrages, configuration et secrets.

En savoir plus
Réseau

OVN et Open vSwitch

Neutron écrit réseaux, routeurs, ACL et NAT dans OVN Northbound ; le réseau des VMs reste isolé de celui des pods.

En savoir plus
Calcul

KubeVirt

Les instances Nova sont des VirtualMachines ; CDI importe les images Glance dans des volumes.

En savoir plus
Stockage

Tout CSI bloc

Les volumes Cinder tournent sur Rook-Ceph, Longhorn, NetApp, Huawei Dorado ou notre propre driver Pure Storage ; les partages Manila passent par NFS-Ganesha, S3 et Swift par Ceph RGW.

En savoir plus
Conteneurs

Kata

Zun lance chaque conteneur dans sa microVM : un noyau par conteneur, son port Neutron comme seul réseau.

En savoir plus
Résilience

Medik8s et ExternalDNS

Masakari s'appuie sur Node Healthcheck et Self Node Remediation ; Designate publie par ExternalDNS.

En savoir plus

Nativement multi-tenant

Le modèle de Keystone (domaines, projets, rôles, policies) découpe le Cloud en tenants. Les tenants n'ont aucun accès à Kubernetes : seuls les services OpenKeel créent Pods, VMs et volumes.

Chaque NIC de VM est branchée sur son propre port Neutron dans OVN, sans interface sur le réseau des pods ; une garde CNI ferme les chemins vers le nœud. Manila crée une passerelle NFS dans le réseau du tenant, et Zun isole chaque conteneur dans une microVM.

  • Projets, quotas et policies identiques à OpenStack
  • Réseaux des tenants isolés du réseau Kubernetes
  • port_security contre l'usurpation de MAC et d'IP
  • Une microVM Kata par conteneur Zun

Conçu pour être SecNumCloud-ready

SecNumCloud, la qualification de l'ANSSI, s'applique à un service et à son prestataire, pas à un logiciel. OpenKeel est conçu pour qu'un prestataire puisse qualifier un Cloud bâti dessus : il ne fait obstacle à aucune exigence technique, et il fournit les mécanismes et les preuves que l'audit demande.

Chaque exigence est suivie en toute transparence : ce qui est conforme aujourd'hui, ce qui est en cours et ce qu'il reste à faire évoluer, chacun avec sa preuve dans le code.

  • Code Go open source, sans télémétrie ni appel sortant
  • Un événement d'audit CADF pour chaque appel d'API
  • RBAC OpenStack, MFA dans Keystone, Barbican avec un HSM
  • Tous les flux internes en TLS

100 % compatible avec les API d'OpenStack

Un composant OpenKeel remplace l'original sans que les clients, SDK, Terraform, Tempest ni les services voisins voient la différence.

Même API REST

  • Chemins, paramètres, codes HTTP
  • Corps d'erreur et microversions
  • Policies identiques

Même base de données

  • Mêmes tables et colonnes
  • Mêmes migrations de schéma
  • Données existantes réutilisables

Mêmes messages RabbitMQ

  • Enveloppes oslo.messaging
  • Mêmes RPC et topics
  • Notifications versionnées

Les modules réécrits en Go

Les services d'OpenStack, spécifiés depuis leur code amont puis générés en Go, chacun avec sa reverse-spec, son diagramme et ses tests.

Placement

Inventaires et allocations de ressources ; premier composant réécrit en Go.

GoMariaDB Galera

Nova

Instances exécutées comme VirtualMachines KubeVirt ; conductor avec le scheduler intégré, un agent par nœud.

GoKubeVirt et CDI

Zun

Containers as a Service : un Pod par conteneur, isolé dans sa microVM Kata, avec son port Neutron comme seul réseau.

GoPods Kata

Masakari

Haute disponibilité des instances ; santé des nœuds par Node Healthcheck et Self Node Remediation.

GoMedik8s

Ironic

Bare metal : reste en Python amont, empaqueté dans un chart OpenKeel ; trop de configurations matérielles à tester.

Chart (Python amont)Chart Helm (Python amont)

Cinder

Les volumes bloc sont des PVC d'une StorageClass CSI (Rook-Ceph, Longhorn, NetApp, Huawei Dorado, Pure Storage), avec snapshots CSI et sauvegardes cinder-backup.

GoTout CSI bloc

Glance

Images stockées dans des PVC bloc via des DataVolumes CDI ; les quatre méthodes d'import interopérables.

GoCDI et CSI

Manila

Partages NFS multi-tenant : une passerelle NFS-Ganesha par réseau de partage, dans le réseau du tenant.

GoNFS-Ganesha

Swift et S3

Stockage objet : Rook-Ceph et sa passerelle RGW pour les API S3 et Swift.

SpécifiéRook-Ceph RGW

CSI Pure Storage

Driver CSI en Go pour Pure Storage FlashArray en iSCSI : snapshots, clones, extension, RWX bloc pour KubeVirt. Prototype.

GoFlashArray en iSCSI

Neutron

Réseaux, sous-réseaux, ports, routeurs et groupes de sécurité écrits dans la base OVN Northbound ; IPv4 et IPv6.

GoOVN et Open vSwitch

Octavia (OVN)

API Octavia v2 servie par neutron-api ; load balancers OVN, actifs par défaut.

GoLoad balancers OVN

Neutron-FWaaS

Firewall groups, policies et rules (FWaaS v2).

GoACL OVN

Neutron-VPNaaS

VPN IPsec site à site : IKE, policies IPsec, connexions.

GoAgent IPsec

OVN-BGP-Agent

Annonce en BGP les IP de VMs et les IP flottantes joignables par le nœud.

GoFRR et OVN

Keystone

Identité multi-tenante : domaines, projets, rôles ; jetons, OIDC, JWT, application credentials.

GoSQL, OIDC, JWT

Barbican

Secrets, conteneurs de secrets et clés.

GoMariaDB, PKCS#11

Designate

Zones et recordsets publiés par ExternalDNS (un DNSEndpoint par recordset).

GoExternalDNS

CloudKitty

Valorisation (FinOps) : usage collecté depuis Prometheus, valorisé par des règles hashmap et des scripts CEL, historique valorisé dans InfluxDB ; avec openkeel-pricing (devis de coût et de carbone), il alimente la page FinOps / GreenOps de Skyline.

GoPrometheus, InfluxDB

Heat

Orchestration : pas encore de service Go ; les commandes stack et orchestration sont réécrites dans ok.

CLI seule—

API EC2

API EC2 Query (97 actions), signatures SigV2 et SigV4 vérifiées par Keystone : AWS CLI, boto3, Terraform.

GoNova, Neutron, Cinder

Skyline

Un seul binaire Go : API de la console, fichiers de la console React, proxy vers le catalogue Keystone.

GoConsole React amont

ok (CLI)

Le client OpenStack : commandes de python-openstackclient 10.3.1 et de ses plugins, mêmes arguments, sorties et codes retour.

GoBinaire Go statique

okadm

La CLI de déploiement : plan, install, upgrade, status, uninstall ; lab kind ou production.

Goclient-go, SDK Helm

Déployé sur Kubernetes, en plug and play

okadm est un binaire Go qui embarque client-go, le SDK Helm et les charts d'OpenKeel. Il vérifie le cluster, installe les opérateurs manquants, puis les services de données et les composants dans l'ordre des dépendances, et reprend où il s'est arrêté.

okadm plan    --mode lab                                # does the cluster fit? what is missing?
okadm install --mode lab --create-kind --ingress --demo  # kind cluster, Traefik, Skyline, demo project
okadm status                                            # version, Helm releases, pod state
okadm upgrade --version 2026.2.1                        # one component at a time

FAQ

Les réponses essentielles pour comprendre OpenKeel.

Qu'est-ce qu'OpenKeel ?

La solution Cloud souveraine, française à portée européenne du groupe inherent. Elle réécrit en Go les services d'OpenStack au-dessus de technologies Cloud Native (Kubernetes, OVN, KubeVirt, CSI). Ses API REST sont compatibles avec celles d'OpenStack et elle se déploie sur Kubernetes avec la CLI okadm.

Qui est derrière OpenKeel ?

Le groupe inherent, groupe IT français expert en IA, cloud, cybersécurité et connectivité pour les entreprises et les collectivités.

Sous quelle licence OpenKeel est-il distribué ?

La licence Apache 2.0, celle d'OpenStack : le code peut être utilisé, modifié et redistribué, y compris commercialement, avec une concession explicite de brevets ; la licence et les mentions de droit d'auteur accompagnent chaque copie, et les modifications sont signalées comme telles.

OpenKeel est-il qualifié SecNumCloud ?

SecNumCloud (ANSSI) qualifie un service et son prestataire, pas un logiciel. OpenKeel est conçu pour être SecNumCloud-ready : chaque flux interne en TLS, une piste d'audit CADF sur chaque API, le RBAC d'OpenStack, Barbican avec un HSM, l'isolation Kata des conteneurs, des images signées avec un SBOM sur un registre maîtrisé. Ce qui est conforme aujourd'hui et ce qui reste à faire évoluer, exigence par exigence, est sur SecNumCloud-ready.

Mes outils OpenStack fonctionnent-ils ?

Oui : chaque composant garde les chemins, paramètres, codes HTTP, corps d'erreur, microversions et policies de l'original. Clients, SDK, Terraform, Tempest et Skyline ne voient pas la différence. Les écarts connus sont listés dans le docs/CONFORMANCE.md de chaque module.

Reverse-specs, diagrammes et présentation

Spécifications

38 reverse-specs

Endpoints, erreurs, interactions, scénarios et rewrite pack de chaque dépôt amont.

Parcourir
Architecture

25 diagrammes

Vue d'ensemble, plateforme, par service, par protocole et placement sur les nœuds.

Voir les vues
Présentation

Deck de 57 slides

La présentation de référence du projet, en PowerPoint et en PDF.

Télécharger