OpenKeel: la solución Cloud soberana, francesa y de alcance europeo, del grupo inherent Descubrir inherent

Arquitectura

Skyline: los añadidos de OpenKeel

La consola Skyline de OpenKeel es skyline-console upstream más cinco parches y una extensión de servidor: identidades delegadas por dominio de cliente, Single Sign-On por dominio, credenciales EC2, coste y huella de carbono al construir, un panel FinOps / GreenOps y las métricas de las VM.

Lo que OpenKeel añade a la consola

Identidades del dominio para los managers

Un dominio de Keystone por cliente, administrado por sus managers

Más información

OIDC por dominio

Cada dominio aporta su propio proveedor de identidad OpenID Connect

Más información

Aceptación de los usuarios

Los usuarios que vienen del IdP esperan un rol; los managers lo conceden o los preautorizan

Más información

Credenciales EC2

Claves de acceso y secretas para la API EC2, para usuarios y administradores

Más información

Coste y carbono al construir

Cifras FinOps y GreenOps en los formularios de creación y la ventana de cuotas

Más información

FinOps / GreenOps y Metrics

Un panel de los costes y la huella del proyecto, y las métricas de sus VM

Más información

Gestión de las identidades del dominio por sus managers

Keystone delega la gestión de usuarios por dominio: un usuario con el rol manager en un dominio crea sus usuarios, grupos y proyectos y les da manager, member o reader, nunca admin y nunca fuera del dominio. OpenKeel da a cada cliente un dominio propio.

QuéCómoEstado
Un dominio por clienteEl recurso OpenKeelCustomer (Kubernetes, de ámbito clúster) declara el dominio, sus managers y sus primeros proyectos; el controlador keystone-customers los mantiene en Keystone y repara los cambios manuales cada 10 minutosHecho
ManagersRol manager en el dominio, heredado por sus proyectos para que Skyline acepte su inicio de sesión; contraseña inicial en un Secret, nunca restablecida por el controladorHecho
Inicio de sesión<usuario>@<dominio> en el campo de usuario de la consola (alice@acme)Hecho
Reglas de Keystone en SkylineLas 204 reglas keystone:* de Keystone 2026.2, comprobadas con un persona manager de ámbito dominio (1.866 reglas × 8 personas idénticas)Hecho
Menú Dominio de la consola de proyectoDominio > Single Sign-On para los usuarios con manager o admin en el dominioHecho
Usuarios, grupos y proyectos del dominio desde SkylineLas páginas de Identidad de la consola siguen reservadas a los administradores del sistema: un manager usa ok o la API con un token de ámbito dominioPendiente

Borrar un cliente: deletionPolicy: Retain desactiva el dominio y lo conserva; Delete lo elimina con sus usuarios, grupos y proyectos. Detalles: openkeel-keystone/docs/CUSTOMERS.md.

Un proveedor OpenID Connect propio por dominio

Dominio > Single Sign-On, pestaña Identity Provider: el manager conecta el dominio al IdP de la empresa (Keycloak, Entra ID, Okta…). Los ajustes van al OpenKeelCustomer del dominio; el controlador escribe en Keystone el proveedor de identidad, un mapping generado por OpenKeel (nunca escrito por el cliente) y el protocolo openid.

AjusteFunción
ActivadoActiva o desactiva el Single Sign-On del dominio
Issuer URLEl issuer OpenID Connect del IdP; su documento de descubrimiento debe ser accesible
Client ID, Client SecretEl cliente de la consola en el IdP; el secreto es de solo escritura (se conserva si se deja vacío) y se guarda en un Secret de Kubernetes
User Name ClaimEl claim que nombra al usuario en el dominio (por defecto preferred_username)
Groups Claim, Group MappingGrupos del IdP convertidos en pertenencias a los grupos del dominio (cloud-admins = admins), con los grupos creados si faltan
Texto del botónTexto del botón de inicio de sesión
Redirect URIMostrada por la página, para registrarla en el cliente del IdP

