Aller au contenu principal

enterprise_ai.platform_manager

Source : sdks/python/src/enterprise_ai/platform_manager/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe PlatformManagerClient​

Platform Manager. Espace Platform Manager de la console : la passerelle du Control Plane vers le Navin Manager, qui installe, connecte et exploite les services de la plateforme sur les machines du client, ainsi que le coffre-fort informatique des administrateurs de la plateforme.

Resource

PlatformManagerClient.approve_dr_exercise​

approve_dr_exercise(exercise_id: str) -> Any

Approuver un exercice de PRA. Ajoute l'approbation de l'utilisateur à un exercice de PRA ; le Manager refuse l'auto-approbation. Audité (platform_manager.dr.exercise.approve) avec le nouveau statut. Demande platform_admin.

Route : /v1/platform-manager/dr/exercises/{exercise_id}/approve (POST).

NomTypeDéfautRequisDescription
exercise_idstrouiIdentifiant de l'exercice de PRA dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Approuver un exercice de PRA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.approve_restore​

approve_restore(plan_id: str) -> Any

Approuver un plan de restauration. Ajoute l'approbation de l'utilisateur à un plan de restauration ; le Manager refuse l'auto-approbation et compte deux approbateurs distincts. Audité (platform_manager.restore.approve) avec le nouveau statut et le nombre d'approbations. Demande platform_admin.

Route : /v1/platform-manager/backup/restores/{plan_id}/approve (POST).

NomTypeDéfautRequisDescription
plan_idstrouiIdentifiant du plan de restauration dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Approuver un plan de restauration ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.backup_jobs​

backup_jobs() -> Any

Lister les tâches de sauvegarde. Tâches de sauvegarde du Manager avec leur statut, relayées au nom de l'utilisateur (backup:read côté Manager). Demande platform_admin.

