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

Architecture

Skyline : les ajouts d'OpenKeel

La console Skyline d'OpenKeel, c'est skyline-console amont plus cinq patchs et une extension serveur : identités déléguées par domaine client, Single Sign-On par domaine, credentials EC2, coût et empreinte carbone à la construction, un tableau de bord FinOps / GreenOps et les métriques des VM.

Ce qu'OpenKeel ajoute à la console

Identités du domaine pour les managers

Un domaine Keystone par client, administré par ses managers

En savoir plus

OIDC par domaine

Chaque domaine apporte son propre fournisseur d'identité OpenID Connect

En savoir plus

Acceptation des utilisateurs

Les utilisateurs venus de l'IdP attendent un rôle ; les managers l'accordent ou les pré-autorisent

En savoir plus

Credentials EC2

Clés d'accès et secrètes pour l'API EC2, pour les utilisateurs et les administrateurs

En savoir plus

Coût et carbone à la construction

Chiffres FinOps et GreenOps dans les formulaires de création et la popup des quotas

En savoir plus

FinOps / GreenOps et Metrics

Un tableau de bord des coûts et de l'empreinte du projet, et les métriques de ses VM

En savoir plus

Gestion des identités du domaine par ses managers

Keystone délègue la gestion des utilisateurs par domaine : un utilisateur qui a le rôle manager sur un domaine crée ses utilisateurs, groupes et projets et leur donne manager, member ou reader, jamais admin et jamais hors du domaine. OpenKeel donne à chaque client un domaine à lui.

QuoiCommentStatut
Un domaine par clientLa ressource OpenKeelCustomer (Kubernetes, à portée cluster) déclare le domaine, ses managers et ses premiers projets ; le contrôleur keystone-customers les tient à jour dans Keystone et répare les changements manuels toutes les 10 minutesFait
ManagersRôle manager sur le domaine, hérité par ses projets pour que Skyline accepte leur connexion ; mot de passe initial dans un Secret, jamais réinitialisé par le contrôleurFait
Connexion<utilisateur>@<domaine> dans le champ utilisateur de la console (alice@acme)Fait
Règles Keystone dans SkylineLes 204 règles keystone:* de Keystone 2026.2, vérifiées avec un persona manager à portée domaine (1 866 règles × 8 personas identiques)Fait
Menu Domaine de la console projetDomaine > Single Sign-On pour les utilisateurs qui ont manager ou admin sur le domaineFait
Utilisateurs, groupes et projets du domaine depuis SkylineLes pages Identité de la console restent réservées aux administrateurs système : un manager utilise ok ou l'API avec un jeton à portée domaineÀ faire

Supprimer un client : deletionPolicy: Retain désactive le domaine et le garde ; Delete le supprime avec ses utilisateurs, groupes et projets. Détails : openkeel-keystone/docs/CUSTOMERS.md.

Un fournisseur OpenID Connect personnalisé par domaine

Domaine > Single Sign-On, onglet Identity Provider : le manager relie le domaine à l'IdP de l'entreprise (Keycloak, Entra ID, Okta…). Les réglages vont dans l'OpenKeelCustomer du domaine ; le contrôleur écrit dans Keystone le fournisseur d'identité, un mapping généré par OpenKeel (jamais écrit par le client) et le protocole openid.

RéglageRôle
ActivéActive ou désactive le Single Sign-On du domaine
Issuer URLL'issuer OpenID Connect de l'IdP ; son document de découverte doit être joignable
Client ID, Client SecretLe client de la console chez l'IdP ; le secret est en écriture seule (gardé si laissé vide) et stocké dans un Secret Kubernetes
User Name ClaimLe claim qui nomme l'utilisateur dans le domaine (par défaut preferred_username)
Groups Claim, Group MappingGroupes de l'IdP transformés en appartenances aux groupes du domaine (cloud-admins = admins), groupes créés s'ils manquent
Libellé du boutonTexte du bouton de connexion
Redirect URIAffichée par la page, à enregistrer dans le client de l'IdP

Les utilisateurs créés par l'IdP sont des utilisateurs fantômes du seul domaine du client. Pas encore fait : un hôte de console par client, si bien que la page de connexion propose encore les IdP de la configuration de Skyline.