Los usuarios creados por el IdP son usuarios sombra solo del dominio del cliente. Aún no hecho: un host de consola por cliente, por lo que la página de inicio de sesión aún ofrece los IdP de la configuración de Skyline.

Aceptar a los usuarios del dominio

Dominio > Single Sign-On, pestaña Users: nadie entra en los proyectos del dominio sin la decisión de un manager.

  1. 1

    Primer inicio de sesión

    Un usuario autenticado por el IdP se crea en el dominio sin rol: aparece como Pending

  2. 2

    Decisión

    El manager elige un rol: member, manager (en el dominio, heredado por sus proyectos) o none

  3. 3

    Rechazo

    none retira los roles y desactiva al usuario: Keystone revoca sus tokens

  4. 4

    Preautorización

    Add User: identificador en el IdP, rol y correo antes del primer inicio de sesión, que encuentra entonces al usuario y su rol

Credenciales EC2

Las claves de acceso y secretas de la API EC2 de OpenKeel (AWS CLI, boto3, Terraform), gestionadas desde la consola con las políticas ec2_* de Keystone.

Las de todos los usuarios, para el administrador

Identidad > EC2 Credentials: las credenciales de todos los usuarios con los nombres de usuario y de proyecto; creadas para un usuario y un proyecto elegidos, o borradas.

Las del propio usuario

Menú de usuario, junto a Application Credentials: el usuario crea credenciales para uno de sus proyectos.

  • Clave secreta enmascarada, con un botón de copia
  • Una credencial nueva se ofrece como fichero de credenciales de la AWS CLI

Coste y huella de carbono al construir una VM

Los formularios de creación presupuestan lo que se construye mediante openkeel-pricing (POST /v1/quotes), con las tarifas unitarias del OpenKeelTenant del proyecto: coste al mes (€) y huella de carbono al año (kg CO₂e).

DóndeLo que se muestra
Formulario de instanciaFlavor, número, volúmenes raíz y de datos (el disco raíz del flavor se omite cuando la instancia arranca desde un volumen)
Formulario de volumenTamaño y número
Zona DNS, conexión IPsec entre sitiosEl coste y la huella anuales de la zona o de la VPN
Ventana de cuotas de los formulariosDos tarjetas bajo los indicadores: el coste estimado del proyecto al mes y su huella de carbono al año, sobre su uso más lo que añade el formulario (vCPU, memoria, capacidad de volúmenes)

No se muestra nada cuando el catálogo no tiene entrada pricing o ningún OpenKeelTenant fija las tarifas.

Panel FinOps / GreenOps y Metrics

FinOps / GreenOps (Inicio)

  • CloudKitty: mes en curso, previsión de fin de mes con su tendencia, mes pasado
  • Mes en curso por servicio (anillo), mes pasado y mes en curso (barras), los diez recursos más caros, instancias enlazadas
  • openkeel-pricing: huella de carbono del uso actual al mes y al año, su reparto por recurso, el coste de ese uso y las tarifas unitarias
FinOps / GreenOps y CloudKitty

Metrics

  • Uso de CPU, memoria y disco (%) y E/S de disco de las instancias del proyecto, una curva por instancia
  • Periodos desde la última hora hasta un año, o personalizados
  • Las instancias más cargadas primero, filtro, Todas / Ninguna; tarjetas con las instancias trazadas, la media actual y el pico del periodo
  • Series KubeVirt kubevirt_vmi_* leídas de Prometheus por skyline-apiserver (GET /extension/server_metrics)
Quién lee Prometheus

Cómo se entregan los añadidos

skyline-console sigue siendo upstream: la imagen openkeel-skyline descarga un commit fijado de la consola y aplica en orden los parches de openkeel-skyline/console-patches antes de construirla. La construcción falla cuando un parche ya no se aplica, así que nunca se entrega una nueva versión de la consola sin ellos. Cada texto está en todos los idiomas (alemán y chino traducidos).

El lado servidor es openkeel-skyline, la reescritura en Go de skyline-apiserver: reenvía los nuevos tipos de catálogo (pricing, rating, customer) como las API de OpenStack y añade GET /extension/server_metrics.