resources/platform.ts
Source : sdks/typescript/packages/sdk/src/resources/platform.ts. Retour à l'index de la référence du SDK TypeScript.
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.
Alias de type StorageProvider
Fournisseur de stockage objet : aws_s3, azure_blob, gcs, ibm_cos, s3_compatible ou seaweedfs.
Définition : "aws_s3" \| "azure_blob" \| "gcs" \| "ibm_cos" \| "s3_compatible" \| "seaweedfs".
Interface StorageProfileFields
Champs modifiables d'un profil de stockage (contrat storage-profile) ; les identifiants ne sont que des références.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
auth | Doc | non | Réglages d'authentification, avec des références à la place des valeurs secrètes. |
credential_ref | string | non | Référence de l'identifiant dans le magasin de secrets ; l'identifiant lui-même n'est jamais envoyé. |
description | string | non | Description du profil. |
encryption | Doc | non | Réglages de chiffrement des objets stockés. |
endpoint | string | non | Adresse du service de stockage. |
key_prefix | string | non | Préfixe ajouté à chaque clé d'objet du profil. |
options | Doc | non | Options propres au fournisseur. |
presign_prefixes | string[] | non | Préfixes sous lesquels les URL présignées et les listes sont autorisées. |
purposes | string[] | non | Usages servis par le profil. |
region | string | non | Région du bucket. |
required_capabilities | string[] | non | Capacités que la vérification doit trouver sur le bucket. |
Interface StorageProfileCreate
Corps de StorageProfilesResource.create : nom, fournisseur, bucket, portée et champs du profil.
StorageProfileFields
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom du profil. |
provider | StorageProvider | oui | Fournisseur de stockage objet du profil. |
bucket | string | oui | Compartiment ou conteneur ; pour filesystem, le répertoire racine. |
scope | "platform" | "tenant" | non | Ce qui est sauvegardé (clusters, services, jeux de données), sous forme d'objet. |
Interface StorageProfileUpdate
Corps de StorageProfilesResource.update : champs du profil, bucket et statut.
StorageProfileFields
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
bucket | string | non | Compartiment ou conteneur ; pour filesystem, le répertoire racine. |
status | "active" | "disabled" | non | active ou disabled. |
Classe StorageProfilesResource
Stockage. Profils de stockage : les buckets et conteneurs du client dans lesquels la plateforme écrit (exports d'audit, preuves, documents, médias, exports, sauvegardes), avec leur référence d'identifiants et leurs capacités découvertes par de vrais appels.
Resource
StorageProfilesResource.checks
checks(profileId: string, query: { limit?: number } = {}, opts?: CallOptions)
Lister les vérifications d'un profil. Historique des vérifications de capacités du profil, de la plus récente à la plus ancienne : statut, capacités trouvées, capacités manquantes, sonde d'écriture lancée ou non, erreur, durée en millisecondes et auteur. Une seule page (next_cursor vaut toujours null). Mêmes lecteurs que la liste.
Route : /v1/storage/profiles/{profile_id}/checks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
query | { limit?: number } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.create
create(body: StorageProfileCreate, opts?: CallOptions)
Créer un profil de stockage. Crée un profil au statut unverified et répond 201. Demande tenant_admin pour la portée tenant (dans un tenant) ou platform_admin pour la portée platform (403 storage_scope_forbidden), et la décision de politique storage.profile.create. Audité (storage.profile.create).
Route : /v1/storage/profiles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | StorageProfileCreate | oui | Le nouveau profil de stockage. Les champs inconnus sont refusés. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.delete
delete(profileId: string, opts?: CallOptions)
Supprimer un profil de stockage. Supprime le profil (le bucket et ses objets ne sont pas touchés) et répond 204. Demande tenant_admin pour un profil de tenant, platform_admin pour un profil de plateforme (403 storage_scope_forbidden), et la décision de politique storage.profile.delete. L'événement d'audit storage.profile.delete enregistre le fournisseur, le bucket et le nombre d'exports d'audit qui l'utilisaient. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.deleteObject
async deleteObject(profileId: string, key: string, body: StorageObjectDelete = {}, opts?: CallOptions): Promise<StorageObjectDeleted>
Supprimer un objet d'un profil. Supprime un objet (ou une de ses versions) à l'intérieur des préfixes de présignature du profil. Un profil qui sert audit_worm ou evidence ne supprime jamais par l'API (409 storage_object_protected) ; un refus de rétention du stockage est renvoyé tel quel. Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.object.delete ; audité avec la clé complète et la version. Autres erreurs : 403 storage_key_out_of_scope, 422 storage_key_invalid, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects/delete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
key | string | oui | Clé de l'objet relative au préfixe de clé du profil, de 1 à 1024 caractères, dans un préfixe de présignature ; aucun caractère de contrôle, pas de / initial, aucun segment . ou ... | |
body | StorageObjectDelete | {} | non | Clé, et éventuellement version, de l'objet à supprimer. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : Promise<StorageObjectDeleted>. Réponse JSON décodée de l'opération « Supprimer un objet d'un profil ».
Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).
StorageProfilesResource.get
get(profileId: string, opts?: CallOptions)
Lire un profil de stockage. Un profil de stockage avec son statut, ses capacités découvertes, sa date de vérification, ses capacités manquantes et nécessaires et sa dernière erreur. Jamais une valeur secrète. Mêmes lecteurs que la liste. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.getObject
async getObject(profileId: string, key: string, body: { purpose?: string } = {}, opts?: CallOptions)
Lit un objet : présignature {scope: read} (politique vérifiée, auditée), puis GET de l'URL présignée.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant du profil de stockage. | |
key | string | oui | Clé de l'objet, relative au key_prefix du profil. | |
body | { purpose?: string } | {} | non | Corps de la requête, sérialisé en JSON. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
StorageProfilesResource.list
list(params?: ListParams & { provider?: string; purpose?: string; scope?: "platform" | "tenant" }, opts?: CallOptions)
Lister les profils de stockage. Profils de stockage visibles par l'appelant, triés par portée puis par nom, chacun avec ses needed_capabilities (capacités exigées plus celles que demandent ses usages). Une seule page : next_cursor vaut toujours null. Demande platform_admin, ou un principal de tenant avec tenant_admin, security_officer, developer ou auditor.
Route : /v1/storage/profiles (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams & { provider?: string; purpose?: string; scope?: "platform" | "tenant" } | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.listObjects
listObjects(profileId: string, query: StorageObjectQuery = {}, opts?: CallOptions)
Lister les objets d'un profil. Objets rangés sous un préfixe à l'intérieur des préfixes de présignature du profil : clé relative au préfixe de clé du profil (utilisable pour la présignature et la suppression), clé stockée, taille, ETag, type de contenu, SHA-256, version, dernière modification et classe de stockage. Demande tenant_admin, developer, agent ou auditor (profil de plateforme : platform_admin) et la décision de politique storage.object.list ; la liste est auditée. Erreurs : 422 storage_prefix_required si prefix est omis et que le profil n'a pas exactement un préfixe de présignature, 403 storage_key_out_of_scope hors des préfixes de présignature, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
query | StorageObjectQuery | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.presign
presign(profileId: string, body: { key: string; scope: "read" | "write"; content_type?: string; expires_seconds?: number; purpose?: string }, opts?: CallOptions)
Émettre une URL présignée. Émet une URL présignée pour lire (GET) ou écrire (PUT) un objet directement dans le bucket, et répond 201 avec l'identifiant de l'autorisation, l'URL, la méthode, la clé complète, la durée de vie et l'échéance. La clé doit se trouver dans les préfixes de présignature (403 storage_key_out_of_scope) et le profil doit avoir une capacité presign vérifiée et récente (409 storage_capability_missing). La durée de vie ne peut dépasser EAI_STORAGE_PRESIGN_MAX_SECONDS (3600 par défaut, jamais plus de 604800 ; 422 storage_presign_expiry_invalid). Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.presign.read ou storage.presign.write. L'autorisation est enregistrée avec un SHA-256 de l'URL (jamais l'URL elle-même) et auditée.
Route : /v1/storage/profiles/{profile_id}/presign (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
body | { key: string; scope: "read" | "write"; content_type?: string; expires_seconds?: number; purpose?: string } | oui | Objet, sens et durée de vie de l'URL présignée. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.putObject
async putObject(profileId: string, key: string, data: Uint8Array | string, body: { content_type?: string; purpose?: string; headers?: Record<string, string> } = {}, opts?: CallOptions)
Écrit un objet : présignature {scope: write} (politique vérifiée, auditée), puis PUT vers l'URL présignée.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant du profil de stockage. | |
key | string | oui | Clé de l'objet, relative au key_prefix du profil. | |
data | Uint8Array | string | oui | Contenu de l'objet, octets ou texte. | |
body | { content_type?: string; purpose?: string; headers?: Record<string, string> } | {} | non | Corps de la requête, sérialisé en JSON. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
StorageProfilesResource.update
update(profileId: string, body: StorageProfileUpdate, opts?: CallOptions)
Modifier un profil de stockage. Modifie les champs fournis ; le profil fusionné est validé comme un nouveau. Un changement de fournisseur, de point d'accès, de région, de bucket, de auth, de credential_ref, de encryption ou d'options efface les capacités et remet le statut à unverified ; status: disabled désactive le profil, status: active sur un profil désactivé le rend unverified. Ajouter l'usage audit_worm sans un tel changement demande une capacité de verrouillage d'objet vérifiée (409 storage_capability_missing). Demande tenant_admin (profil de plateforme : platform_admin) et la décision de politique storage.profile.update ; audité avec les champs modifiés.
Route : /v1/storage/profiles/{profile_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
body | StorageProfileUpdate | oui | Champs à modifier ; les champs omis gardent leur valeur. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
StorageProfilesResource.verify
verify(profileId: string, body: { probe_write?: boolean } = {}, opts?: CallOptions)
Vérifier les capacités d'un profil. Découvre les capacités du bucket par de vrais appels et les enregistre. Demande tenant_admin ou security_officer (profil de plateforme : platform_admin) et la décision de politique storage.profile.verify. Un profil désactivé répond 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
profileId | string | oui | Identifiant (UUID) du profil de stockage. | |
body | { probe_write?: boolean } | {} | non | Options de vérification ; le corps peut être omis. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Interface StorageObjectQuery
Requête de GET /v1/storage/profiles/{profile_id}/objects, chaque membre étant facultatif.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
prefix | string | non | À l'intérieur des presign_prefixes du profil ; facultatif quand le profil n'en a qu'un. |
limit | number | non | Nombre maximal d'éléments dans une page. Le serveur plafonne la valeur ; lisez la page suivante avec cursor. |
cursor | string | non | Curseur opaque renvoyé dans next_cursor par la page précédente. Omettez-le pour lire la première page. |
Interface StorageObject
Un objet de StorageProfilesResource.listObjects : clé, taille, etag, empreinte, version et classe de stockage.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
key | string | oui | Clé relative au key_prefix du profil, utilisable avec presign et deleteObject. |
object_key | string | oui | Clé stockée dans le bucket. |
size | number | oui | Taille de l'objet en octets. |
etag | string | null | oui | ETag de l'objet, ou null. |
content_type | string | null | oui | Type de contenu transmis au stockage lors de la signature de l'URL (le type que l'envoi doit transmettre) ; 200 caractères au plus. |
sha256 | string | null | oui | Empreinte SHA-256 de l'objet si elle est connue, ou null. |
version_id | string | null | oui | Version de l'objet à supprimer sur un bucket versionné, de 1 à 1024 caractères. Omettez-la pour supprimer la version courante. |
last_modified | string | null | oui | Date de la dernière modification, ou null. |
storage_class | string | null | oui | Classe de stockage de l'objet, ou null. |
Interface StorageObjectList
Une page de StorageProfilesResource.listObjects.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
items | StorageObject[] | oui | Objets de la page. |
next_cursor | string | null | oui | Curseur de la page suivante, null sur la dernière page. |
prefix | string | oui | Préfixe listé. |
Interface StorageObjectDelete
Options de POST /v1/storage/profiles/{profile_id}/objects/delete en plus de la clé.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
version_id | string | non | Version de l'objet à supprimer sur un bucket versionné, de 1 à 1024 caractères. Omettez-la pour supprimer la version courante. |
Interface StorageObjectDeleted
Réponse de deleteObject : deleted à true, la clé et l'identifiant de version.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
deleted | true | oui | Toujours true ; une autre réponse fait lever storage_delete_unconfirmed par deleteObject. |
key | string | oui | Clé de l'objet supprimé, relative au préfixe de clé du profil. |
version_id | string | null | oui | Version de l'objet à supprimer sur un bucket versionné, de 1 à 1024 caractères. Omettez-la pour supprimer la version courante. |
Alias de type MarketplaceEnvironment
Environnement d'une installation du marketplace : dev, test, staging ou prod.
Définition : "dev" \| "test" \| "staging" \| "prod".
Interface MarketplaceInstall
Corps de MarketplaceResource.install et preflight : paquet, version, environnement, permissions, configuration et références de secrets.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
package | string | oui | Nom du paquet. |
version | string | oui | Version du paquet à installer. |
environment | MarketplaceEnvironment | oui | Environnement d'installation. |
approved_permissions | string[] | non | Permissions du paquet approuvées pour cette installation. |
config | Doc | non | Configuration de l'installation. |
secret_refs | Doc | non | Références (noms) de secrets conservés dans le magasin de secrets. Les valeurs ne sont jamais envoyées ni renvoyées. |
Interface MarketplacePublish
Corps de MarketplaceResource.publish : l'archive du paquet avec sa signature, son SBOM et ses rapports de test, d'évaluation et de vulnérabilités.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
archive | string | oui | Le pack .tar.gz, encodé en base64 (12 Mio de texte au plus). |
evaluation_report | Doc | non | Rapport d'évaluation lié à l'empreinte de l'archive. |
oci | Doc | non | Artefact OCI du pack ; son empreinte est exigée plus tard par le contrôle de mise en production. |
sbom | Doc | non | Nomenclature logicielle (SBOM) du pack. |
signature | string | non | Signature de l'empreinte de l'archive par un éditeur de confiance. |
skill_signatures | Doc | non | Signatures des skills du pack, par nom de skill. |
test_report | Doc | non | Rapport de tests lié à l'empreinte de l'archive. |
vulnerability_scan | Doc | non | Rapport d'analyse de vulnérabilités lié à l'empreinte de l'archive. |
Classe MarketplaceResource
Marketplace. Catalogue de packs signés (ensembles d'agents, sous-agents, skills, outils, connecteurs, serveurs MCP et ressources), leurs contrôles de publication, le contrôle de mise en production, les éditeurs de confiance, les installations par environnement et le circuit de gestion des changements.
Resource
MarketplaceResource.advanceChange
advanceChange(id: string, body: { evidence?: Record<string, unknown>; approval_id?: string } = {}, opts?: CallOptions)
Faire avancer un changement. Fait passer le changement à l'étape suivante. Demande tenant_admin, developer ou security_officer. Contrôles par étape visée : 1. test : seul l'auteur (ou tenant_admin) quitte draft (403 change_not_author). 2. security_review : evidence.tests doit réussir (passed > 0, aucun failed, aucune errors), sinon 422 change_evidence_missing. 3. business_approval : approbation change.security_review par un security_officer. 4. staging : approbation change.business_approval par un tenant_admin. 5. production : staging_smoke réussi, puis approbation change.production avec un quorum de deux. 6. monitoring : production_smoke réussi. Sans approval_id, une étape soumise à approbation répond 202 avec l'approbation à obtenir ; rappelez avec l'identifiant approuvé pour obtenir 200. L'auteur n'approuve jamais. Un changement clos répond 409 change_closed.
Route : /v1/marketplace/changes/{change_id}/advance (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la demande de changement. | |
body | { evidence?: Record<string, unknown>; approval_id?: string } | {} | non | Preuves à ajouter et demande approuvée, quand l'étape en exige une. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.apply
apply(id: string, opts?: CallOptions)
Appliquer une installation approuvée. Exécute l'installation ou la mise à niveau en attente une fois son approbation accordée : la politique et le preflight sont revérifiés, les objets du pack sont créés dans un point de sauvegarde, les objets de l'ancienne version qui n'en font plus partie sont retirés et un smoke test s'exécute. Un smoke test en échec annule tout et répond 422 smoke_failed. Demande tenant_admin. 409 installation_state quand rien n'est en attente. Audité sous marketplace.install ou marketplace.upgrade.
Route : /v1/marketplace/installations/{installation_id}/apply (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.authorize
authorize(id: string, body: { permission: string }, opts?: CallOptions)
Vérifier une permission à l'exécution. Contrôle de permission à l'exécution utilisé par les serveurs MCP et les connecteurs du pack : permis seulement si l'installation est installed, que la permission a été accordée, n'est pas suspendue et n'est pas un export externe refusé par les réglages de protection des données. Sinon 403 avec permission_not_granted, permission_suspended, installation_suspended ou external_export_denied, enregistré comme événement authorize_denied. Demande tenant_admin, developer, agent ou service.
Route : /v1/marketplace/installations/{installation_id}/authorize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
body | { permission: string } | oui | Scope de permission à vérifier. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.createChange
createChange(body: { kind: string; ref: string; version: string; title?: string }, opts?: CallOptions)
Ouvrir une demande de changement. Ouvre un changement d'un prompt, skill, connecteur, règle, modèle, politique, outil, agent ou pack à l'étape draft. Demande tenant_admin ou developer ; la politique change.create est évaluée. Audité sous change.create.
Route : /v1/marketplace/changes (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { kind: string; ref: string; version: string; title?: string } | oui | Type, nom d'objet, version et titre du changement. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.createPublisher
createPublisher(body: { name: string; public_key: string }, opts?: CallOptions)
Ajouter une clé d'éditeur de confiance. Enregistre une clé publique de signature pour le tenant ; les signatures des packs sont vérifiées avec les clés actives. Demande tenant_admin ou security_officer. Une clé illisible répond 422 publisher_invalid_key. Audité sous marketplace.publisher.add.
Route : /v1/marketplace/publishers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { name: string; public_key: string } | oui | Nom de l'éditeur et clé publique. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.getChange
getChange(id: string, opts?: CallOptions)
Lire une demande de changement. Renvoie le changement avec son étape, ses preuves, son approbation en attente et son history (une entrée par transition avec acteur et date). 404 change_not_found.
Route : /v1/marketplace/changes/{change_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la demande de changement. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.getInstallation
getInstallation(id: string, opts?: CallOptions)
Lire une installation. Renvoie l'installation : statut, paquet et version, permissions accordées et suspendues, configuration, derniers résultats de preflight et de smoke test, objets et ressources créés. 404 installation_not_found.
Route : /v1/marketplace/installations/{installation_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.getPackage
getPackage(name: string, opts?: CallOptions)
Lire un paquet et ses versions. Renvoie le paquet et toutes ses versions, de la plus ancienne à la plus récente, avec résultats des contrôles et résumé des vulnérabilités. 404 marketplace_package_not_found.
Route : /v1/marketplace/packages/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du paquet. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.getVersion
getVersion(name: string, version: string, opts?: CallOptions)
Lire une version de paquet. Renvoie une version : manifeste, empreinte, empreintes des fichiers, signature et son statut, licence, référence OCI, résultats des contrôles, statut de provenance et approbation de production. L'archive et le SBOM ne sont pas inclus. 404 marketplace_version_not_found.
Route : /v1/marketplace/packages/{name}/versions/{version} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.install
install(body: MarketplaceInstall, opts?: CallOptions)
Demander l'installation d'un pack. Ouvre une demande d'installation et répond 202 avec l'installation, l'approval_id, le quorum et le rapport de preflight. Demande tenant_admin. Étapes : 1. Le preflight s'exécute (voir POST /v1/marketplace/preflight) ; un échec répond 403 permission_unsafe, 422 config_invalid, 422 permission_not_requested, 409 package_suspended ou 422 preflight_failed. 2. Une approbation marketplace.install est ouverte pour tenant_admin ou security_officer : quorum 1 par défaut, au moins 2 quand une permission sensible est accordée ou que l'environnement est prod. 3. Une fois approuvée, appelez POST .../installations/{id}/apply. 409 installation_exists quand le paquet est déjà installé ou suspendu dans cet environnement.
Route : /v1/marketplace/installations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | MarketplaceInstall | oui | Paquet, version, environnement, permissions accordées, configuration et références de secrets. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.installationEvents
installationEvents(id: string, opts?: CallOptions)
Lister les événements d'une installation. Historique du cycle de vie de l'installation, du plus ancien au plus récent : demandes, installations, mises à niveau, retours arrière, smoke tests en échec, suspensions, reprises, autorisations refusées, avec versions, résultat et acteur. Une seule page.
Route : /v1/marketplace/installations/{installation_id}/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.listChanges
listChanges(query: { kind?: string; ref?: string; stage?: string } = {}, opts?: CallOptions)
Lister les demandes de changement. Demandes de changement du tenant, de la plus récente à la plus ancienne, 200 au plus, filtrables par type, référence et étape. Tout principal du tenant peut l'appeler.
Route : /v1/marketplace/changes (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { kind?: string; ref?: string; stage?: string } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.listInstallations
listInstallations(query: { environment?: MarketplaceEnvironment } = {}, opts?: CallOptions)
Lister les installations. Installations du tenant, de la plus ancienne à la plus récente, chacune avec paquet, version et ressources créées. Une seule page.
Route : /v1/marketplace/installations (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { environment?: MarketplaceEnvironment } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.listPackages
listPackages(query: { domain?: string } = {}, opts?: CallOptions)
Lister les paquets. Paquets du catalogue dans l'ordre des noms, avec statut, dernière version, éditeur et catégorie. Une seule page.
Route : /v1/marketplace/packages (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { domain?: string } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.listPublishers
listPublishers(opts?: CallOptions)
Lister les éditeurs. Clés de signature de confiance, par nom : algorithme, statut (active ou revoked) et scope (platform pour une clé commune à tous les tenants, tenant pour une clé de ce tenant). Les clés publiques ne sont pas renvoyées.
Route : /v1/marketplace/publishers (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.preflight
preflight(body: MarketplaceInstall, opts?: CallOptions)
Simuler les contrôles d'installation. Simulation des contrôles d'installation, rien n'est installé : paquet actif, environnement, configuration selon le configSchema du pack, version disponible (et en production pour prod), compatibilité de plateforme, dépendances installées, empreinte de l'archive, signature, permissions demandées et sûres, références de secrets des connecteurs, modèle approuvé, absence de conflit de noms. Renvoie passed, chaque vérification, les permissions accordées, non accordées et sensibles, les approbations requises et la protection des données appliquée. Demande tenant_admin ou security_officer. Audité sous marketplace.preflight.
Route : /v1/marketplace/preflight (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | MarketplaceInstall | oui | Même corps qu'une demande d'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.promoteToProduction
promoteToProduction(name: string, version: string, body: { approval_id?: string } = {}, opts?: CallOptions)
Promouvoir une version en production. Contrôle de mise en production, requis pour installer une version en prod. Demande tenant_admin ou security_officer. Étapes : 1. Sans approval_id : tous les contrôles enregistrés doivent avoir réussi, la signature doit toujours être valide et une empreinte d'artefact OCI doit être jointe (sinon 422 publication_gate_failed) ; ensuite une approbation marketplace.promote est ouverte avec un quorum d'au moins deux et la réponse est 202 avec les vérifications. 2. Avec l'approval_id approuvé : la version passe à production (200). Une version déjà en production répond 200 aussitôt ; 409 package_suspended tant que le kill switch est actif.
Route : /v1/marketplace/packages/{name}/versions/{version}/production (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
body | { approval_id?: string } | {} | non | Demande approuvée, au second appel. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.publish
publish(body: MarketplacePublish, opts?: CallOptions)
Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.
Route : /v1/marketplace/packages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | MarketplacePublish | oui | L'archive du pack et ses preuves de chaîne d'approvisionnement. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.rejectChange
rejectChange(id: string, body: { reason: string }, opts?: CallOptions)
Rejeter une demande de changement. Clôt le changement à l'étape rejected depuis n'importe quelle étape ouverte, la raison étant gardée dans history. Demande tenant_admin ou security_officer. 409 change_closed s'il est déjà clos. Audité sous change.reject.
Route : /v1/marketplace/changes/{change_id}/reject (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la demande de changement. | |
body | { reason: string } | oui | Raison du rejet. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.revokePublisher
revokePublisher(name: string, opts?: CallOptions)
Révoquer un éditeur. Révoque toutes les clés du tenant enregistrées sous ce nom ; les signatures faites avec elles ne sont plus valides. Demande tenant_admin ou security_officer. 404 publisher_not_found. Les clés de plateforme ne peuvent pas être révoquées ici. Audité sous marketplace.publisher.revoke.
Route : /v1/marketplace/publishers/{name}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom de l'éditeur. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.rollback
rollback(id: string, opts?: CallOptions)
Revenir à la version précédente. Réinstalle la version précédente avec ses permissions précédentes, dans un point de sauvegarde avec smoke test (422 smoke_failed garde la version courante). Demande tenant_admin. 409 installation_state sauf si installed ; 409 rollback_unavailable quand il n'y a pas de version précédente. Audité sous marketplace.rollback.
Route : /v1/marketplace/installations/{installation_id}/rollback (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.sbom
sbom(name: string, version: string, opts?: CallOptions)
Lire le SBOM d'une version. Renvoie la nomenclature logicielle (SBOM) enregistrée à la publication, son empreinte et le rapport d'analyse de vulnérabilités.
Route : /v1/marketplace/packages/{name}/versions/{version}/sbom (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.setInstallationStatus
setInstallationStatus(id: string, body: { status: "suspended" | "installed"; reason?: string; permissions?: string[]; approval_id?: string }, opts?: CallOptions)
Suspendre ou reprendre une installation. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Sans permissions, toute l'installation est suspendue (outils bloqués, agents suspendus, serveurs MCP désactivés, ressources suspendues) ; avec permissions, seulement ces capacités accordées (422 permission_not_granted pour les autres). Répond 200. - status: installed : reprise. Sans approval_id, ouvre une approbation marketplace.resume avec un quorum de deux et répond 202 ; avec l'identifiant approuvé, lève la suspension et répond 200. Refusé avec 409 package_suspended tant que le kill switch du paquet est actif. 409 installation_state pour un état qui ne permet pas le changement.
Route : /v1/marketplace/installations/{installation_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
body | { status: "suspended" | "installed"; reason?: string; permissions?: string[]; approval_id?: string } | oui | Statut visé, raison, capacités à suspendre et approbation pour une reprise. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.setPackageStatus
setPackageStatus(name: string, body: { status: "suspended" | "active"; reason?: string; approval_id?: string }, opts?: CallOptions)
Actionner le kill switch d'un paquet. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Toutes les installations actives du paquet sont suspendues ; installations, mises à niveau, publications et promotions sont refusées. Répond 200 avec suspended_installations. - status: active : lève le kill switch. Sans approval_id, ouvre une approbation marketplace.package.resume avec un quorum de deux (202) ; avec l'identifiant approuvé, le paquet et les installations qu'il avait suspendues reprennent (200 avec resumed_installations). 409 installation_state pour lever un paquet qui n'est pas suspendu.
Route : /v1/marketplace/packages/{name}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du paquet. | |
body | { status: "suspended" | "active"; reason?: string; approval_id?: string } | oui | Statut visé, raison et approbation pour une levée. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.supervision
supervision(id: string, opts?: CallOptions)
Superviser un pack installé. Activité, qualité, coûts et incidents d'un pack installé, agrégés à partir des objets qu'il a créés : invocations d'outils et runs par état, autorisations refusées, résultats d'évaluation, dernier smoke test, taux de réussite des runs, coûts des runs par devise, et incidents citant ses objets (les 50 plus récents).
Route : /v1/marketplace/installations/{installation_id}/supervision (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.uninstall
uninstall(id: string, opts?: CallOptions)
Désinstaller un pack. Retire tous les objets et ressources créés par l'installation et la passe à uninstalled (permissions, suspensions et version précédente effacées). Permis depuis installed, failed, pending_approval ou suspended (sinon 409 installation_state). Demande tenant_admin ; la politique marketplace.uninstall est évaluée. La réponse liste removed. Audité sous marketplace.uninstall.
Route : /v1/marketplace/installations/{installation_id}/uninstall (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MarketplaceResource.upgrade
upgrade(id: string, body: { version: string; approved_permissions?: string[]; config?: Doc; secret_refs?: Doc }, opts?: CallOptions)
Demander la mise à niveau d'une installation. Ouvre une demande de mise à niveau vers une version supérieure (202 avec approbation, quorum et preflight), puis appliquez-la avec POST .../apply une fois approuvée. L'installation doit être installed et la version strictement supérieure (sinon 409 installation_state). La configuration et les références de secrets reprennent par défaut les actuelles. Demande tenant_admin. Les échecs de preflight répondent comme pour une demande d'installation.
Route : /v1/marketplace/installations/{installation_id}/upgrade (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'installation. | |
body | { version: string; approved_permissions?: string[]; config?: Doc; secret_refs?: Doc } | oui | Version visée, permissions accordées, configuration et références de secrets. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Alias de type AUDIT_PATH_PREFIX
Préfixe des routes de l'Audit Gateway (client.audit) : chaque lecture sous ce préfixe et sous /v1/evidence écrit une ligne de journal d'accès et son propre événement d'audit.
Classe EvidenceResource
Preuves. Couche de preuve du journal d'audit : sceaux signés, paquets vérifiables hors ligne, moniteur d'intégrité, Audit Gateway, charges utiles chiffrées, accès audités, gels juridiques et preuves de purge, et configuration d'exécution des exécutions d'agents.
Resource
EvidenceResource.accessLog
accessLog(query: { limit?: number } = {}, opts?: CallOptions)
Lire le journal d'accès à l'audit. Renvoie les derniers accès au journal d'audit, les plus récents d'abord : acteur, rôles, type (read, search, verify, export, payload_decrypt, seal_read), requête, nombre de résultats, raison et événement d'audit écrit. Exige auditor ou security_officer. La lecture du journal est elle-même enregistrée.
Route : /v1/evidence/access-log (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { limit?: number } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.alerts
alerts(query: { status?: "open" | "acknowledged" } = {}, opts?: CallOptions)
Lister les alertes d'intégrité. Liste les alertes d'intégrité du tenant ouvertes par le moniteur : chain_broken, sequence_gap, seal_invalid, outbox_missing ou clock_skew, rafraîchies tant que le problème persiste. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/alerts (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { status?: "open" | "acknowledged" } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.bundle
bundle(opts?: CallOptions)
Exporter un paquet de preuves hors ligne. Renvoie bundle (événements, sceaux et clés publiques du tenant) et manifest (format, nombres, SHA-256 du paquet canonique, alg: Ed25519, identifiant de clé, clé publique et signature par la clé de scellement). Un auditeur externe le vérifie hors ligne avec python -m eai.domains.evidence.verify. Exige auditor ou security_officer. Répond 503 audit_seal_key_unavailable sans clé de signature. L'export est inscrit dans le journal d'accès.
Route : /v1/evidence/bundle (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.createHold
createHold(body: { case_id: string; reason: string; time_from?: string; time_to?: string }, opts?: CallOptions)
Poser un gel juridique de preuves. Pose un gel juridique sur les charges utiles du tenant pour un dossier et une période facultative de date d'événement : tant qu'il est actif, la purge des charges utiles et les effacements ignorent les événements qu'il couvre. time_to doit suivre time_from (400 invalid_request). Exige auditor, security_officer ou tenant_admin. Écrit l'événement d'audit audit.legal_hold.create. Répond 201 avec le gel.
Route : /v1/evidence/holds (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { case_id: string; reason: string; time_from?: string; time_to?: string } | oui | Dossier, raison et période facultative du gel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.createSeal
createSeal(opts?: CallOptions)
Sceller la chaîne d'audit maintenant. Écrit un sceau sur les événements écrits depuis le sceau précédent (jusqu'au maximum par sceau de la plateforme) et le renvoie (201). Exige security_officer ou auditor. Répond 409 audit_nothing_to_seal quand aucun événement n'attend, 503 audit_seal_key_unavailable sans clé de signature.
Route : /v1/evidence/seals (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.decryptPayload
decryptPayload(eventId: string, body: { reason: string }, opts?: CallOptions)
Déchiffrer la charge utile d'un événement d'audit. Renvoie dans payload les champs sensibles déchiffrés d'un événement, avec access_event_id, l'événement d'audit qui enregistre cet accès. Uniquement auditor ou security_officer détenus explicitement : platform_admin ne suffit pas (403 forbidden). Une reason est obligatoire. Erreurs : 404 not_found (pas de charge utile), 410 audit_payload_purged (expirée ou effacée), 409 audit_payload_tampered (empreinte du chiffré différente), 503 audit_payload_key_unavailable.
Route : /v1/evidence/events/{event_id}/payload (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
eventId | string | oui | Identifiant (UUID) de l'événement d'audit. | |
body | { reason: string } | oui | Raison du déchiffrement, inscrite dans le journal d'accès. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.gateway
gateway(opts?: CallOptions)
Lire l'état de l'Audit Gateway. Renvoie l'état de livraison des événements d'audit du tenant vers le SIEM : targets configurées, nombres pending et delivered, max_attempts d'un événement en attente et oldest_pending. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/gateway (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.listHolds
listHolds(opts?: CallOptions)
Lister les gels juridiques de preuves. Liste les gels juridiques du tenant avec leur dossier, leur période, leur raison, leur statut et leurs approbations de levée. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/holds (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.listSeals
listSeals(opts?: CallOptions)
Lister les sceaux d'audit. Liste les sceaux de la chaîne du tenant : numéro, plage de séquences, racine de Merkle, premières et dernières empreintes, empreinte du sceau précédent, identifiant de clé, signature et date. Exige auditor, security_officer ou tenant_admin. La lecture est inscrite dans le journal d'accès.
Route : /v1/evidence/seals (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.recordComponents
recordComponents(runId: string, body: { components: Doc[]; step_seq?: number }, opts?: CallOptions)
Enregistrer les composants d'une exécution. Enregistre, en ajout seul, les versions des composants utilisés par une exécution d'agent, ou par l'une de ses étapes avec step_seq (appel d'outil, appel de modèle). Chaque déclaration est auditée avec le champ versions de l'événement d'audit. Exige tenant_admin, agent_operator ou developer. Répond 201 avec les éléments enregistrés, ou 404 not_found pour une exécution inconnue.
Route : /v1/evidence/runs/{run_id}/components (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
runId | string | oui | Identifiant (UUID) de l'exécution d'agent. | |
body | { components: Doc[]; step_seq?: number } | oui | Étape facultative et 1 à 100 composants. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.releaseHold
releaseHold(id: string, body: { reason: string }, opts?: CallOptions)
Approuver la levée d'un gel juridique. Enregistre une approbation de levée avec sa raison. Le gel est levé à la seconde approbation par un approbateur distinct ; la même personne deux fois répond 409 audit_hold_same_approver, un gel qui n'est plus actif 409 audit_hold_not_active, un gel inconnu 404. Exige auditor, security_officer ou tenant_admin. Écrit audit.legal_hold.release_approve, puis audit.legal_hold.release.
Route : /v1/evidence/holds/{hold_id}/release (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du gel juridique. | |
body | { reason: string } | oui | Raison de l'approbation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.retentionEvidence
retentionEvidence(opts?: CallOptions)
Lister les preuves de purge. Liste les preuves de purge du tenant : type, date limite, nombres purgés et gelés, séquences purgées et racine de Merkle des empreintes des chiffrés purgés, jamais les contenus. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/retention/evidence (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.runConfiguration
runConfiguration(runId: string, opts?: CallOptions)
Lire la configuration d'exécution d'une exécution. Reconstitue la configuration d'exécution d'une exécution d'agent : version de l'agent et empreinte du manifeste, composants déclarés par type (modèle, prompt, outil, compétence, plugin) avec leurs versions et empreintes, et décisions de politique enregistrées pour l'exécution. Exige auditor, security_officer ou tenant_admin, agent_operator ou developer. La lecture est inscrite dans le journal d'accès. Répond 404 not_found pour une exécution inconnue.
Route : /v1/evidence/runs/{run_id}/configuration (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
runId | string | oui | Identifiant (UUID) de l'exécution d'agent. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.runRetention
runRetention(body: { kind?: "retention" | "erasure"; cutoff?: string; dry_run?: boolean; event_ids?: string[] }, opts?: CallOptions)
Purger les charges utiles d'audit expirées. Supprime des charges utiles d'audit chiffrées ; les événements, la chaîne et les sceaux restent et continuent de se vérifier.
Route : /v1/evidence/retention/run (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { kind?: "retention" | "erasure"; cutoff?: string; dry_run?: boolean; event_ids?: string[] } | oui | Type de purge, date limite, événements et indicateur de simulation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.verify
verify(opts?: CallOptions)
Vérifier la chaîne et tous les sceaux. Vérifie toute la chaîne du tenant et tous ses sceaux et renvoie tenant_id, valid, chain (résultat de la chaîne de hachage), seals (nombre et échecs), clock (échecs d'horodatage) et events (nombre vérifié). Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès.
Route : /v1/evidence/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvidenceResource.verifySeal
verifySeal(id: string, opts?: CallOptions)
Vérifier un sceau d'audit. Recalcule le sceau à partir des événements qu'il couvre et des sceaux qui le précèdent et vérifie sa signature. Renvoie seal, valid et failures. Exige auditor, security_officer ou tenant_admin. Répond 404 not_found pour un sceau inconnu. La vérification est inscrite dans le journal d'accès.
Route : /v1/evidence/seals/{seal_id}/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du sceau. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Alias de type PlatformManagerAction
Actions d'une opération de service du Platform Manager (le Manager décide : RBAC, approbations, règles d'arrêt).
Définition : "start" \| "stop" \| "restart" \| "rolling_restart" \| "reinstall".
Interface PlatformManagerOperationOptions
Options d'une demande d'opération au Platform Manager.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
components | string[] | non | Composants concernés ; nul : tous les composants. |
hosts | string[] | non | Hôtes auxquels l'opération est limitée. |
batch_size | number | non | Hôtes traités en même temps, de 1 à 100, 1 par défaut. |
tolerate_failures | number | non | Échecs d'hôtes tolérés avant l'arrêt de l'opération, de 0 à 100, 0 par défaut. |
approval_id | string | non | Identifiant de la demande approuvée (validation à quatre yeux) qui autorise cette action. |
Interface PlatformManagerInstallService
Un service d'une demande d'installation : le mode et la méthode du catalogue, les hôtes de chaque composant, la configuration.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom du service dans le catalogue. |
mode | string | non | Mode d'installation du descripteur de catalogue. |
method | string | non | Nom de la méthode, par exemple basic, token ou none. |
placements | Record<string | oui | Hôtes de chaque composant : nom du composant vers une liste de 500 identifiants d'hôtes au plus ; jusqu'à 50 composants. |
config | Record<string | non | Configuration du service. |
bindings | Record<string | non | Liaisons du service à d'autres services ou à des connexions, par exemple {kind: connection, ref: <identifiant de connexion>} ; jusqu'à 50. |
version | string | non | Version à installer. |
Interface PlatformManagerInstallRequest
Corps des routes d'installation (validation et installation) : 1 à 20 services.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
services | PlatformManagerInstallService[] | oui | Services à installer, de 1 à 20. |
start | boolean | non | Démarrer les services une fois installés. Vrai par défaut. |
service_check | boolean | non | Lancer les contrôles de service après l'installation (vrai par défaut). |
Interface PlatformManagerConnectRequest
Configure & Connect : un service existant vérifié selon la section connect de son descripteur de catalogue.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom du service dans le catalogue. |
endpoint | string | oui | Adresse du service existant. |
credentials_ref | string | non | Référence d'identifiants déjà enregistrés, 512 caractères au plus ; l'audit ne garde que sa présence. |
tls_verify | boolean | non | Indique si le certificat TLS du serveur est vérifié. Gardez-le à vrai hors bac à sable. |
ca_pem | string | non | Autorité de certification privée (PEM) qui signe le certificat du service, 65536 caractères au plus. |
config | Record<string | non | Configuration du service connecté. |
auth | { method: string; fields?: Record<string, string> } | non | Une méthode de connect.auth du descripteur et ses champs ; le Manager les vérifie sur le service et scelle ceux qui sont secrets. |
mtls | { client_cert?: string; client_key?: string } | non | Certificat client pour le TLS mutuel. |
Classe PlatformManagerResource
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
PlatformManagerResource.approveDrExercise
approveDrExercise(exerciseId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
exerciseId | string | oui | Identifiant de l'exercice de PRA dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.approveRestore
approveRestore(planId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
planId | string | oui | Identifiant du plan de restauration dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.backupJobs
backupJobs(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.backupPlans
backupPlans(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.backups
backups(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.catalog
catalog(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.catalogService
catalogService(service: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
service | string | oui | Nom du service du catalogue. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.clusters
clusters(opts?: CallOptions)
Lister les clusters. Clusters (environnements) du Navin Manager visibles par l'utilisateur. Demande platform_admin.
Route : /v1/platform-manager/clusters (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.connect
connect(clusterId: string, body: PlatformManagerConnectRequest, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | PlatformManagerConnectRequest | oui | Le service à connecter. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.connections
connections(query: { type?: "postgresql" | "redis" | "oidc" } = {}, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { type?: "postgresql" | "redis" | "oidc" } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.console
console(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.createCluster
createCluster(body: { name: string; mode?: "production" | "sandbox"; description?: string; profile?: "development" | "standard" | "banking-secure" | "air-gapped" | "hybrid" }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { name: string; mode?: "production" | "sandbox"; description?: string; profile?: "development" | "standard" | "banking-secure" | "air-gapped" | "hybrid" } | oui | Nom, mode, description et profil du cluster. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.createConnection
createConnection(body: { name: string; type: "postgresql" | "redis" | "oidc"; params?: Record<string, unknown>; secret?: string; description?: string }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { name: string; type: "postgresql" | "redis" | "oidc"; params?: Record<string, unknown>; secret?: string; description?: string } | oui | La connexion à enregistrer. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.createEnrollmentToken
createEnrollmentToken(clusterId: string, body: { expires_in_hours?: number; max_uses?: number } = {}, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | { expires_in_hours?: number; max_uses?: number } | {} | non | Durée de vie et nombre d'utilisations du jeton. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.createVaultEntry
createVaultEntry(body: { name: string; url?: string; login?: string; password?: string; api_key?: string }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { name: string; url?: string; login?: string; password?: string; api_key?: string } | oui | Le service à ajouter. Les champs inconnus sont refusés. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.decommissionHost
decommissionHost(hostId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
hostId | string | oui | Identifiant de la machine dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.deleteConnection
deleteConnection(connectionId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
connectionId | string | oui | Identifiant de la connexion dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.deleteVaultEntry
deleteVaultEntry(entryId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
entryId | string | oui | Identifiant (UUID) de l'entrée du coffre-fort. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.disconnect
disconnect(clusterId: string, service: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service connecté. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.drExercises
drExercises(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.drPlans
drPlans(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.enrollmentTokens
enrollmentTokens(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.host
host(hostId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
hostId | string | oui | Identifiant de la machine dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.importVault
importVault(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.install
install(clusterId: string, body: PlatformManagerInstallRequest, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | PlatformManagerInstallRequest | oui | Services à installer et options d'installation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.nodes
nodes(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.operations
operations(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.planRestore
planRestore(body: { artifact_id: string; environment: "isolated" | "staging" | "production"; target_versions?: Record<string, string> }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { artifact_id: string; environment: "isolated" | "staging" | "production"; target_versions?: Record<string, string> } | oui | Sauvegarde à restaurer et environnement cible. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.preflightResults
preflightResults(hostId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
hostId | string | oui | Identifiant de la machine dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.refreshFacts
refreshFacts(hostId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
hostId | string | oui | Identifiant de la machine dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.requestDrExercise
requestDrExercise(planId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
planId | string | oui | Identifiant du plan de PRA à exercer, de 1 à 100 caractères. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.requestOperation
requestOperation(clusterId: string, service: string, action: PlatformManagerAction, options: PlatformManagerOperationOptions = {}, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
action | PlatformManagerAction | oui | start, stop, restart, rolling_restart ou reinstall. | |
options | PlatformManagerOperationOptions | {} | non | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.requestSupportBundle
requestSupportBundle(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.restores
restores(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.revokeEnrollmentToken
revokeEnrollmentToken(clusterId: string, tokenId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
tokenId | string | oui | Identifiant du jeton d'enrôlement, tel que listé. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.runPreflight
runPreflight(hostId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
hostId | string | oui | Identifiant de la machine dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.service
service(clusterId: string, service: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.serviceConfig
serviceConfig(clusterId: string, service: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.serviceConfigDiff
serviceConfigDiff(clusterId: string, service: string, from: number, to: number, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
from | number | oui | Version de configuration la plus ancienne, entier d'au moins 1 (obligatoire). | |
to | number | oui | Version de configuration la plus récente, entier d'au moins 1 (obligatoire). | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.serviceConfigVersions
serviceConfigVersions(clusterId: string, service: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.serviceDashboard
serviceDashboard(clusterId: string, service: string, query: { from?: string; to?: string; step?: number } = {}, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
query | { from?: string; to?: string; step?: number } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.services
services(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.setMode
setMode(clusterId: string, service: string, mode: string, options: { reason?: string; drain_timeout_s?: number; approval_id?: string } = {}, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
service | string | oui | Nom du service. | |
mode | string | oui | drain, scale_to_zero, security_suspend, emergency_stop, disable, quarantine, maintenance ou enable. | |
options | { reason?: string; drain_timeout_s?: number; approval_id?: string } | {} | non | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.setup
setup(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.sshBootstrap
sshBootstrap(clusterId: string, body: { hosts: string[]; ssh_user: string; ssh_port?: number; private_key: string; host_key_fingerprints: Record<string, string>; use_sudo?: boolean }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | { hosts: string[]; ssh_user: string; ssh_port?: number; private_key: string; host_key_fingerprints: Record<string, string>; use_sudo?: boolean } | oui | Machines, compte SSH et empreintes des clés d'hôte. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.summary
summary(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.supportBundles
supportBundles(clusterId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.testConnection
testConnection(connectionId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
connectionId | string | oui | Identifiant de la connexion dans le Manager. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.updateVaultEntry
updateVaultEntry(entryId: string, body: { name?: string; url?: string; login?: string; password?: string; api_key?: string }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
entryId | string | oui | Identifiant (UUID) de l'entrée du coffre-fort. | |
body | { name?: string; url?: string; login?: string; password?: string; api_key?: string } | oui | Champs à modifier. Les champs inconnus sont refusés. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.validateConnect
validateConnect(clusterId: string, body: PlatformManagerConnectRequest, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | PlatformManagerConnectRequest | oui | Le service à connecter, comme pour la connexion réelle. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.validateConnection
validateConnection(body: { type: "postgresql" | "redis" | "oidc"; params?: Record<string, unknown>; secret?: string }, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { type: "postgresql" | "redis" | "oidc"; params?: Record<string, unknown>; secret?: string } | oui | Type, paramètres et secret de la connexion à tester. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.validateInstall
validateInstall(clusterId: string, body: PlatformManagerInstallRequest, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
clusterId | string | oui | Identifiant du cluster dans le Navin Manager. | |
body | PlatformManagerInstallRequest | oui | L'installation à contrôler, comme pour l'installation réelle. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.vaultEntries
vaultEntries(opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.vaultEntry
vaultEntry(entryId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
entryId | string | oui | Identifiant (UUID) de l'entrée du coffre-fort. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
PlatformManagerResource.vaultReveal
vaultReveal(entryId: string, opts?: CallOptions)
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
entryId | string | oui | Identifiant (UUID) de l'entrée du coffre-fort. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).