Accepter les utilisateurs du domaine

Domaine > Single Sign-On, onglet Users : personne n'entre dans les projets du domaine sans une décision d'un manager.

  1. 1

    Première connexion

    Un utilisateur authentifié par l'IdP est créé dans le domaine sans rôle : affiché Pending

  2. 2

    Décision

    Le manager choisit un rôle : member, manager (sur le domaine, hérité par ses projets) ou none

  3. 3

    Refus

    none retire les rôles et désactive l'utilisateur : Keystone révoque ses jetons

  4. 4

    Pré-autorisation

    Add User : identifiant chez l'IdP, rôle et e-mail avant la première connexion, qui retrouve alors l'utilisateur et son rôle

Credentials EC2

Les clés d'accès et secrètes de l'API EC2 d'OpenKeel (AWS CLI, boto3, Terraform), gérées depuis la console sous les politiques ec2_* de Keystone.

Ceux de tous les utilisateurs, pour l'administrateur

Identité > EC2 Credentials : les credentials de tous les utilisateurs, avec les noms d'utilisateur et de projet ; créés pour un utilisateur et un projet choisis, ou supprimés.

Ceux de l'utilisateur

Menu utilisateur, à côté des Application Credentials : l'utilisateur crée des credentials pour l'un de ses projets.

  • Clé secrète masquée, avec un bouton de copie
  • Un nouveau credential est proposé sous forme de fichier credentials de l'AWS CLI

Coût et empreinte carbone à la construction d'une VM

Les formulaires de création chiffrent ce qui est construit grâce à openkeel-pricing (POST /v1/quotes), avec les tarifs unitaires de l'OpenKeelTenant du projet : coût par mois (€) et empreinte carbone par an (kg CO₂e).

OùCe qui est affiché
Formulaire d'instanceGabarit, nombre, volumes racine et de données (le disque racine du gabarit est écarté quand l'instance démarre sur un volume)
Formulaire de volumeTaille et nombre
Zone DNS, connexion IPsec site à siteLe coût et l'empreinte annuels de la zone ou du VPN
Popup des quotas des formulairesDeux cartes sous les jauges : le coût estimé du projet par mois et son empreinte carbone par an, sur son usage plus ce que le formulaire ajoute (vCPU, mémoire, capacité de volumes)

Rien n'est affiché quand le catalogue n'a pas d'entrée pricing ou qu'aucun OpenKeelTenant ne fixe les tarifs.

Tableau de bord FinOps / GreenOps et Metrics

FinOps / GreenOps (Accueil)

  • CloudKitty : mois en cours, prévision de fin de mois avec sa tendance, mois dernier
  • Mois en cours par service (anneau), mois dernier et mois en cours (barres), les dix ressources les plus coûteuses, instances en lien
  • openkeel-pricing : empreinte carbone de l'usage actuel par mois et par an, sa répartition par ressource, le coût de cet usage et les tarifs unitaires
FinOps / GreenOps et CloudKitty

Metrics

  • Utilisation CPU, mémoire et disque (%) et E/S disque des instances du projet, une courbe par instance
  • Périodes de la dernière heure à un an, ou personnalisées
  • Les instances les plus chargées d'abord, filtre, Tout / Aucun ; cartes avec les instances tracées, la moyenne actuelle et le pic de la période
  • Séries KubeVirt kubevirt_vmi_* lues dans Prometheus par skyline-apiserver (GET /extension/server_metrics)
Ce qui lit Prometheus

Comment les ajouts sont livrés

skyline-console reste amont : l'image openkeel-skyline récupère un commit épinglé de la console et applique dans l'ordre les patchs de openkeel-skyline/console-patches avant de la construire. La construction échoue quand un patch ne s'applique plus, si bien qu'une nouvelle version de la console n'est jamais livrée sans eux. Chaque chaîne existe dans chaque langue (allemand et chinois traduits).

Le côté serveur est openkeel-skyline, la réécriture en Go de skyline-apiserver : il relaie les nouveaux types de catalogue (pricing, rating, customer) comme les API OpenStack et ajoute GET /extension/server_metrics.