Route : /v1/platform-manager/backup/jobs (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les tâches de sauvegarde ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.backup_plans​

backup_plans() -> Any

Lister les plans de sauvegarde. Politiques de sauvegarde (périmètre, intervalle, rétention, immuabilité) et alertes de retard ou d'échec du Manager. Demande platform_admin.

Route : /v1/platform-manager/backup/plans (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les plans de sauvegarde ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.backups​

backups() -> Any

Lister les sauvegardes. Sauvegardes avec leur SHA-256, leur taille et le résultat de leur dernière vérification, relayées depuis le Manager (backup:read côté Manager). Demande platform_admin.

Route : /v1/platform-manager/backup/backups (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les sauvegardes ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.catalog​

catalog() -> Any

Lister le catalogue du Manager. Services du catalogue du Manager (nom, version et catégories de la pile) avec leurs noms affichés, catégorie, version, composants, modes, méthodes, prérequis, mode de livraison (install, connect, job, package), couche et licence. Demande platform_admin.

Route : /v1/platform-manager/catalog (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister le catalogue du Manager ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.catalog_service​

catalog_service(service: str) -> Any

Lire le descripteur d'installation d'un service. Descripteur d'installation d'un service du catalogue : modes avec leurs composants et cardinalités, méthodes, prérequis, sections et paramètres avec leurs valeurs par défaut. Un paramètre secret ne porte jamais de valeur par défaut et indique s'il est généré ; les gabarits et artefacts ne sortent jamais de la passerelle. Demande platform_admin.

Route : /v1/platform-manager/catalog/{service} (GET).

NomTypeDéfautRequisDescription
servicestrouiNom du service du catalogue.

Retour : Any. Réponse JSON décodée de l'opération « Lire le descripteur d'installation d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.clusters​

clusters() -> Any

Lister les clusters. Clusters (environnements) du Navin Manager visibles par l'utilisateur. Demande platform_admin.

Route : /v1/platform-manager/clusters (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les clusters ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.connect_service​

connect_service(cluster_id: str, name: str, endpoint: str, credentials_ref: str | None = None, tls_verify: bool = True, config: dict[str, Any] | None = None, auth: dict[str, Any] | None = None, mtls: dict[str, Any] | None = None, ca_pem: str | None = None) -> Any

Connecter un service existant. Enregistre un service existant du client au nom de l'utilisateur et répond 201 ; le Manager contrôle services:install et la section de connexion du descripteur, puis vérifie sa santé. Un service connecté n'est jamais installé, démarré ni arrêté par le Manager. Les champs secrets sont relayés et scellés par le Manager ; l'audit ne garde que le point d'accès, le TLS, la méthode et les noms des champs. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/connect (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
namestrouiNom du service dans le catalogue : une lettre minuscule puis jusqu'à 62 lettres minuscules, chiffres, tirets ou soulignés.
endpointstrouiAdresse du service existant, de 1 à 2048 caractères.
credentials_refstr | NoneNonenonRéférence d'identifiants déjà enregistrés, 512 caractères au plus ; l'audit ne garde que sa présence.
tls_verifyboolTruenonVérifier le certificat TLS du service (vrai par défaut).
configdict[str, Any] | NoneNonenonChamps de la section de connexion du descripteur, jusqu'à 100 clés ; l'audit ne garde que les clés.
authdict[str, Any] | NoneNonenonMéthode d'authentification et ses champs.
mtlsdict[str, Any] | NoneNonenonCertificat client pour le TLS mutuel.
ca_pemstr | NoneNonenonAutorité de certification privée (PEM) qui signe le certificat du service, 65536 caractères au plus.

Retour : Any. Réponse JSON décodée de l'opération « Connecter un service existant ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.connections​

connections(connection_type: str | None = None) -> Any

Lister les connexions. Connexions existantes des types que le portail lie (PostgreSQL, Redis, OIDC), filtrées par type si fourni ; le secret indique seulement s'il est renseigné. Demande connections:read dans le Manager. Demande platform_admin.

Route : /v1/platform-manager/connections (GET).

NomTypeDéfautRequisDescription
connection_typestr | NoneNonenonNe liste que les connexions de ce type (postgresql, redis ou oidc), envoyé dans le paramètre de requête type ; None les liste toutes.

Retour : Any. Réponse JSON décodée de l'opération « Lister les connexions ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.console​

console() -> Any

Obtenir les liens des consoles. Indique si le Manager est configuré, l'adresse de base de sa console (EAI_PLATFORM_MANAGER_CONSOLE_URL, sinon EAI_PLATFORM_MANAGER_URL) et les consoles d'exploitation (Opik, Grafana, Keycloak, LiteLLM, OpenSearch Dashboards) : depuis leur paramètre s'il est renseigné (source setting), sinon depuis le service du même nom installé ou connecté par le Manager (source manager). Une adresse de console qui n'est pas en https ou qui porte des identifiants n'est jamais renvoyée (problem en donne la raison). Demande platform_admin.

Route : /v1/platform-manager/console (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Obtenir les liens des consoles ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.create_cluster​

create_cluster(name: str, mode: str = 'production', description: str = '', profile: str | None = None) -> Any

Créer un cluster. Crée un cluster (environnement) dans le Manager et répond 201 ; l'utilisateur délégué doit détenir clusters:create. Audité (platform_manager.cluster_create), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters (POST).

NomTypeDéfautRequisDescription
namestrouiNom du cluster, de 1 à 80 caractères.
modestr'production'nonproduction (par défaut) ou sandbox.
descriptionstr''nonDescription libre, 500 caractères au plus.
profilestr | NoneNonenonProfil de déploiement : development, standard, banking-secure, air-gapped ou hybrid ; omis pour la valeur par défaut du Manager.

Retour : Any. Réponse JSON décodée de l'opération « Créer un cluster ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.create_connection​

create_connection(name: str, connection_type: str, params: dict[str, Any], secret: str | None = None, description: str = '') -> Any

Enregistrer une connexion. Enregistre un PostgreSQL, un Redis ou un émetteur OIDC existant comme connexion du Manager et répond 201 (le secret est scellé par le Manager et jamais renvoyé). Les formulaires d'installation y lient ensuite un service. Demande connections:manage dans le Manager. L'audit garde nom, type, clés des paramètres et présence d'un secret. Demande platform_admin.

Route : /v1/platform-manager/connections (POST).

NomTypeDéfautRequisDescription
namestrouiNom de la connexion, de 1 à 100 caractères.
connection_typestrouiType de la connexion, envoyé dans type : postgresql, redis ou oidc.
paramsdict[str, Any]ouiParamètres de connexion (hôte, port, base, émetteur...), jusqu'à 20 clés ; l'audit ne garde que les clés.
secretstr | NoneNonenonMot de passe ou secret client, 4096 caractères au plus. En écriture seule : scellé par le Manager, jamais renvoyé ni audité. Une valeur vide n'est pas envoyée.
descriptionstr''nonDescription libre, 1000 caractères au plus.

Retour : Any. Réponse JSON décodée de l'opération « Enregistrer une connexion ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.create_enrollment_token​

create_enrollment_token(cluster_id: str, expires_in_hours: int = 24, max_uses: int = 10) -> Any

Créer un jeton d'enrôlement. Jeton d'amorçage de l'agent de nœud et commande d'enregistrement à lancer sur chaque machine, renvoyés avec 201 ; affichés une seule fois, le jeton et la commande ne sont jamais écrits dans l'audit (seuls son identifiant et son échéance). Demande hosts:manage dans le Manager. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
expires_in_hoursint24nonDurée de vie du jeton en heures, de 1 à 720, 24 par défaut.
max_usesint10nonNombre de machines qui peuvent s'enrôler avec le jeton, de 1 à 10000, 10 par défaut.

Retour : Any. Réponse JSON décodée de l'opération « Créer un jeton d'enrôlement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.create_vault_entry​

create_vault_entry(body: dict[str, Any]) -> Any

Ajouter une entrée au coffre-fort. Ajoute un service au coffre-fort informatique (source manual) et répond 201 sans le mot de passe ni la clé. URL, identifiant, mot de passe et clé sont scellés ensemble en AES-256-GCM (clé dérivée de la clé maîtresse de la plateforme, identifiant de l'entrée comme données associées) ; seul le nom est enregistré en clair. Un nom déjà utilisé répond 409 it_vault_name_taken ; un nom vide 422 validation_failed. Audité (it_vault.create, nom seulement). Demande platform_admin.

Route : /v1/platform-manager/vault/entries (POST).

NomTypeDéfautRequisDescription
bodydict[str, Any]ouiLe service à ajouter. Les champs inconnus sont refusés.

Retour : Any. Réponse JSON décodée de l'opération « Ajouter une entrée au coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.decommission_host​

decommission_host(host_id: str) -> Any

Retirer une machine. Retire une machine sans composants (agent arrêté, certificat révoqué) et répond 202 avec l'identifiant de l'opération. Audité (platform_manager.decommission), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/hosts/{host_id}/decommission (POST).

NomTypeDéfautRequisDescription
host_idstrouiIdentifiant de la machine dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Retirer une machine ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.delete_connection​

delete_connection(connection_id: str) -> Any

Supprimer une connexion. Oublie une connexion et répond 204 ; le Manager refuse (409 platform_manager_connection_in_use) tant qu'un service y est lié. Demande connections:manage dans le Manager. Audité, autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/connections/{connection_id} (DELETE).

NomTypeDéfautRequisDescription
connection_idstrouiIdentifiant de la connexion dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Supprimer une connexion ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.delete_vault_entry​

delete_vault_entry(entry_id: str) -> Any

Supprimer une entrée du coffre-fort. Supprime un service du coffre-fort informatique et répond 204. Une entrée pré-remplie à partir des paramètres de la plateforme revient au prochain import. Audité (it_vault.delete, nom seulement). Identifiant inconnu : 404 it_vault_entry_not_found. Demande platform_admin.

Route : /v1/platform-manager/vault/entries/{entry_id} (DELETE).

NomTypeDéfautRequisDescription
entry_idstrouiIdentifiant (UUID) de l'entrée du coffre-fort.

Retour : Any. Réponse JSON décodée de l'opération « Supprimer une entrée du coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.disconnect_service​

disconnect_service(cluster_id: str, service: str) -> Any

Déconnecter un service connecté. Oublie un service connecté (le service lui-même n'est pas touché) ; le Manager refuse tant qu'un consommateur l'utilise. Audité (platform_manager.disconnect), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/connection (DELETE).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service connecté.

Retour : Any. Réponse JSON décodée de l'opération « Déconnecter un service connecté ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.dr_exercises​

dr_exercises() -> Any

Lister les exercices de PRA. Exercices de PRA avec le RPO et le RTO observés et l'atteinte de chaque objectif (null quand non mesuré). Demande platform_admin.

Route : /v1/platform-manager/dr/exercises (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les exercices de PRA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.dr_plans​

dr_plans() -> Any

Lister les plans de PRA. Plans de PRA : mode, sites principal et secondaire, objectifs de RPO et de RTO du client (null tant qu'ils ne sont pas fixés). Demande platform_admin.

Route : /v1/platform-manager/dr/plans (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les plans de PRA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.enrollment_tokens​

enrollment_tokens(cluster_id: str) -> Any

Lister les jetons d'enrôlement. Jetons d'amorçage d'un cluster : préfixe, échéance, utilisations et révocation (le jeton lui-même n'est jamais listé). Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lister les jetons d'enrôlement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.host​

host(host_id: str) -> Any

Lire une machine. Une machine avec ses caractéristiques (système d'exploitation, ressources, version de l'agent, dernier signal de vie). Demande platform_admin.

Route : /v1/platform-manager/hosts/{host_id} (GET).

NomTypeDéfautRequisDescription
host_idstrouiIdentifiant de la machine dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lire une machine ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.import_vault​

import_vault() -> Any

Importer les services configurés dans le coffre-fort. Pré-remplit le coffre-fort avec les services avec lesquels la plateforme est configurée (PostgreSQL, Redis, Keycloak, OpenBao, OpenFGA, OPA, LiteLLM, Qdrant, NATS, Temporal, LiveKit, Opik, ClickHouse, S3, Platform Manager, compte d'installation du portail), à partir des paramètres EAI_*. Seuls les services manquants sont ajoutés : une entrée n'est jamais écrasée, une entrée supprimée revient. Répond les noms créés et ignorés. Audité (it_vault.import). Le même import s'exécute à chaque démarrage de l'API. Demande platform_admin.

Route : /v1/platform-manager/vault/import (POST).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Importer les services configurés dans le coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.install​

install(cluster_id: str, services: list[dict[str, Any]], start: bool = True, service_check: bool = True) -> Any

Installer des services du catalogue. Installe des services du catalogue sur les hôtes choisis, au nom de l'utilisateur, et répond 202 avec l'identifiant de l'opération ; le Manager contrôle services:install, les modes, méthodes, placements et la configuration, puis lance l'opération d'installation. L'audit garde services, modes, méthodes, hôtes et clés configurées, jamais les valeurs de configuration. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
serviceslist[dict[str, Any]]ouiServices à installer, de 1 à 20.
startboolTruenonDémarrer les services une fois installés (vrai par défaut).
service_checkboolTruenonLancer les contrôles de service après l'installation (vrai par défaut).

Retour : Any. Réponse JSON décodée de l'opération « Installer des services du catalogue ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.nodes​

nodes(cluster_id: str) -> Any

Lister les machines d'un cluster. Hôtes du cluster tels que le Manager les connaît (état, caractéristiques, agent). Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/nodes (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lister les machines d'un cluster ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.operations​

operations(cluster_id: str) -> Any

Lister les opérations d'un cluster. Opérations du Manager sur le cluster (installation, démarrage, arrêt, contrôles préalables, amorçage...) avec leur cible et leur statut. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/operations (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lister les opérations d'un cluster ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.plan_restore​

plan_restore(artifact_id: str, environment: str, target_versions: dict[str, str] | None = None) -> Any

Planifier une restauration. Planifie la restauration d'une sauvegarde et répond 201 avec le plan ; le plan précède toujours une exécution et demande deux approbateurs autres que le demandeur. Le Manager compare les versions cibles avec la sauvegarde. L'exécution de la restauration reste dans la console du Manager. Audité (platform_manager.restore.plan), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/backup/restores (POST).

NomTypeDéfautRequisDescription
artifact_idstrouiIdentifiant de la sauvegarde à restaurer, de 1 à 100 caractères.
environmentstrouiEnvironnement cible : isolated, staging ou production.
target_versionsdict[str, str] | NoneNonenonVersions de l'environnement cible par composant, comparées par le Manager avec la sauvegarde (même version majeure, sinon incompatible).

Retour : Any. Réponse JSON décodée de l'opération « Planifier une restauration ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.preflight_results​

preflight_results(host_id: str) -> Any

Lire les résultats des contrôles préalables. Résultats des derniers contrôles préalables d'une machine (contrôle, statut, message dans les deux langues). Demande platform_admin.

Route : /v1/platform-manager/hosts/{host_id}/preflight (GET).

NomTypeDéfautRequisDescription
host_idstrouiIdentifiant de la machine dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lire les résultats des contrôles préalables ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.refresh_facts​

refresh_facts(host_id: str) -> Any

Actualiser les caractéristiques d'une machine. Demande à l'agent de nœud de collecter à nouveau les caractéristiques de la machine (système d'exploitation, ressources...) et répond 202 avec l'identifiant de l'opération. Audité (platform_manager.facts_refresh), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/hosts/{host_id}/facts/refresh (POST).

NomTypeDéfautRequisDescription
host_idstrouiIdentifiant de la machine dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Actualiser les caractéristiques d'une machine ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.request_dr_exercise​

request_dr_exercise(plan_id: str) -> Any

Demander un exercice de PRA. Demande un exercice de PRA d'un plan de PRA et répond 201 ; le Manager applique sa règle d'approbation (dr:manage côté Manager). La conclusion de l'exercice et une bascule réelle restent dans la console du Manager. Audité (platform_manager.dr.exercise.request), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/dr/exercises (POST).

NomTypeDéfautRequisDescription
plan_idstrouiIdentifiant du plan de PRA à exercer, de 1 à 100 caractères.

Retour : Any. Réponse JSON décodée de l'opération « Demander un exercice de PRA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.request_operation​

request_operation(cluster_id: str, service: str, action: str, **options: Any) -> Any

Demander une opération sur un service. Transmet une opération (démarrage, arrêt, redémarrage, redémarrage progressif, réinstallation) avec l'identité de l'utilisateur et répond 202 avec l'identifiant de l'opération ; le Manager décide (RBAC, approbations, règles d'arrêt). Audité (platform_manager.<action>), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/operations (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.
actionstrouistart, stop, restart, rolling_restart ou reinstall.
**optionsAnynonOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : Any. Réponse JSON décodée de l'opération « Demander une opération sur un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.request_support_bundle​

request_support_bundle(cluster_id: str) -> Any

Demander un paquet de support. Demande au Manager un paquet de support assaini (cluster:manage côté Manager) et répond 202 avec l'opération à suivre et l'identifiant du paquet ; le paquet se télécharge depuis la console du Manager. Audité (platform_manager.support_bundle), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/support-bundles (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Demander un paquet de support ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.restores​

restores() -> Any

Lister les plans de restauration. Plans de restauration avec leur statut et leur nombre d'approbations (deux approbateurs autres que le demandeur). Demande platform_admin.

Route : /v1/platform-manager/backup/restores (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les plans de restauration ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.revoke_enrollment_token​

revoke_enrollment_token(cluster_id: str, token_id: str) -> Any

Révoquer un jeton d'enrôlement. Révoque un jeton d'amorçage de l'agent de nœud dans le Manager (hosts:manage côté Manager) et répond 204 ; les machines déjà enrôlées ne sont pas touchées. Audité (platform_manager.enrollment_token_revoke), autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/enrollment-tokens/{token_id} (DELETE).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
token_idstrouiIdentifiant du jeton d'enrôlement, tel que listé.

Retour : Any. Réponse JSON décodée de l'opération « Révoquer un jeton d'enrôlement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.run_preflight​

run_preflight(host_id: str) -> Any

Lancer les contrôles préalables. Lance les contrôles préalables d'une machine (opération Manager host.preflight, hosts:manage côté Manager) et répond 202 avec l'identifiant de l'opération ; lisez les résultats avec GET .../preflight. Audité, autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/hosts/{host_id}/preflight (POST).

NomTypeDéfautRequisDescription
host_idstrouiIdentifiant de la machine dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lancer les contrôles préalables ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.service​

service(cluster_id: str, service: str) -> Any

Lire la fiche d'un service. Un service avec ses champs d'état et ses nombres d'instances, son état de sécurité (TLS, nombre de secrets renseignés sur le total) et la fiche complète du Manager. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service} (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.

Retour : Any. Réponse JSON décodée de l'opération « Lire la fiche d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.service_config​

service_config(cluster_id: str, service: str) -> Any

Lire la configuration d'un service. Version de configuration courante d'un service telle que le Manager la présente (valeurs secrètes masquées), avec recommandations, groupes et hôtes en retard. Demande configs:read dans le Manager ; la modification reste dans la console du Manager. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/config (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.

Retour : Any. Réponse JSON décodée de l'opération « Lire la configuration d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.service_config_diff​

service_config_diff(cluster_id: str, service: str, from_version: int, to_version: int) -> Any

Comparer deux versions de configuration. Paramètres modifiés entre deux versions de configuration d'un service, une entrée par paramètre ; un paramètre secret indique seulement s'il est renseigné dans chaque version, jamais sa valeur. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/config/diff (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.
from_versionintouiVersion de configuration de départ de la comparaison, envoyée dans le paramètre de requête from.
to_versionintouiVersion de configuration d'arrivée de la comparaison, envoyée dans le paramètre de requête to.

Retour : Any. Réponse JSON décodée de l'opération « Comparer deux versions de configuration ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.service_config_versions​

service_config_versions(cluster_id: str, service: str) -> Any

Lister les versions de configuration. Historique des versions de configuration d'un service dans le Manager (configs:read côté Manager). Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/config/versions (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.

Retour : Any. Réponse JSON décodée de l'opération « Lister les versions de configuration ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.service_dashboard​

service_dashboard(cluster_id: str, service: str, from_: str | None = None, to: str | None = None, step: int | None = None) -> Any

Lire le tableau de bord d'un service. Tableau de bord de supervision d'un service relayé depuis le Manager (cluster:read côté Manager) : instances, santé et derniers contrôles, disponibilité, machines détectées avec leurs composants et métriques, alertes, opérations, configuration et, pour un service connecté, sa connexion. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/dashboard (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.
from_str | NoneNonenonDébut de la fenêtre, ISO 8601, 64 caractères au plus. Par défaut : il y a une heure.
tostr | NoneNonenonFin de la fenêtre, ISO 8601, 64 caractères au plus. Par défaut : maintenant.
stepint | NoneNonenonRésolution des séries de métriques en secondes, de 10 à 86400, 60 par défaut.

Retour : Any. Réponse JSON décodée de l'opération « Lire le tableau de bord d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.services​

services(cluster_id: str) -> Any

Lister les services d'un cluster. Services du cluster avec les cinq champs d'état (souhaité, observé, santé, opération, sécurité), l'état administratif et sa raison, le nombre d'instances démarrées et total, drift (l'observé diffère du souhaité), le mode de livraison et la connexion d'un service connecté. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lister les services d'un cluster ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.set_mode​

set_mode(cluster_id: str, service: str, mode: str, **options: Any) -> Any

Définir le mode d'exploitation d'un service. Mode d'exploitation d'un service (drainage, mise à zéro, suspension de sécurité, arrêt d'urgence, désactivation, quarantaine, maintenance, activation), transmis au nom de l'utilisateur ; le Manager fait respecter l'état qui en résulte et peut exiger une approbation. Audité (platform_manager.mode.<mode>) avec l'identifiant de l'opération et l'état administratif obtenu, autorisé ou refusé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/{service}/mode (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
servicestrouiNom du service.
modestrouidrain, scale_to_zero, security_suspend, emergency_stop, disable, quarantine, maintenance ou enable.
**optionsAnynonOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : Any. Réponse JSON décodée de l'opération « Définir le mode d'exploitation d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.setup​

setup() -> Any

Lire l'état de mise en route. État de mise en route, sans jamais de secret ni d'erreur si le Manager est absent. core : API, PostgreSQL, migrations, Redis (facultatif) et Keycloak (facultatif), chacun avec un état (ok, missing, down, error), le paramètre à corriger et des messages en anglais et en français. manager : adresse et référence du jeton renseignées, identifiant trouvé, Manager joignable, utilisateur délégué connu, nombre de clusters, référence de jeton suggérée et permissions nécessaires au jeton d'API du Manager (les changements demandent un redémarrage). Demande platform_admin.

Route : /v1/platform-manager/setup (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lire l'état de mise en route ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.ssh_bootstrap​

ssh_bootstrap(cluster_id: str, hosts: list[str], ssh_user: str, private_key: str, host_key_fingerprints: dict[str, str], ssh_port: int = 22, use_sudo: bool = True) -> Any

Installer l'agent de nœud par SSH. Installe l'agent de nœud sur des machines par SSH (opération Manager host.ssh_bootstrap, hosts:manage côté Manager) et répond 202 avec l'opération à suivre. La clé privée est relayée au Manager, qui la garde en mémoire pour les seules tâches d'amorçage ; le Control Plane ne l'enregistre ni ne l'audite jamais (l'audit garde hôtes, utilisateur, port, sudo et empreintes). Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/hosts/ssh-bootstrap (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
hostslist[str]ouiNoms ou adresses d'hôtes, de 1 à 200, chacun de 1 à 253 caractères (lettres, chiffres, points, tirets).
ssh_userstrouiCompte SSH, de 1 à 64 caractères, commençant par une lettre minuscule ou un souligné.
private_keystrouiClé privée SSH, de 20 à 20000 caractères. Relayée au Manager, gardée en mémoire pour le seul amorçage ; jamais enregistrée ni auditée par le Control Plane.
host_key_fingerprintsdict[str, str]ouiEmpreinte attendue de la clé d'hôte SSH (SHA256:...) de chaque hôte, hôte vers empreinte, jusqu'à 200. Chaque hôte en demande une (le Manager répond 422 sinon) ; la tâche d'amorçage de l'hôte y est liée.
ssh_portint22nonPort SSH, de 1 à 65535, 22 par défaut.
use_sudoboolTruenonExécuter l'installation avec sudo (vrai par défaut).

Retour : Any. Réponse JSON décodée de l'opération « Installer l'agent de nœud par SSH ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.summary​

summary() -> Any

Lire la synthèse de la plateforme. Décomptes réels par cluster (environnement) : services au total, sains, en avertissement, en échec ; hôtes ; alertes ; opérations. Demande platform_admin.

Route : /v1/platform-manager/summary (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lire la synthèse de la plateforme ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.support_bundles​

support_bundles(cluster_id: str) -> Any

Lister les paquets de support. Paquets de support assainis d'un cluster ; un paquet se télécharge depuis la console du Manager, jamais par le Control Plane. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/support-bundles (GET).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.

Retour : Any. Réponse JSON décodée de l'opération « Lister les paquets de support ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.test_connection​

test_connection(connection_id: str) -> Any

Tester une connexion enregistrée. Lance tout de suite le test du protocole d'une connexion enregistrée (son secret scellé reste dans le Manager). Audité. Demande platform_admin.

Route : /v1/platform-manager/connections/{connection_id}/test (POST).

NomTypeDéfautRequisDescription
connection_idstrouiIdentifiant de la connexion dans le Manager.

Retour : Any. Réponse JSON décodée de l'opération « Tester une connexion enregistrée ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.update_vault_entry​

update_vault_entry(entry_id: str, body: dict[str, Any]) -> Any

Modifier une entrée du coffre-fort. Modifie les champs fournis d'une entrée du coffre-fort et les scelle à nouveau (AES-256-GCM). Un nom utilisé par une autre entrée (sans tenir compte de la casse) répond 409 it_vault_name_taken ; un nom vide 422 validation_failed. Audité (it_vault.update, nom et noms des champs modifiés seulement). Demande platform_admin.

Route : /v1/platform-manager/vault/entries/{entry_id} (PATCH).

NomTypeDéfautRequisDescription
entry_idstrouiIdentifiant (UUID) de l'entrée du coffre-fort.
bodydict[str, Any]ouiChamps à modifier. Les champs inconnus sont refusés.

Retour : Any. Réponse JSON décodée de l'opération « Modifier une entrée du coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.validate_connect​

validate_connect(cluster_id: str, name: str, endpoint: str, credentials_ref: str | None = None, tls_verify: bool = True, config: dict[str, Any] | None = None, auth: dict[str, Any] | None = None, mtls: dict[str, Any] | None = None, ca_pem: str | None = None) -> Any

Valider la connexion d'un service. Simulation d'une connexion par le Manager : répond ok, les erreurs (service, champ, code, messages dans les deux langues) et le résultat du contrôle de santé ; rien n'est enregistré. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/connect/validate (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
namestrouiNom du service dans le catalogue : une lettre minuscule puis jusqu'à 62 lettres minuscules, chiffres, tirets ou soulignés.
endpointstrouiAdresse du service existant, de 1 à 2048 caractères.
credentials_refstr | NoneNonenonRéférence d'identifiants déjà enregistrés, 512 caractères au plus ; l'audit ne garde que sa présence.
tls_verifyboolTruenonVérifier le certificat TLS du service (vrai par défaut).
configdict[str, Any] | NoneNonenonChamps de la section de connexion du descripteur, jusqu'à 100 clés ; l'audit ne garde que les clés.
authdict[str, Any] | NoneNonenonMéthode d'authentification et ses champs.
mtlsdict[str, Any] | NoneNonenonCertificat client pour le TLS mutuel.
ca_pemstr | NoneNonenonAutorité de certification privée (PEM) qui signe le certificat du service, 65536 caractères au plus.

Retour : Any. Réponse JSON décodée de l'opération « Valider la connexion d'un service ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.validate_connection​

validate_connection(connection_type: str, params: dict[str, Any], secret: str | None = None) -> Any

Tester une connexion avant de l'enregistrer. Test réel du protocole d'une connexion avant son enregistrement : répond ok, la latence en millisecondes, la version du serveur, le code d'erreur et les messages ; rien n'est enregistré et le secret n'est jamais renvoyé. Audité sans le secret. Demande platform_admin.

Route : /v1/platform-manager/connections/validate (POST).

NomTypeDéfautRequisDescription
connection_typestrouiType de la connexion à tester, envoyé dans type : postgresql, redis ou oidc.
paramsdict[str, Any]ouiParamètres de connexion, jusqu'à 20 clés.
secretstr | NoneNonenonMot de passe ou secret client utilisé pour le test, 4096 caractères au plus ; jamais renvoyé ni audité.

Retour : Any. Réponse JSON décodée de l'opération « Tester une connexion avant de l'enregistrer ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.validate_install​

validate_install(cluster_id: str, services: list[dict[str, Any]], start: bool = True, service_check: bool = True) -> Any

Valider une installation de services. Simulation d'une installation par le planificateur du Manager : répond ok, les erreurs (service, champ, code, messages dans les deux langues) et le plan qu'il exécuterait ; rien n'est installé. Demande platform_admin.

Route : /v1/platform-manager/clusters/{cluster_id}/services/validate (POST).

NomTypeDéfautRequisDescription
cluster_idstrouiIdentifiant du cluster dans le Navin Manager.
serviceslist[dict[str, Any]]ouiServices à installer, de 1 à 20.
startboolTruenonDémarrer les services une fois installés (vrai par défaut).
service_checkboolTruenonLancer les contrôles de service après l'installation (vrai par défaut).

Retour : Any. Réponse JSON décodée de l'opération « Valider une installation de services ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.vault_entries​

vault_entries() -> Any

Lister les entrées du coffre-fort. Services du coffre-fort informatique par nom, avec URL, identifiant de connexion, source (manual ou installed:<service>) et présence d'un mot de passe et d'une clé (has_password, has_api_key), jamais leurs valeurs. Demande platform_admin.

Route : /v1/platform-manager/vault/entries (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les entrées du coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.vault_entry​

vault_entry(entry_id: str) -> Any

Lire une entrée du coffre-fort. Un service du coffre-fort sans son mot de passe ni sa clé (utilisez POST .../reveal pour les obtenir). Identifiant inconnu : 404 it_vault_entry_not_found. Demande platform_admin.

Route : /v1/platform-manager/vault/entries/{entry_id} (GET).

NomTypeDéfautRequisDescription
entry_idstrouiIdentifiant (UUID) de l'entrée du coffre-fort.

Retour : Any. Réponse JSON décodée de l'opération « Lire une entrée du coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PlatformManagerClient.vault_reveal​

vault_reveal(entry_id: str) -> Any

Révéler les secrets d'une entrée du coffre-fort. Mot de passe et clé d'un service en clair (affichage et copie dans la console). Chaque révélation est auditée (it_vault.reveal) avec le nom du service, jamais les valeurs. Identifiant inconnu : 404 it_vault_entry_not_found. Demande platform_admin.

Route : /v1/platform-manager/vault/entries/{entry_id}/reveal (POST).

NomTypeDéfautRequisDescription
entry_idstrouiIdentifiant (UUID) de l'entrée du coffre-fort.

Retour : Any. Réponse JSON décodée de l'opération « Révéler les secrets d'une entrée du coffre-fort ».

Erreurs levées : les erreurs typées du transport (Erreurs).