Aller au contenu principal

manager/operations_gen.go (package manager)

Source : sdks/go/manager/operations_gen.go. Retour à l'index de la référence du SDK Go.

remarque

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

Classe AgentTemplatesAPI​

Gabarits d'agents. Le registre des gabarits d'agents (Service Templates des produits Navin, par exemple l'Agent RAG Navin Enterprise) : chaque gabarit avec son nom, son éditeur, sa version, son statut et le service du catalogue qui l'installe. Un gabarit n'est published que si ce service existe dans le catalogue et que le gabarit a été publié, par la version livrée (statut published) ou sur ce Manager par un administrateur (POST .../publish, la validation du client : la définition de service rejoint le catalogue de ce Manager) ; sinon reason indique pourquoi il ne peut pas être déployé et publishable s'il peut être publié ici. La lecture est ouverte à tout utilisateur connecté, comme le catalogue de la pile ; publier et retirer demandent agent_templates:publish. Opérations de ce groupe de l'API du Navin Manager.

AgentTemplatesAPI.AgentTemplate​

AgentTemplate(ctx context.Context, templateId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un gabarit d'agent. Un gabarit d'agent par son identifiant : nom et description (fr et en), éditeur, version, statut, service du catalogue, chemins de la documentation et des sources, composants, published, reason, publication, publishable et publish_blocker. Tout utilisateur connecté ; 404 pour un gabarit inconnu.

Route : /api/v1/agent-templates/{template_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
templateIdstringouiIdentifiant du gabarit d'agent, égal au nom de son fichier descripteur.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un gabarit d'agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AgentTemplatesAPI.AgentTemplates​

AgentTemplates(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les gabarits d'agents. Chaque gabarit d'agent du registre, trié par identifiant, avec published calculé d'après le catalogue chargé et les publications de ce Manager, reason (fr et en) quand il ne peut pas être déployé, publication (version, auteur, date) quand il a été publié ici, publishable et publish_blocker. Renvoie items et count. Tout utilisateur connecté.

Route : /api/v1/agent-templates (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les gabarits d'agents ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AgentTemplatesAPI.PublishAgentTemplate​

PublishAgentTemplate(ctx context.Context, templateId string, opts ...eai.CallOption) (json.RawMessage, error)

Valider et publier un gabarit d'agent. La validation du client : la définition de service et les gabarits de l'agent sont vérifiés par le chargeur du catalogue avec tout le catalogue (sur une copie de travail, rien n'est écrit si une vérification échoue), puis copiés sous published_templates_dir ; le service rejoint le catalogue de ce Manager, le gabarit répond published: true et son bouton Déployer ouvre l'assistant d'installation. Publier de nouveau remplace les fichiers par les sources actuelles. Renvoie le gabarit. Permission agent_templates:publish ; audité en agent_template.publish. Erreurs : 404 agent_template_unknown, 409 agent_template_not_publishable (prévu ou en développement), 409 agent_template_sources_missing, 409 agent_template_already_published (service livré avec le catalogue), 422 agent_template_invalid (les problèmes trouvés sont dans details.problems).

Route : /api/v1/agent-templates/{template_id}/publish (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
templateIdstringouiIdentifiant du gabarit d'agent.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Valider et publier un gabarit d'agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AgentTemplatesAPI.WithdrawAgentTemplate​

WithdrawAgentTemplate(ctx context.Context, templateId string, opts ...eai.CallOption) (json.RawMessage, error)

Retirer la publication d'un gabarit d'agent. Supprime la définition de service et les gabarits publiés sur ce Manager ainsi que l'enregistrement de publication : le service quitte le catalogue et le gabarit attend de nouveau sa validation. Refusé tant qu'une instance du service est installée dans un cluster (409 agent_template_in_use, les instances sont dans details.instances). Renvoie le gabarit. Permission agent_templates:publish ; audité en agent_template.unpublish. Erreurs : 404 agent_template_unknown, 404 agent_template_not_published.

Route : /api/v1/agent-templates/{template_id}/publication (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
templateIdstringouiIdentifiant du gabarit d'agent.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Retirer la publication d'un gabarit d'agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe AlertsAPI​

Alertes et notifications. Alertes levées par le Manager à partir de ses définitions d'alertes (machine hors ligne, disque plein, service en mauvaise santé, certificat proche de l'expiration...), et cibles de notification qui les reçoivent. Opérations de ce groupe de l'API du Navin Manager.

AlertsAPI.AckAlert​

AckAlert(ctx context.Context, alertId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Acquitter une alerte. Enregistre qui a acquitté l'alerte, quand, et la note ; l'alerte reste ouverte jusqu'à la disparition de sa condition. Renvoie l'alerte. Permission alerts:manage sur son cluster. Audité en alert.ack.

Route : /api/v1/alerts/{alert_id}/ack (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
alertIdstringouiIdentifiant de l'alerte.
bodyanyouiNote facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Acquitter une alerte ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.CreateTarget​

CreateTarget(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajouter une cible de notification. Crée une cible et la renvoie (201). Une cible e-mail exige config.to, une cible webhook config.url (http:// ou https://) ; une cible syslog utilise le serveur syslog des réglages. Permission alerts:manage ; 422 notification_target_invalid. Audité en notification_target.create.

Route : /api/v1/notification-targets (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, type, configuration et sévérité minimale de la cible.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter une cible de notification ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.DeleteTarget​

DeleteTarget(ctx context.Context, targetId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une cible de notification. Supprime la cible. Répond 204. Permission alerts:manage ; 404 notification_target_not_found. Audité en notification_target.delete.

Route : /api/v1/notification-targets/{target_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
targetIdstringouiIdentifiant de la cible de notification.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une cible de notification ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.GetAlert​

GetAlert(ctx context.Context, alertId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une alerte. Renvoie une alerte avec l'historique history de ses changements d'état (les 200 derniers : ts, from_state, to_state, value, text). Permission alerts:read sur son cluster ; 404 alert_not_found.

Route : /api/v1/alerts/{alert_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
alertIdstringouiIdentifiant de l'alerte.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une alerte ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.ListAlerts​

ListAlerts(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les alertes d'un cluster. Alertes du cluster, de la dernière modifiée à la plus ancienne (500 au plus) : definition, label, fingerprint, machine, service, composant, state, text, value, première et dernière observation, acquittement et résolution. Alertes ouvertes uniquement, sauf avec include_resolved. Permission alerts:read.

Route : /api/v1/clusters/{cluster_id}/alerts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les alertes d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.ListDefinitions​

ListDefinitions(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les définitions d'alertes. Chaque définition avec son name, scope, kind, label, description, enabled, interval_s, ses seuils warning et critical et ses params. Permission alerts:read.

Route : /api/v1/alert-definitions (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les définitions d'alertes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.ListTargets​

ListTargets(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les cibles de notification. Chaque cible avec son kind, sa config, min_severity, enabled et la présence d'un secret HMAC (jamais sa valeur). Permission alerts:manage.

Route : /api/v1/notification-targets (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les cibles de notification ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.PatchDefinition​

PatchDefinition(ctx context.Context, definitionId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajuster une définition d'alerte. Active ou désactive une définition et modifie ses seuils ou son intervalle d'évaluation ; un champ omis est conservé. Renvoie la définition. Permission alerts:manage ; 404 alert_definition_not_found. Audité en alert_definition.update.

Route : /api/v1/alert-definitions/{definition_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
definitionIdstringouiIdentifiant de la définition d'alerte.
bodyanyouiChamps de la définition à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajuster une définition d'alerte ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.PatchTarget​

PatchTarget(ctx context.Context, targetId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier une cible de notification. Modifie les champs fournis et renvoie la cible. Permission alerts:manage. Erreurs : 404 notification_target_not_found, 422 notification_target_invalid. Audité en notification_target.update.

Route : /api/v1/notification-targets/{target_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
targetIdstringouiIdentifiant de la cible de notification.
bodyanyouiChamps de la cible à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une cible de notification ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AlertsAPI.TestTarget​

TestTarget(ctx context.Context, targetId string, opts ...eai.CallOption) (json.RawMessage, error)

Envoyer une notification de test. Envoie immédiatement un message de test (état warning, empreinte test) à la cible et renvoie {"ok": true}. Permission alerts:manage. Erreurs : 404 notification_target_not_found, 502 notification_failed (la cible a refusé ou est injoignable). Audité en notification_target.test.

Route : /api/v1/notification-targets/{target_id}/test (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
targetIdstringouiIdentifiant de la cible de notification.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Envoyer une notification de test ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe AuditAPI​

Audit. Le journal d'audit du Manager : chaque changement, connexion, refus et lecture sensible, avec l'acteur (utilisateur, jeton d'API, agent ou système), l'action (par exemple service.install), la cible, le cluster, le résultat (success, failure, denied), l'adresse du client et des détails. Les événements sont chaînés : chacun porte l'empreinte du précédent, si bien qu'un événement modifié ou supprimé rompt la chaîne. Opérations de ce groupe de l'API du Navin Manager.

AuditAPI.Export​

Export(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Exporter le journal d'audit. Diffuse tous les événements de la période dans l'ordre des séquences sous forme de fichier à télécharger : audit.ndjson (un objet JSON par ligne) ou audit.csv (les cellules qu'un tableur lirait comme une formule sont préfixées d'une apostrophe). Permission audit:read ; 422 export_format_invalid pour un autre format. Audité en audit.export.

Route : /api/v1/audit/export (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exporter le journal d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuditAPI.ListAudit​

ListAudit(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Rechercher dans le journal d'audit. Événements qui correspondent à tous les filtres donnés, du plus récent au plus ancien : seq, id, ts, actor_type, actor_id, actor_name, action, target_type, target_id, cluster_id, outcome, ip, details, prev_hash, hash. Paginé avec limit et cursor. Permission audit:read.

Route : /api/v1/audit (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Rechercher dans le journal d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuditAPI.Verify​

Verify(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Vérifier la chaîne d'empreintes du journal d'audit. Recalcule l'empreinte de chaque événement et contrôle le lien avec le précédent. Renvoie valid, le nombre d'événements contrôlés checked et first_broken_seq (nul quand la chaîne est intacte). Permission audit:read. Audité en audit.verify (résultat failure quand la chaîne est rompue).

Route : /api/v1/audit/verify (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier la chaîne d'empreintes du journal d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe AuthAPI​

Authentification. Connexion à la console et déconnexion : fournisseurs d'identité, configuration initiale, connexion locale et LDAP, second facteur (TOTP), changement de mot de passe, session et connexion OIDC. Opérations de ce groupe de l'API du Navin Manager.

AuthAPI.Providers​

Providers(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les méthodes de connexion. Point d'accès public utilisé par la page de connexion. Renvoie local (toujours vrai), ldap (enabled, name), oidc (les fournisseurs activés, id et name), setup_required (vrai tant qu'aucun utilisateur n'existe : appelez POST /auth/setup) et mfa (le second facteur TOTP est-il activé sur ce Manager).

Route : /api/v1/auth/providers (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les méthodes de connexion ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthAPI.Session​

Session(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la session courante. Renvoie l'utilisateur authentifié (user), ses permissions effectives (permissions.global et permissions.clusters par identifiant de cluster), le csrf_token de la session (nul pour un jeton d'API) et expires_at (de la session ou du jeton). Tout appelant authentifié ; 401 sinon.

Route : /api/v1/auth/session (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la session courante ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe AuthConfigAPI​

Fournisseurs d'identité et politique de sécurité. Configuration de la connexion des utilisateurs : l'annuaire LDAP, les fournisseurs OIDC et la politique de sécurité (mots de passe, verrouillage, délais de session, rôles qui exigent la MFA). Opérations de ce groupe de l'API du Navin Manager.

AuthConfigAPI.CreateOIDC​

CreateOIDC(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajouter un fournisseur OIDC. Crée un fournisseur et le renvoie (201). Les portées doivent comprendre openid. Permission auth:manage. Erreurs : 409 provider_name_taken, 422 oidc_config_invalid, 422 role_invalid. Audité.

Route : /api/v1/auth-config/oidc (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiRéglages du fournisseur.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter un fournisseur OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.DeleteOIDC​

DeleteOIDC(ctx context.Context, providerId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un fournisseur OIDC. Supprime le fournisseur ; ses utilisateurs ne peuvent plus se connecter par son intermédiaire. Répond 204. Permission auth:manage ; 404 oidc_provider_not_found. Audité en auth_config.oidc_delete.

Route : /api/v1/auth-config/oidc/{provider_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
providerIdstringouiIdentifiant du fournisseur OIDC.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un fournisseur OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.GetLDAP​

GetLDAP(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la configuration LDAP. Renvoie les réglages LDAP avec leurs valeurs par défaut, le mot de passe de liaison sous la forme {"secret": true, "set": ...} et les correspondances de rôles. Permission auth:manage.

Route : /api/v1/auth-config/ldap (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la configuration LDAP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.GetOIDC​

GetOIDC(ctx context.Context, providerId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un fournisseur OIDC. Renvoie un fournisseur avec ses réglages et ses correspondances. Permission auth:manage ; 404 oidc_provider_not_found.

Route : /api/v1/auth-config/oidc/{provider_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
providerIdstringouiIdentifiant du fournisseur OIDC.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un fournisseur OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.GetPolicy​

GetPolicy(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la politique de sécurité. Renvoie la politique courante, valeurs par défaut comprises : longueur minimale de mot de passe 12, historique 5, pas d'âge maximal, verrouillage après 5 échecs pendant 15 minutes, sessions de 30 minutes d'inactivité et 12 heures au plus, MFA exigée pour admin et security_admin. Permission auth:manage.

Route : /api/v1/auth-config/policy (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la politique de sécurité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.ListOIDC​

ListOIDC(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les fournisseurs OIDC. Tous les fournisseurs OIDC, activés ou non, avec leurs réglages et leurs correspondances ; les secrets clients ne sont jamais renvoyés. Permission auth:manage.

Route : /api/v1/auth-config/oidc (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les fournisseurs OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.PutLDAP​

PutLDAP(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer la configuration LDAP. Remplace les réglages LDAP et les correspondances de rôles et les renvoie. Chaque URL doit être protégée par TLS (ldaps://, ou ldap:// avec start_tls), au moins une URL est nécessaire quand l'annuaire est activé, les filtres doivent être équilibrés en parenthèses. Permission auth:manage. Erreurs : 422 ldap_config_invalid (avec details.problems), 422 role_invalid. Audité en auth_config.ldap.

Route : /api/v1/auth-config/ldap (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiRéglages LDAP complets.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer la configuration LDAP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.PutOIDC​

PutOIDC(ctx context.Context, providerId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier un fournisseur OIDC. Remplace les réglages et les correspondances du fournisseur et le renvoie ; le secret client est conservé sauf si un nouveau est envoyé. Permission auth:manage. Erreurs : 404 oidc_provider_not_found, 409 provider_name_taken, 422 oidc_config_invalid. Audité.

Route : /api/v1/auth-config/oidc/{provider_id} (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
providerIdstringouiIdentifiant du fournisseur OIDC.
bodyanyouiRéglages complets du fournisseur.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un fournisseur OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.PutPolicy​

PutPolicy(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer la politique de sécurité. Remplace toute la politique et la renvoie. Elle s'applique au prochain changement de mot de passe, à la prochaine connexion et au prochain contrôle de session. Permission auth:manage ; 422 role_invalid pour un rôle inconnu dans mfa_required_roles. Audité en auth_config.policy.

Route : /api/v1/auth-config/policy (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiTous les champs de la politique.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer la politique de sécurité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.TestLDAP​

TestLDAP(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Tester la configuration LDAP. Se lie avec les réglages enregistrés et, quand un compte de test est fourni, recherche l'utilisateur, vérifie son mot de passe et lit ses groupes. Renvoie ok, bind, user_found, groups et error_code. Rien n'est modifié. Permission auth:manage ; 404 ldap_not_configured. Audité en auth_config.ldap_test.

Route : /api/v1/auth-config/ldap/test (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCompte de test facultatif.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Tester la configuration LDAP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AuthConfigAPI.TestOIDC​

TestOIDC(ctx context.Context, providerId string, opts ...eai.CallOption) (json.RawMessage, error)

Tester un fournisseur OIDC. Lit le document de découverte de l'émetteur et ses clés de signature. Renvoie ok, issuer, jwks_keys (nombre de clés) et error_code. Permission auth:manage ; 404 oidc_provider_not_found. Audité en auth_config.oidc_test.

Route : /api/v1/auth-config/oidc/{provider_id}/test (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
providerIdstringouiIdentifiant du fournisseur OIDC.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Tester un fournisseur OIDC ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe AvailabilityAPI​

Groupes de haute disponibilité. Un groupe de haute disponibilité décrit comment un composant d'un cluster reste disponible : son mode de HA (single, active_passive, active_active, quorum), son profil (standalone, ha avec au moins 2 réplicas dans 2 domaines de panne, critical-ha avec au moins 3 dans 3), ses membres et leurs domaines de panne, sa politique de bascule et ses objectifs de reprise (RTO, RPO). Le groupe indique son état de HA à partir des battements de cœur de ses membres. Opérations de ce groupe de l'API du Navin Manager.

AvailabilityAPI.CreateGroup​

CreateGroup(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un groupe de haute disponibilité. Déclare un groupe et ses membres et le renvoie (201). Le profil doit être satisfait par desired_replicas et fault_domains, deux membres ne peuvent pas partager une machine. Permission cluster:manage sur le cluster. Erreurs : 422 ha_profile_unmet, 422 ha_mode_unsupported, 422 ha_members_same_host, 404 cluster_not_found, 404 host_not_found. Audité en ha_group.create.

Route : /api/v1/ha-groups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe groupe, sa politique et ses membres.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un groupe de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AvailabilityAPI.GetGroup​

GetGroup(ctx context.Context, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un groupe de haute disponibilité. Renvoie le groupe avec ses membres, son état de HA et son dernier test. Permission cluster:read sur son cluster ; 404 ha_group_not_found.

Route : /api/v1/ha-groups/{group_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
groupIdstringouiIdentifiant du groupe de HA.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un groupe de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AvailabilityAPI.HAModes​

HAModes(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les modes de déploiement et leur prise en charge. Chaque mode de déploiement avec supported, ha_possible et la raison reason dans les deux langues. Tout utilisateur connecté.

Route : /api/v1/ha-modes (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les modes de déploiement et leur prise en charge ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AvailabilityAPI.ListGroups​

ListGroups(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les groupes de haute disponibilité. Groupes de chaque cluster que l'appelant peut lire (cluster:read), triés par nom, chacun avec ses membres, son état de HA et son dernier test.

Route : /api/v1/ha-groups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les groupes de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AvailabilityAPI.Operations​

Operations(ctx context.Context, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'historique des bascules d'un groupe. Renvoie test_runs (statut, jeton de fencing, RTO et RPO observés en secondes, preuves, horaires), fencing_operations (membre, méthode, vérification, jeton) et les 200 derniers events. Permission cluster:read.

Route : /api/v1/ha-groups/{group_id}/operations (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
groupIdstringouiIdentifiant du groupe de HA.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'historique des bascules d'un groupe ». L'error est une erreur typée du SDK, nil en cas de succès.

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

AvailabilityAPI.TestFailover​

TestFailover(ctx context.Context, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lancer un test de bascule. Prend le bail de bascule du groupe, enregistre un test avec un nouveau jeton de fencing et, quand le groupe est lié à des composants installés, lance la bascule. Répond 202 avec run_id, status, fencing_token, executed et les opérations lancées operations. Permission services:operate. Erreurs : 409 ha_operation_locked (une autre bascule détient le bail), 409 ha_client_managed_refused. Audité en ha_group.test_failover.

Route : /api/v1/ha-groups/{group_id}/test-failover (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
groupIdstringouiIdentifiant du groupe de HA.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer un test de bascule ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe BackupAPI​

Sauvegarde, restauration et reprise après sinistre. Le gestionnaire de sauvegarde et de reprise : cibles et plans de sauvegarde, artefacts de sauvegarde avec leurs vérifications, conservation, tests de restauration, restaurations et reprise après sinistre (sites, plans, exercices, bascules, changements DNS et d'équilibreur de charge). Opérations de ce groupe de l'API du Navin Manager.

BackupAPI.ApproveExercise​

ApproveExercise(ctx context.Context, exerciseId string, opts ...eai.CallOption) (json.RawMessage, error)

Approuver un exercice ou une bascule de reprise. Approuve la demande ; l'approbateur ne doit pas être le demandeur. Permission dr:manage. Erreurs : 403 restore_self_approval, 404 dr_exercise_not_found. Audité en dr.approve.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
exerciseIdstringouiIdentifiant de l'exercice ou de la demande de bascule.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un exercice ou une bascule de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ApproveRestore​

ApproveRestore(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Approuver un plan de restauration. Ajoute l'approbation de l'appelant ; deux approbations par des personnes autres que le demandeur sont nécessaires. Permission restore:execute. Erreurs : 403 restore_self_approval, 409 restore_not_approvable. Audité en restore.approve.

Route : /api/v1/restores/{plan_id}/approve (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.BackupConsistency​

BackupConsistency(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Contrôler la cohérence d'une cible de sauvegarde. Compare les lignes de la base, les objets stockés et le registre des artefacts d'une cible filesystem (son bucket est le répertoire racine). Avec reconcile, les lignes dont l'objet a disparu sont marquées missing et les objets orphelins sont déplacés dans un répertoire de quarantaine, jamais supprimés. Permission backup:manage. Erreurs : 404 backup_target_not_found, 422 backup_provider_unsupported (autre que filesystem).

Route : /api/v1/backups/consistency (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCible, empreintes du registre et indicateur de réconciliation.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Contrôler la cohérence d'une cible de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.CompleteExercise​

CompleteExercise(ctx context.Context, exerciseId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Clôturer un exercice de reprise avec ses mesures. Enregistre le RPO et le RTO observés, le résultat et les preuves d'un exercice ou d'une bascule approuvés. Permission dr:manage ; 409 dr_not_approved. Audité en dr.complete.

Route : /api/v1/dr-exercises/{exercise_id}/complete (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
exerciseIdstringouiIdentifiant de l'exercice ou de la demande de bascule.
bodyanyouiMesures observées, résultat et preuves.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Clôturer un exercice de reprise avec ses mesures ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.CreateDRPlan​

CreateDRPlan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un plan de reprise. Crée un plan entre un site primaire et un site secondaire (créés s'ils sont inconnus) et le renvoie (201). Permission dr:manage. Erreurs : 422 dr_mode_invalid, 422 dr_same_site. Audité en dr.plan.create.

Route : /api/v1/dr-plans (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, mode, sites, objectifs et séquence du plan.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un plan de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.CreatePlan​

CreatePlan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un plan de sauvegarde. Crée un plan de sauvegarde sur une cible et le renvoie (201). Avec immutability_required, la cible doit avoir des capacités de verrouillage d'objet et de rétention vérifiées. Permission backup:manage. Erreurs : 404 backup_target_not_found, 409 backup_worm_unsupported. Audité en backup.plan.create.

Route : /api/v1/backup-plans (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCible, périmètre, calendrier, chiffrement et conservation du plan.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un plan de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.CreateTarget​

CreateTarget(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Déclarer une cible de sauvegarde. Crée une cible et la renvoie (201). Permission backup:manage ; 422 backup_provider_unsupported. Audité en backup.target.create.

Route : /api/v1/backup-targets (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiFournisseur, emplacement et capacités de la cible.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déclarer une cible de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.DeclareTraffic​

DeclareTraffic(ctx context.Context, planId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Déclarer une bascule de trafic d'un plan de reprise. Déclare (ou remplace) un enregistrement DNS ou un équilibreur de charge du plan avec sa valeur par site et le contrôle de santé qui doit réussir avant une bascule (201). Permission dr:manage. Erreurs : 422 dr_traffic_invalid, 404 dr_plan_not_found. Audité en dr.traffic.declare.

Route : /api/v1/dr-plans/{plan_id}/traffic (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de reprise.
bodyanyouiType, nom et spécification de la bascule.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déclarer une bascule de trafic d'un plan de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.DeleteBackup​

DeleteBackup(ctx context.Context, backupId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une sauvegarde. Supprime un artefact de sauvegarde dont la durée de conservation est écoulée. Permission backup:manage. Erreurs : 409 backup_retention_active (avant expires_at), 404 backup_artifact_not_found. Audité en backup.delete.

Route : /api/v1/backups/{backup_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
backupIdstringouiIdentifiant de l'artefact de sauvegarde.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.DryRunRestore​

DryRunRestore(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Essayer à blanc un plan de restauration. Contrôle l'empreinte, le déchiffrement et la compatibilité sans écrire dans la destination, et renvoie les approbateurs enregistrés. Pour une destination nommée, contrôle aussi son identité, son vide et son rôle restreint (checks.destination, checks.executor). Une simulation réussie n'autorise pas l'exécution : deux approbations restent nécessaires. Permission restore:execute. Audité en restore.dry_run.

Route : /api/v1/restores/{plan_id}/dry-run (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Essayer à blanc un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.EnforceRetention​

EnforceRetention(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Appliquer la conservation maintenant. Retire les artefacts dont expires_at est dépassé et les marque expired. Renvoie expired. Permission backup:manage. Audité en backup.expire.

Route : /api/v1/backups/retention/enforce (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer la conservation maintenant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ExecuteRestore​

ExecuteRestore(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une restauration approuvée. Exécute un plan approuvé avec destination : l'état executing et un jeton durable execution_token sont validés avant toute écriture. L'artefact est contrôlé à nouveau (taille, empreinte, déchiffrement), restauré par pg_restore --single-transaction avec le rôle restreint, puis ses lignes sont relues et comparées à l'inventaire (result.inventory, rows, tables). Succès : executed. Échec enregistré : failed, rollback_performed: false, HTTP 502 restore_execution_failed ; le champ imbriqué result.error précise la cause, notamment backup_corrupted, restore_target_busy ou restore_execution_timeout. Une interruption du processus peut laisser executing, à inspecter manuellement. Aucun retour arrière ni rejeu automatique. Les refus avant exécution incluent 409 restore_not_approved, 501 restore_executor_unavailable et 409 restore_target_changed. Permission restore:execute. Audité en restore.execute.started et restore.execute.

Route : /api/v1/restores/{plan_id}/execute (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une restauration approuvée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.GetRestore​

GetRestore(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un plan de restauration. Renvoie le plan avec sa compatibilité, ses étapes, ses approbateurs approvers et required_approvals (2). Permission backup:read ; 404 restore_plan_not_found.

Route : /api/v1/restores/{plan_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListBackups​

ListBackups(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les sauvegardes. Les 200 derniers artefacts de sauvegarde, du plus récent au plus ancien : emplacement, SHA-256, taille, versions, expiration, plan et résultat de leur dernière vérification. Permission backup:read.

Route : /api/v1/backups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les sauvegardes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListDRPlans​

ListDRPlans(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les plans de reprise. Chaque plan de reprise après sinistre avec son mode, ses sites primaire et secondaire, ses objectifs de RPO et RTO et sa séquence. Permission backup:read.

Route : /api/v1/dr-plans (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les plans de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListExercises​

ListExercises(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les exercices et bascules de reprise. Les 200 derniers exercices et demandes de bascule avec leur rapport : statut, demandeur, approbateur, RPO et RTO observés comparés aux objectifs, preuves. Permission backup:read.

Route : /api/v1/dr-exercises (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les exercices et bascules de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListJobs​

ListJobs(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les tâches de sauvegarde. Les 200 dernières tâches de sauvegarde, de la plus récente à la plus ancienne, avec le nom de leur plan, leur statut et leur erreur. Permission backup:read.

Route : /api/v1/backup-jobs (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les tâches de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListPlans​

ListPlans(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les plans de sauvegarde. Chaque plan de sauvegarde, et alerts : les plans dont la dernière sauvegarde réussie est plus ancienne que l'intervalle plus la fenêtre, ou dont la dernière tâche a échoué. Permission backup:read.

Route : /api/v1/backup-plans (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les plans de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListRestoreTargets​

ListRestoreTargets(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les destinations de restauration. Les destinations de restauration déclarées par l'opérateur dans le réglage restore_targets : nom, environnement, type (pg_dump) et versions déclarées. Les chaînes de connexion et les noms des variables secrètes ne quittent jamais le serveur. Permission restore:execute.

Route : /api/v1/restore-targets (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les destinations de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListRestoreTests​

ListRestoreTests(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les tests de restauration. Les 200 derniers tests de restauration avec leur résultat et leur rapport signé. Permission backup:read.

Route : /api/v1/restore-tests (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les tests de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListRestores​

ListRestores(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les plans de restauration. Les 200 derniers plans de restauration avec leur statut et leur nombre d'approbations. Permission backup:read.

Route : /api/v1/restores (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les plans de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListSites​

ListSites(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les sites de reprise. Sites connus des plans de reprise après sinistre, avec leur rôle (primary ou secondary). Les sites sont créés par les plans. Permission backup:read.

Route : /api/v1/dr-sites (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les sites de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListTraffic​

ListTraffic(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les bascules de trafic d'un plan de reprise. Enregistrements DNS et équilibreurs de charge déclarés pour le plan, avec leur valeur par site et leur contrôle de santé. Permission backup:read.

Route : /api/v1/dr-plans/{plan_id}/traffic (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de reprise.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les bascules de trafic d'un plan de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.ListVerifications​

ListVerifications(ctx context.Context, backupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les vérifications d'une sauvegarde. Chaque vérification de l'artefact, de la plus récente à la plus ancienne, avec son résultat outcome (passed ou failed) et ses détails (empreinte attendue et observée, taille, raison). Permission backup:read.

Route : /api/v1/backups/{backup_id}/verifications (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
backupIdstringouiIdentifiant de l'artefact de sauvegarde.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les vérifications d'une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.PlanRestore​

PlanRestore(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Planifier une restauration. Crée un plan de restauration pour un artefact de sauvegarde : contrôle la compatibilité des versions sauvegardées avec les versions cibles (même version majeure) et liste les étapes (vérification de l'artefact, vérification de la destination, restauration, vérification du résultat). Avec target_name, l'artefact doit être un pg_dump disponible avec un inventaire verification_inventory et la destination une base PostgreSQL vide appartenant à un rôle restreint ; son identité est figée dans target_snapshot. Renvoie le plan (201). Permission restore:execute. Erreurs : 404 backup_artifact_not_found, 501 restore_executor_unavailable (destination inconnue), 409 restore_target_invalid, 409 restore_target_not_empty, 422 restore_inventory_required. Audité en restore.plan.

Route : /api/v1/restores/plan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiArtefact, environnement, destination et versions cibles.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Planifier une restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.RecordBackup​

RecordBackup(ctx context.Context, planId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer une sauvegarde. Enregistre une tâche et son artefact : le Manager calcule l'empreinte du fichier situé à location, conserve son empreinte, sa taille et ses versions, et fixe expires_at d'après la durée de conservation du plan. Quand le fichier est illisible, la tâche est enregistrée en failed. Renvoie la tâche avec son artifact (201). Permission backup:manage ; 404 backup_policy_not_found. Audité en backup.job.

Route : /api/v1/backup-plans/{plan_id}/backups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de sauvegarde.
bodyanyouiEmplacement, type et versions de l'artefact.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.RequestExercise​

RequestExercise(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander un exercice de reprise. Enregistre une demande d'exercice pour un plan (201) ; une autre personne doit l'approuver avant qu'il puisse être clôturé. Permission dr:manage ; 404 dr_plan_not_found. Audité en dr.exercise.request.

Route : /api/v1/dr-exercises (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe plan de reprise.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un exercice de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.RequestFailover​

RequestFailover(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander une bascule de reprise. Enregistre une demande de bascule réelle pour un plan (201) ; elle suit la même approbation et la même clôture qu'un exercice. Permission dr:manage ; 404 dr_plan_not_found. Audité en dr.failover.request.

Route : /api/v1/dr-failovers/request (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe plan de reprise.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander une bascule de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.RunRestoreTest​

RunRestoreTest(ctx context.Context, backupId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Lancer un test de restauration. Copie l'artefact dans un répertoire isolé, injecte éventuellement une corruption, vérifie l'empreinte et le déchiffrement et signe le rapport (Ed25519). Un échec lève une alarme auditée. Renvoie le test (201). Permission backup:manage. Audité en backup.restore_test.

Route : /api/v1/backups/{backup_id}/restore-tests (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
backupIdstringouiIdentifiant de l'artefact de sauvegarde.
bodyanyouiInjection ou non d'une corruption (pour prouver que le test la détecte).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer un test de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.SetDRTargets​

SetDRTargets(ctx context.Context, planId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Fixer les objectifs de RPO et RTO d'un plan de reprise. Fixe vos propres objectifs de reprise (secondes, ou nul pour effacer) ; le produit ne les propose jamais. Permission dr:manage ; 404 dr_plan_not_found. Audité en dr.plan.targets.

Route : /api/v1/dr-plans/{plan_id}/targets (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de reprise.
bodyanyouiObjectifs de RPO et RTO.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Fixer les objectifs de RPO et RTO d'un plan de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.TrafficSwitchPlan​

TrafficSwitchPlan(ctx context.Context, planId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Planifier une bascule de trafic vers un site. Exécute les contrôles de santé des bascules déclarées sur le site cible (vraies requêtes HTTP) et renvoie les changements DNS et d'équilibreur de charge dans l'ordre. Rien n'est appliqué : l'application exige l'API de votre DNS et de votre équilibreur de charge (statut requires_client_provider). Permission dr:manage.

Route : /api/v1/dr-plans/{plan_id}/switch-plan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de reprise.
bodyanyouiSite vers lequel basculer le trafic.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Planifier une bascule de trafic vers un site ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupAPI.VerifyBackup​

VerifyBackup(ctx context.Context, backupId string, opts ...eai.CallOption) (json.RawMessage, error)

Vérifier une sauvegarde. Recalcule l'empreinte du fichier, compare l'empreinte et la taille à celles enregistrées et, si elles correspondent, le déchiffre avec sa clé. Renvoie la vérification avec son résultat outcome (passed ou failed). Permission backup:manage ; 404 backup_artifact_not_found. Audité en backup.verify.

Route : /api/v1/backups/{backup_id}/verify (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
backupIdstringouiIdentifiant de l'artefact de sauvegarde.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe BackupsAPI​

Sauvegarde, restauration et reprise après sinistre. Le gestionnaire de sauvegarde et de reprise : cibles et plans de sauvegarde, artefacts de sauvegarde avec leurs vérifications, conservation, tests de restauration, restaurations et reprise après sinistre (sites, plans, exercices, bascules, changements DNS et d'équilibreur de charge). Opérations de ce groupe de l'API du Navin Manager.

BackupsAPI.CreatePlan​

CreatePlan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un plan de sauvegarde. Crée un plan de sauvegarde sur une cible et le renvoie (201). Avec immutability_required, la cible doit avoir des capacités de verrouillage d'objet et de rétention vérifiées. Permission backup:manage. Erreurs : 404 backup_target_not_found, 409 backup_worm_unsupported. Audité en backup.plan.create.

Route : /api/v1/backup-plans (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCible, périmètre, calendrier, chiffrement et conservation du plan.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un plan de sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupsAPI.List​

List(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les sauvegardes. Les 200 derniers artefacts de sauvegarde, du plus récent au plus ancien : emplacement, SHA-256, taille, versions, expiration, plan et résultat de leur dernière vérification. Permission backup:read.

Route : /api/v1/backups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les sauvegardes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupsAPI.Run​

Run(ctx context.Context, planId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer une sauvegarde. Enregistre une tâche et son artefact : le Manager calcule l'empreinte du fichier situé à location, conserve son empreinte, sa taille et ses versions, et fixe expires_at d'après la durée de conservation du plan. Quand le fichier est illisible, la tâche est enregistrée en failed. Renvoie la tâche avec son artifact (201). Permission backup:manage ; 404 backup_policy_not_found. Audité en backup.job.

Route : /api/v1/backup-plans/{plan_id}/backups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de sauvegarde.
bodyanyouiEmplacement, type et versions de l'artefact.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BackupsAPI.Verify​

Verify(ctx context.Context, backupId string, opts ...eai.CallOption) (json.RawMessage, error)

Vérifier une sauvegarde. Recalcule l'empreinte du fichier, compare l'empreinte et la taille à celles enregistrées et, si elles correspondent, le déchiffre avec sa clé. Renvoie la vérification avec son résultat outcome (passed ou failed). Permission backup:manage ; 404 backup_artifact_not_found. Audité en backup.verify.

Route : /api/v1/backups/{backup_id}/verify (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
backupIdstringouiIdentifiant de l'artefact de sauvegarde.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier une sauvegarde ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe BlueprintAPI​

Blueprints. Un blueprint décrit les services d'un cluster sous une forme portable, pour reconstruire la même plateforme sur un autre cluster : les services avec leur mode, leur méthode, leur configuration non secrète et leurs liaisons, et des groupes de machines (ensembles de composants qui tournent ensemble, avec leur nombre de machines). Sa forme : Opérations de ce groupe de l'API du Navin Manager.

BlueprintAPI.ApplyBlueprint​

ApplyBlueprint(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Appliquer un blueprint à un cluster. Transforme le blueprint et l'association des machines en demandes d'installation et crée une seule opération d'installation (type blueprint.apply), avec les mêmes contrôles qu'une installation de service. Renvoie operation_id et les contrôles ha. Permissions cluster:manage et services:install. Erreurs : 422 blueprint_invalid (avec details.errors), et les erreurs d'une installation. Audité en blueprint.apply.

Route : /api/v1/clusters/{cluster_id}/blueprint/apply (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiBlueprint, association des machines et options d'installation.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer un blueprint à un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BlueprintAPI.ExportBlueprint​

ExportBlueprint(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Exporter le blueprint d'un cluster. Renvoie le blueprint du cluster : ses services gérés avec leur configuration non secrète (les secrets ne sont jamais exportés) et les groupes de machines construits à partir des composants qui tournent ensemble ; hosts d'un groupe liste les machines de ce cluster à titre indicatif. Permission cluster:manage.

Route : /api/v1/clusters/{cluster_id}/blueprint (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exporter le blueprint d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BlueprintAPI.ValidateBlueprint​

ValidateBlueprint(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Valider un blueprint pour un cluster. Contrôle la forme du blueprint et, quand un host_mapping est fourni, l'association et les demandes d'installation qui en résultent. Renvoie ok et errors (chacune avec service, field, code, message_i18n). Rien n'est modifié. Permission cluster:manage.

Route : /api/v1/clusters/{cluster_id}/blueprint/validate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiBlueprint et association facultative des machines.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Valider un blueprint pour un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe ClustersAPI​

ClustersAPI enveloppe les opérations clusters du Platform Manager.

ClustersAPI.CreateCluster​

CreateCluster(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un cluster. Crée un cluster vide sur la version courante du catalogue et le renvoie (201). Sans profil, les clusters production et preprod reçoivent standard, les autres modes development. Permission clusters:create ; 409 cluster_name_taken (les noms ne tiennent pas compte de la casse). Audité en cluster.create.

Route : /api/v1/clusters (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, mode, description et profil du cluster.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.CreateToken​

CreateToken(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un jeton d'amorçage pour de nouvelles machines. Crée un jeton qui permet aux agents de s'enregistrer dans ce cluster et renvoie id, token (affiché uniquement ici), expires_at, register_command (la commande nm-agent register avec l'URL du serveur, le jeton et l'empreinte de l'autorité de certification) et install_command (un script qui installe l'agent depuis le miroir et l'enregistre). Répond 201. Permission hosts:manage. Audité en bootstrap_token.create.

Route : /api/v1/clusters/{cluster_id}/bootstrap-tokens (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiDurée de vie et nombre d'utilisations du jeton.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un jeton d'amorçage pour de nouvelles machines ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.DeleteCluster​

DeleteCluster(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un cluster vide. Supprime un cluster qui n'a aucun service et aucune machine en dehors des machines mises hors service. Répond 204. Permission cluster:manage. Erreurs : 404 cluster_not_found, 409 cluster_not_empty. Audité en cluster.delete.

Route : /api/v1/clusters/{cluster_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un cluster vide ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.GetCluster​

GetCluster(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un cluster. Renvoie le cluster. Permission cluster:read ; 404 cluster_not_found.

Route : /api/v1/clusters/{cluster_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.ImportKubernetes​

ImportKubernetes(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer un cluster Kubernetes. Contrôle le kubeconfig par rapport au serveur d'API fourni, appelle /version, scelle le kubeconfig et fait du cluster un cluster Kubernetes. Le cluster ne doit avoir aucune machine. Renvoie la cible (201). Permission cluster:manage. Erreurs : 409 k8s_already_registered, 409 k8s_cluster_has_hosts, erreurs du contrôle du kubeconfig et de l'API. Audité en k8s.cluster.register.

Route : /api/v1/clusters/{cluster_id}/kubernetes (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServeur d'API, kubeconfig et espace de noms.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer un cluster Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.ListClusters​

ListClusters(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les clusters. Clusters que l'appelant peut lire (cluster:read globalement ou sur le cluster), triés par nom : id, name, mode, description, stack_version, profile, kind (hosts ou kubernetes), created_at, updated_at.

Route : /api/v1/clusters (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les clusters ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.ListTokens​

ListTokens(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les jetons d'amorçage d'un cluster. Jetons du cluster, du plus récent au plus ancien, avec prefix, expires_at, max_uses, uses, created_at et revoked_at ; le secret n'est jamais renvoyé. Permission hosts:manage.

Route : /api/v1/clusters/{cluster_id}/bootstrap-tokens (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les jetons d'amorçage d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.PatchCluster​

PatchCluster(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Renommer un cluster ou changer son profil. Modifie le nom, la description ou le profil ; un champ omis est conservé. Renvoie le cluster. Permission cluster:manage. Erreurs : 404 cluster_not_found, 409 cluster_name_taken. Audité en cluster.update.

Route : /api/v1/clusters/{cluster_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiChamps du cluster à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Renommer un cluster ou changer son profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.Register​

Register(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un cluster. Crée un cluster vide sur la version courante du catalogue et le renvoie (201). Sans profil, les clusters production et preprod reçoivent standard, les autres modes development. Permission clusters:create ; 409 cluster_name_taken (les noms ne tiennent pas compte de la casse). Audité en cluster.create.

Route : /api/v1/clusters (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, mode, description et profil du cluster.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.RevokeToken​

RevokeToken(ctx context.Context, clusterId string, tokenId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer un jeton d'amorçage. Révoque le jeton : plus aucun nouvel agent ne peut s'enregistrer avec lui ; les machines déjà enregistrées ne sont pas affectées. Répond 204. Permission hosts:manage ; 404 bootstrap_token_not_found (inconnu ou déjà révoqué). Audité en bootstrap_token.revoke.

Route : /api/v1/clusters/{cluster_id}/bootstrap-tokens/{token_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
tokenIdstringouiIdentifiant du jeton d'amorçage.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un jeton d'amorçage ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.Status​

Status(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la synthèse d'un cluster. Compteurs de la page d'accueil d'un cluster : machines par état, services par état et par santé, alertes ouvertes (critical, warning) et opérations en cours. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/summary (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la synthèse d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.Summary​

Summary(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la synthèse d'un cluster. Compteurs de la page d'accueil d'un cluster : machines par état, services par état et par santé, alertes ouvertes (critical, warning) et opérations en cours. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/summary (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la synthèse d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.Topology​

Topology(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la topologie d'un cluster. Machines (id, hostname, state, rack) et instances de composants (service, component, host_id, state, health) du cluster, pour représenter où tourne chaque composant. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/topology (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la topologie d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ClustersAPI.Validate​

Validate(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Lancer les contrôles préalables d'installation d'un cluster. Chaque contrôle qui doit réussir avant l'installation ou la mise à niveau d'un service, avec sa sévérité, sa preuve et un verdict bloquant : caractéristiques des machines, DNS, contrôles préalables du catalogue, pare-feu, capacité, versions, TLS et règles du profil. Un contrôle en fail bloque. Rien n'est modifié. Permission services:install.

Route : /api/v1/clusters/{cluster_id}/preflight (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServices et machines à contrôler.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer les contrôles préalables d'installation d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe ConfigsAPI​

Configurations. La configuration d'un service géré : ses paramètres (déclarés par le catalogue avec leurs types, leurs valeurs par défaut et leurs sections), enregistrés en versions numérotées, avec des groupes de configuration qui surchargent des valeurs sur certaines machines. Opérations de ce groupe de l'API du Navin Manager.

ConfigsAPI.Apply​

Apply(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Appliquer la configuration aux machines. Lance l'opération qui écrit la configuration courante sur les machines et redémarre les composants comme demandé (rolling par lots de batch_size, all ou none). Renvoie operation_id. Permission configs:edit. Sous banking-secure, une approbation est nécessaire (409 approval_required). Audité en config.apply.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/apply (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiPolitique de redémarrage de l'application.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer la configuration aux machines ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.CreateGroup​

CreateGroup(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un groupe de configuration. Crée un groupe de machines avec des valeurs qui surchargent la configuration du service sur ces machines. Une machine appartient à un groupe au plus. Permission configs:edit. Erreurs : 409 config_group_name_taken, 409 config_group_host_conflict, 422 config_group_host_invalid, 422 config_invalid. Audité en config_group.create.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/groups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiNom, machines et surcharges du groupe.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un groupe de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.DeleteGroup​

DeleteGroup(ctx context.Context, clusterId string, service string, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un groupe de configuration. Supprime le groupe ; ses machines reprennent la configuration du service à la prochaine application. Répond 204. Permission configs:edit ; 404 config_group_not_found. Audité en config_group.delete.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/groups/{group_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
groupIdstringouiIdentifiant du groupe de configuration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un groupe de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.Diff​

Diff(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Comparer deux versions de configuration. Liste les paramètres dont la valeur diffère entre les deux versions, chacun avec param, secret, from et to ; pour un secret, seul le fait qu'il soit défini est indiqué. Permission configs:read.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Comparer deux versions de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.GetConfig​

GetConfig(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la configuration d'un service. Renvoie la version courante, les propriétés effectives properties (valeurs par défaut fusionnées, secrets masqués), les définitions des paramètres params et les sections du catalogue, les recommandations recommendations calculées pour les machines, les groupes de configuration groups et les stale_hosts. Permission configs:read ; 409 service_unmanaged pour un service que le Manager ne gère pas.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la configuration d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.GetVersion​

GetVersion(ctx context.Context, clusterId string, service string, version string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une version de configuration. Renvoie les valeurs d'une version (secrets masqués) avec sa note et son auteur. Permission configs:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/versions/{version} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
versionstringouiNuméro de version, à partir de 1.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une version de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.ListGroups​

ListGroups(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les groupes de configuration d'un service. Chaque groupe de configuration avec son id, son name, ses hosts, ses surcharges overrides (secrets masqués) et updated_at. Permission configs:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/groups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les groupes de configuration d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.ListVersions​

ListVersions(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les versions de configuration. Versions de la configuration, de la plus récente à la plus ancienne : version, note, restored_from, secret_keys, created_by, created_at. Paginé avec limit et cursor. Permission configs:read.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les versions de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.Preview​

Preview(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Prévisualiser les fichiers d'une instance de composant. Produit les fichiers de configuration qu'une instance recevrait avec la version courante et ses groupes : path, mode, owner, group, content, secrets masqués. Rien n'est écrit. Permission configs:read ; 404 host_component_not_found.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/preview (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser les fichiers d'une instance de composant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.PutConfig​

PutConfig(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer une nouvelle version de configuration. Fusionne les propriétés envoyées avec les valeurs courantes, les valide selon les définitions des paramètres et enregistre une nouvelle version. Renvoie version et stale_hosts. Permission configs:edit. Erreurs : 422 config_invalid (avec les champs), 409 service_unmanaged. Audité en config.update (noms des paramètres uniquement).

Route : /api/v1/clusters/{cluster_id}/services/{service}/config (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiPropriétés modifiées et une note.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer une nouvelle version de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.Restore​

Restore(ctx context.Context, clusterId string, service string, version string, opts ...eai.CallOption) (json.RawMessage, error)

Restaurer une version de configuration. Enregistre les valeurs d'une ancienne version dans une nouvelle version (note restore of version N) et renvoie version et stale_hosts ; appliquez-la pour atteindre les machines. Permission configs:edit. Audité en config.restore.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/versions/{version}/restore (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
versionstringouiNuméro de la version à restaurer.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Restaurer une version de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConfigsAPI.UpdateGroup​

UpdateGroup(ctx context.Context, clusterId string, service string, groupId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier un groupe de configuration. Remplace le nom, les machines et les surcharges du groupe. Permission configs:edit. Erreurs : 404 config_group_not_found, 409 config_group_name_taken, 409 config_group_host_conflict, 422 config_group_host_invalid. Audité en config_group.update.

Route : /api/v1/clusters/{cluster_id}/services/{service}/config/groups/{group_id} (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
groupIdstringouiIdentifiant du groupe de configuration.
bodyanyouiNom, machines et surcharges du groupe.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un groupe de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe ConnectionsAPI​

Connexions externes. Connexions vers des systèmes extérieurs aux clusters que les services peuvent utiliser : bases de données (PostgreSQL, MySQL, ClickHouse), moteurs de recherche (Elasticsearch, OpenSearch, Qdrant), messagerie (Kafka, NATS, Redis), stockage objet S3, annuaires LDAP et OIDC, SMTP, syslog et simples points d'accès HTTP. Un service se lie à une connexion par ses liaisons bindings (type connection). Opérations de ce groupe de l'API du Navin Manager.

ConnectionsAPI.CreateConnection​

CreateConnection(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer une connexion. Enregistre une connexion et la renvoie (201). Permission connections:manage. Erreurs : 409 connection_name_taken, 422 connection_params_invalid (champs dans details.fields). Audité en connection.create.

Route : /api/v1/connections (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, type, paramètres et secret de la connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une connexion ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.DeleteConnection​

DeleteConnection(ctx context.Context, connectionId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une connexion. Supprime une connexion à laquelle aucun service n'est lié. Répond 204. Permission connections:manage. Erreurs : 404 connection_not_found, 409 connection_in_use (services dans details.services). Audité en connection.delete.

Route : /api/v1/connections/{connection_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
connectionIdstringouiIdentifiant de la connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une connexion ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.GetConnection​

GetConnection(ctx context.Context, connectionId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une connexion. Renvoie une connexion, son secret masqué. Permission connections:read ; 404 connection_not_found.

Route : /api/v1/connections/{connection_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
connectionIdstringouiIdentifiant de la connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une connexion ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.ListConnections​

ListConnections(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les connexions externes. Connexions triées par nom : id, name, type, params, secret (défini ou non), description, last_test, created_at, updated_at. Paginé avec limit et cursor. Permission connections:read.

Route : /api/v1/connections (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les connexions externes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.PatchConnection​

PatchConnection(ctx context.Context, connectionId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier une connexion. Modifie les champs fournis ; le type ne peut pas changer. Renvoie la connexion. Permission connections:manage. Erreurs : 404 connection_not_found, 409 connection_name_taken, 422 connection_params_invalid. Audité en connection.update.

Route : /api/v1/connections/{connection_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
connectionIdstringouiIdentifiant de la connexion.
bodyanyouiChamps de la connexion à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une connexion ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.TestConnection​

TestConnection(ctx context.Context, connectionId string, opts ...eai.CallOption) (json.RawMessage, error)

Tester une connexion enregistrée. Exécute le test du protocole avec les paramètres et le secret enregistrés, conserve le résultat avec son heure dans last_test et le renvoie (ok, error_code, latency_ms...). Permission connections:manage ; 404 connection_not_found. Audité en connection.test.

Route : /api/v1/connections/{connection_id}/test (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
connectionIdstringouiIdentifiant de la connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Tester une connexion enregistrée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConnectionsAPI.ValidateConnection​

ValidateConnection(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Tester une connexion avant de l'enregistrer. Essai à blanc : contrôle les paramètres du type, puis exécute le vrai test du protocole avec le secret fourni. Renvoie le résultat du test (ok, error_code, latency_ms...). Rien n'est enregistré ; le secret n'est jamais renvoyé ni audité. Permission connections:manage. Audité en connection.validate.

Route : /api/v1/connections/validate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiType, paramètres et secret à tester.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Tester une connexion avant de l'enregistrer ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe ConsolesAPI​

Consoles des services. Les interfaces web locales des services installés (par exemple la console d'administration de Keycloak ou d'un courtier de messages), ouvertes depuis le Manager. Opérations de ce groupe de l'API du Navin Manager.

ConsolesAPI.ListConsoles​

ListConsoles(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les consoles des services d'un cluster. Chaque console du catalogue avec son état sur le cluster : installée ou non, santé, adresse interne, contrôles de conformité, possibilité pour l'appelant de l'ouvrir et, pour les administrateurs du coffre, l'entrée du coffre qui contient ses identifiants. Les services sans interface web sont listés à part avec leurs points d'accès HTTP. Permission services:operate. Audité en consoles.list.

Route : /api/v1/clusters/{cluster_id}/consoles (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les consoles des services d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConsolesAPI.OpenConsole​

OpenConsole(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Ouvrir une console de service. Renvoie url, les contrôles checks et compliant. Exige services:operate et la permission de la console (vault:manage pour une console d'identités ou de secrets). Erreurs : 404 console_unknown, 409 console_not_installed, 409 console_no_url, 409 console_not_compliant (production ou préproduction). Audité en console.open.

Route : /api/v1/clusters/{cluster_id}/consoles/{service}/open (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ouvrir une console de service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConsolesAPI.PutAccess​

PutAccess(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Publier l'adresse interne d'une console. Définit l'adresse interne de la console (derrière la passerelle HTTPS de la banque) et sa protection ; les deux à nul reviennent à l'adresse découverte. Renvoie la console ; l'entrée du coffre du service est mise à jour avec la nouvelle adresse. Permission cluster:manage ; 422 console_url_invalid. Audité en console.access.

Route : /api/v1/clusters/{cluster_id}/consoles/{service}/access (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiAdresse publiée et protection.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Publier l'adresse interne d'une console ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ConsolesAPI.RotateCredentials​

RotateCredentials(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Faire tourner le mot de passe d'un compte de console. Définit un nouveau mot de passe (généré s'il est omis) pour le compte de la console lu depuis la configuration : crée une nouvelle version de configuration et lance l'opération d'application ; l'entrée du coffre suit quand l'application réussit. Répond 202 avec operation_id et version. Le mot de passe n'est jamais journalisé. Permissions configs:edit et vault:manage. Erreurs : 409 console_no_credential, 409 console_rotation_manual, 409 service_unmanaged, 422 config_invalid. Audité en console.credentials.rotate.

Route : /api/v1/clusters/{cluster_id}/consoles/{service}/credentials/rotate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiNouveau mot de passe et politique de redémarrage.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Faire tourner le mot de passe d'un compte de console ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe DRAPI​

Sauvegarde, restauration et reprise après sinistre. Le gestionnaire de sauvegarde et de reprise : cibles et plans de sauvegarde, artefacts de sauvegarde avec leurs vérifications, conservation, tests de restauration, restaurations et reprise après sinistre (sites, plans, exercices, bascules, changements DNS et d'équilibreur de charge). Opérations de ce groupe de l'API du Navin Manager.

DRAPI.Approve​

Approve(ctx context.Context, exerciseId string, opts ...eai.CallOption) (json.RawMessage, error)

Approuver un exercice ou une bascule de reprise. Approuve la demande ; l'approbateur ne doit pas être le demandeur. Permission dr:manage. Erreurs : 403 restore_self_approval, 404 dr_exercise_not_found. Audité en dr.approve.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
exerciseIdstringouiIdentifiant de l'exercice ou de la demande de bascule.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un exercice ou une bascule de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.Complete​

Complete(ctx context.Context, exerciseId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Clôturer un exercice de reprise avec ses mesures. Enregistre le RPO et le RTO observés, le résultat et les preuves d'un exercice ou d'une bascule approuvés. Permission dr:manage ; 409 dr_not_approved. Audité en dr.complete.

Route : /api/v1/dr-exercises/{exercise_id}/complete (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
exerciseIdstringouiIdentifiant de l'exercice ou de la demande de bascule.
bodyanyouiMesures observées, résultat et preuves.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Clôturer un exercice de reprise avec ses mesures ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.ListPlans​

ListPlans(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les plans de reprise. Chaque plan de reprise après sinistre avec son mode, ses sites primaire et secondaire, ses objectifs de RPO et RTO et sa séquence. Permission backup:read.

Route : /api/v1/dr-plans (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les plans de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.Plan​

Plan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un plan de reprise. Crée un plan entre un site primaire et un site secondaire (créés s'ils sont inconnus) et le renvoie (201). Permission dr:manage. Erreurs : 422 dr_mode_invalid, 422 dr_same_site. Audité en dr.plan.create.

Route : /api/v1/dr-plans (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiNom, mode, sites, objectifs et séquence du plan.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un plan de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.RequestFailover​

RequestFailover(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander une bascule de reprise. Enregistre une demande de bascule réelle pour un plan (201) ; elle suit la même approbation et la même clôture qu'un exercice. Permission dr:manage ; 404 dr_plan_not_found. Audité en dr.failover.request.

Route : /api/v1/dr-failovers/request (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe plan de reprise.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander une bascule de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.Status​

Status(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les exercices et bascules de reprise. Les 200 derniers exercices et demandes de bascule avec leur rapport : statut, demandeur, approbateur, RPO et RTO observés comparés aux objectifs, preuves. Permission backup:read.

Route : /api/v1/dr-exercises (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les exercices et bascules de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DRAPI.Test​

Test(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander un exercice de reprise. Enregistre une demande d'exercice pour un plan (201) ; une autre personne doit l'approuver avant qu'il puisse être clôturé. Permission dr:manage ; 404 dr_plan_not_found. Audité en dr.exercise.request.

Route : /api/v1/dr-exercises (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe plan de reprise.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un exercice de reprise ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe HAAPI​

Groupes de haute disponibilité. Un groupe de haute disponibilité décrit comment un composant d'un cluster reste disponible : son mode de HA (single, active_passive, active_active, quorum), son profil (standalone, ha avec au moins 2 réplicas dans 2 domaines de panne, critical-ha avec au moins 3 dans 3), ses membres et leurs domaines de panne, sa politique de bascule et ses objectifs de reprise (RTO, RPO). Le groupe indique son état de HA à partir des battements de cœur de ses membres. Opérations de ce groupe de l'API du Navin Manager.

HAAPI.List​

List(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les groupes de haute disponibilité. Groupes de chaque cluster que l'appelant peut lire (cluster:read), triés par nom, chacun avec ses membres, son état de HA et son dernier test.

Route : /api/v1/ha-groups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les groupes de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HAAPI.Plan​

Plan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un groupe de haute disponibilité. Déclare un groupe et ses membres et le renvoie (201). Le profil doit être satisfait par desired_replicas et fault_domains, deux membres ne peuvent pas partager une machine. Permission cluster:manage sur le cluster. Erreurs : 422 ha_profile_unmet, 422 ha_mode_unsupported, 422 ha_members_same_host, 404 cluster_not_found, 404 host_not_found. Audité en ha_group.create.

Route : /api/v1/ha-groups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe groupe, sa politique et ses membres.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un groupe de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HAAPI.Status​

Status(ctx context.Context, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un groupe de haute disponibilité. Renvoie le groupe avec ses membres, son état de HA et son dernier test. Permission cluster:read sur son cluster ; 404 ha_group_not_found.

Route : /api/v1/ha-groups/{group_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
groupIdstringouiIdentifiant du groupe de HA.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un groupe de haute disponibilité ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HAAPI.TestFailover​

TestFailover(ctx context.Context, groupId string, opts ...eai.CallOption) (json.RawMessage, error)

Lancer un test de bascule. Prend le bail de bascule du groupe, enregistre un test avec un nouveau jeton de fencing et, quand le groupe est lié à des composants installés, lance la bascule. Répond 202 avec run_id, status, fencing_token, executed et les opérations lancées operations. Permission services:operate. Erreurs : 409 ha_operation_locked (une autre bascule détient le bail), 409 ha_client_managed_refused. Audité en ha_group.test_failover.

Route : /api/v1/ha-groups/{group_id}/test-failover (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
groupIdstringouiIdentifiant du groupe de HA.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer un test de bascule ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe HostsAPI​

HostsAPI enveloppe les opérations hosts du Platform Manager.

HostsAPI.Bootstrap​

Bootstrap(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Amorcer un agent de nœud par SSH. Lance une opération qui installe et enregistre l'agent sur une machine :

Route : /api/v1/hosts/bootstrap (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiMachine cible, machines de rebond, compte SSH, clé privée ou certificat.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Amorcer un agent de nœud par SSH ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.BootstrapPlan​

BootstrapPlan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Prévisualiser l'amorçage d'un agent de nœud. Contrôle l'identifiant par rapport à la politique SSH et renvoie le plan sans se connecter : utilisateur SSH, cible, rebonds, verdict sur l'identifiant, fichier sudoers et sa validation, liste autorisée, unité systemd et répertoire de préparation. Permission hosts:manage ; 422 ssh_policy_refused.

Route : /api/v1/hosts/bootstrap/plan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiMême corps qu'un amorçage.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser l'amorçage d'un agent de nœud ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Decommission​

Decommission(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Mettre une machine hors service. Lance une opération en deux étapes : l'agent exécute sa tâche de mise hors service, puis le Manager marque la machine decommissioned et révoque ses certificats. La machine ne doit plus avoir aucun composant. Répond 202 avec operation_id. Permission hosts:manage ; 409 host_has_components. Audité en host.decommission.

Route : /api/v1/hosts/{host_id}/decommission (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre une machine hors service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.DeleteHost​

DeleteHost(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une machine. Retire la machine du Manager et révoque les certificats de son agent, sans contacter l'agent (utilisez la mise hors service pour nettoyer la machine). Répond 204. Permission hosts:manage. Erreurs : 404 host_not_found, 409 host_has_components. Audité en host.delete.

Route : /api/v1/hosts/{host_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Diagnostics​

Diagnostics(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'inventaire d'une machine. Renvoie host_id, l'inventaire inventory rapproché à partir des caractéristiques de l'agent (matériel, GPU, plateforme) et updated_at. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/inventory (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'inventaire d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Discover​

Discover(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les machines de tous les clusters. Machines de chaque cluster que l'appelant peut lire (ou d'un seul cluster), triées par FQDN, avec leur état de confiance, leur mode de gestion, leur identité, leurs métriques, leur inventaire et leur plateforme.

Route : /api/v1/hosts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les machines de tous les clusters ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Enroll​

Enroll(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Émettre un jeton d'enrôlement pour une clé d'agent. Émet un jeton à usage unique pour une machine et une clé : host_fingerprint est le SHA-256 (hexadécimal) de la clé publique de l'agent (nm-agent l'affiche avant l'enrôlement). Le jeton expire au bout de 15 minutes au plus et est consommé par le premier enrôlement qui présente une CSR de cette clé exacte. Renvoie id, token, expires_at, ttl_s, host_fingerprint et agent_url (201). Permission hosts:manage. Audité en host.enroll_token.

Route : /api/v1/hosts/enroll (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCluster, FQDN et empreinte de clé de la machine.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre un jeton d'enrôlement pour une clé d'agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.GetHost​

GetHost(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une machine avec ses caractéristiques. Renvoie la machine avec toutes les caractéristiques remontées par son agent. Permission cluster:read sur son cluster ; 404 host_not_found.

Route : /api/v1/hosts/{host_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une machine avec ses caractéristiques ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.GetParameters​

GetParameters(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les paramètres noyau d'une machine. Les réglages sysctl et les limites de ressources (nofile, nproc, memlock) de la machine, chacun avec sa valeur current (remontée par l'agent), sa valeur desired (définie par PUT) et sa valeur recommended (issue des services installés), ainsi que le pare-feu utilisé et les ports occupés. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/parameters (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les paramètres noyau d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Health​

Health(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un agent de nœud. La vue du nœud plus ses 10 derniers certificats certificates et ses diagnostics (caractéristiques, dernières métriques, 20 derniers reçus). Permission cluster:read ; 404 host_not_found.

Route : /api/v1/agents/nodes/{host_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un agent de nœud ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.HostComponents​

HostComponents(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les composants d'une machine. Instances de composants placées sur la machine : service, component, desired_state, state, health et ses détails, version, config_version, stale_config (la configuration a changé depuis le dernier redémarrage), maintenance, pid, since, updated_at. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/components (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les composants d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.HostMetrics​

HostMetrics(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les métriques d'une machine. Séries temporelles de la machine sur [from, to] (par défaut : la dernière heure) par tranches de step secondes : cpu_pct, mem_used_mb, load1, disk_pct, net_rx, net_tx, chacune sous forme de liste de [heure, valeur]. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/metrics (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les métriques d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.ListHosts​

ListHosts(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les machines d'un cluster. Machines du cluster triées par nom d'hôte, avec leur état, leur système d'exploitation, leurs ressources, leurs étiquettes, leurs composants, leurs alertes ouvertes, la version de leur agent, l'expiration de leur certificat, leurs dernières métriques et leurs débits réseau. Permission cluster:read ; 404 cluster_not_found.

Route : /api/v1/clusters/{cluster_id}/hosts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les machines d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.PatchHost​

PatchHost(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier la baie, les étiquettes ou la maintenance d'une machine. Modifie les champs fournis et renvoie la machine. Activer la maintenance fait passer la machine à l'état maintenance, la désactiver la ramène à healthy. Permission hosts:manage ; 422 host_environment_unknown. Audité en host.update.

Route : /api/v1/hosts/{host_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiChamps de la machine à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier la baie, les étiquettes ou la maintenance d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Preflight​

Preflight(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Lancer les contrôles préalables d'une machine avant son amorçage. Lit la machine en SSH et depuis le Manager (résolution DNS directe et inverse, joignabilité TCP, ports requis libres, disques, système d'exploitation) et renvoie les contrôles classés pass, warning ou blocking, les nombres blocking et warnings, une empreinte reproductible digest et le verdict sur l'identifiant. Rien n'est installé. Permission hosts:manage. Erreurs : 422 ssh_policy_refused. Audité en host.preflight.

Route : /api/v1/hosts/preflight (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiAccès SSH, identité attendue, ports et disques à contrôler.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer les contrôles préalables d'une machine avant son amorçage ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.PreflightResults​

PreflightResults(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les résultats des contrôles préalables d'une machine. Résultat de chaque contrôle préalable de la machine (check, status, message_i18n, details, checked_at), évalué à partir de ses dernières caractéristiques. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/preflight (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les résultats des contrôles préalables d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.PutParameters​

PutParameters(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Appliquer des paramètres noyau à une machine. Enregistre les réglages sysctl et les limites de ressources et lance une opération qui les écrit dans /etc/sysctl.d/90-navin-manager.conf et /etc/security/limits.d/90-navin-manager.conf. Répond 202 avec operation_id. Permission hosts:manage. Erreurs : 422 validation_error (clé invalide ou requête vide), 409 host_rootless (agent sans droits root). Audité en host.parameters.

Route : /api/v1/hosts/{host_id}/parameters (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRéglages sysctl et limites de ressources.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer des paramètres noyau à une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.RefreshFacts​

RefreshFacts(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Relever à nouveau les caractéristiques d'une machine. Lance une opération où l'agent relève et remonte à nouveau ses caractéristiques (les contrôles préalables sont évalués dessus). Répond 202 avec operation_id. Permission hosts:manage. Audité en host.facts_refresh.

Route : /api/v1/hosts/{host_id}/facts/refresh (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Relever à nouveau les caractéristiques d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.Revoke​

Revoke(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer l'agent d'une machine. Passe l'état de confiance à revoked, révoque les certificats de l'agent et fait expirer ses commandes en attente. Seul un nouvel enrôlement le rétablit. Renvoie le nœud. Permission hosts:manage. Audité en host.revoke avec le nombre de certificats révoqués.

Route : /api/v1/hosts/{host_id}/revoke (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRaison du changement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer l'agent d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.RunPreflight​

RunPreflight(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lancer les contrôles préalables d'une machine. Lance une opération qui relève des caractéristiques à jour ; les contrôles préalables sont évalués à leur arrivée. Lisez les résultats avec GET /hosts/{host_id}/preflight. Répond 202 avec operation_id. Permission hosts:manage. Audité en host.preflight.

Route : /api/v1/hosts/{host_id}/preflight (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer les contrôles préalables d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HostsAPI.SSHBootstrap​

SSHBootstrap(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Installer des agents par SSH. Lance une opération avec une tâche par machine : le Manager se connecte en SSH (la clé de la machine doit correspondre à l'empreinte fournie), installe l'agent et l'enregistre avec un jeton d'amorçage créé pour cette opération (valable 2 heures, une utilisation par machine). La clé privée est gardée en mémoire pour les tâches uniquement, jamais conservée ni journalisée. Une machine en échec n'arrête pas les autres. Répond 202 avec operation_id. Permission hosts:manage. Erreurs : 422 validation_error (nom invalide ou empreinte manquante), 404 cluster_not_found. Audité en host.ssh_bootstrap.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiMachines, compte SSH, clé privée et empreintes des clés des machines.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer des agents par SSH ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe HubAPI​

Navin Trusted Hub. Client du Navin Trusted Hub : le Manager récupère (en ligne) ou importe (hors ligne) le document de distribution signé du client, le vérifie, conserve ses cibles (paquets et images approuvés avec leurs empreintes) et alimente le miroir avec les images approuvées. Opérations de ce groupe de l'API du Navin Manager.

HubAPI.GetStatus​

GetStatus(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'état du Hub. Renvoie configured, les réglages publics settings (le jeton n'est jamais renvoyé), l'état state du dernier document accepté et un résumé packages_summary. Permission system:read.

Route : /api/v1/hub (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état du Hub ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HubAPI.ImportOffline​

ImportOffline(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Importer un document de distribution hors ligne. Vérifie et enregistre un document signé apporté sur support amovible (site isolé). Exige le client et les clés épinglées dans les réglages. Renvoie metadata_version, targets, images_loaded et changes. Permission settings:manage ; 422 hub_document_invalid quand un contrôle échoue. Audité en hub.import.

Route : /api/v1/hub/import (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe document de distribution signé, en JSON.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Importer un document de distribution hors ligne ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HubAPI.ListPackages​

ListPackages(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les paquets approuvés. Cibles du document accepté (projet, nom, version, image, révocation), chacune indiquant si c'est la dernière version approuvée et si elle est installée sur un cluster. Renvoie items. Permission system:read.

Route : /api/v1/hub/packages (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les paquets approuvés ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HubAPI.PutSettings​

PutSettings(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer les réglages du Hub. Enregistre la connexion au Hub et renvoie l'état. Le jeton est scellé ; laissez-le nul pour conserver celui enregistré. Permission settings:manage ; 422 hub_document_invalid quand trusted_keys_pem ne contient aucune clé publique Ed25519. Audité en hub.settings (identifiants des clés uniquement).

Route : /api/v1/hub/settings (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiAdresse du Hub, client, clés et jeton.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer les réglages du Hub ». L'error est une erreur typée du SDK, nil en cas de succès.

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

HubAPI.Sync​

Sync(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Synchroniser avec le Hub. Télécharge le document du client depuis le Hub, le vérifie et l'enregistre. Exige l'URL, le client et les clés épinglées dans les réglages. Renvoie metadata_version, targets, images_loaded et changes. Permission settings:manage. Audité en hub.sync.

Route : /api/v1/hub/sync (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Synchroniser avec le Hub ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe KubernetesAPI​

Clusters Kubernetes. Un cluster du Manager peut être un cluster Kubernetes plutôt qu'un ensemble de machines. Le Manager lui parle uniquement par son serveur d'API (jamais en SSH) avec un kubeconfig scellé, et y exécute les services du catalogue sous forme de ressources ManagedComponent du groupe platform.navin.ai : il écrit l'état souhaité (application côté serveur, gestionnaire de champs navin-manager), le Navin Platform Operator applique les charts, et toute réponse sur un composant est lue dans le statut de sa ressource. Le Navin Cluster Agent, déployé dans le cluster, reçoit des commandes signées et rend compte. Opérations de ce groupe de l'API du Navin Manager.

KubernetesAPI.AgentManifests​

AgentManifests(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les manifestes de l'agent de cluster. ServiceAccount, RBAC et Deployment de l'agent de cluster pour l'espace de noms géré, sous forme d'objets (manifests) et de YAML (yaml) prêt pour kubectl apply. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent/manifests (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les manifestes de l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.ComponentAction​

ComponentAction(ctx context.Context, clusterId string, name string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur un composant Kubernetes. Modifie l'état souhaité : start, stop, restart ou rolling_restart (un horodatage de redémarrage), scale (replicas fixes ou autoscaling, jamais sous le budget d'interruption) ou maintenance (enabled). Répond 202 avec component et requested. Permission services:operate. Erreurs : 409 k8s_maintenance, 409 k8s_component_stopped, 409 k8s_replicas_below_pdb. Audité en k8s.component.<action>.

Route : /api/v1/clusters/{cluster_id}/kubernetes/components/{name}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namestringouiNom du composant.
bodyanyouiAction et ses arguments.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur un composant Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.ConfigureComponent​

ConfigureComponent(ctx context.Context, clusterId string, name string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Configurer un composant Kubernetes. Modifie la version, la source, les valeurs, les références de secrets ou le budget d'interruption du composant (application côté serveur). Les valeurs qui ressemblent à des secrets sont refusées : utilisez secret_refs. Permission configs:edit. Erreurs : 422 k8s_values_secret, 409 k8s_maintenance, 404 k8s_component_not_found. Audité en k8s.component.configure (noms des champs uniquement).

Route : /api/v1/clusters/{cluster_id}/kubernetes/components/{name} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namestringouiNom du composant.
bodyanyouiChamps du composant à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Configurer un composant Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.GetAgent​

GetAgent(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'agent de cluster. État de l'identité du Navin Cluster Agent et son dernier rapport. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.GetComponent​

GetComponent(ctx context.Context, clusterId string, name string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un composant Kubernetes. Lit la ressource et renvoie son état observé. Permission cluster:read ; 404 k8s_component_not_found (l'enregistrement est supprimé quand la ressource a disparu).

Route : /api/v1/clusters/{cluster_id}/kubernetes/components/{name} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namestringouiNom du composant.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un composant Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.GetTarget​

GetTarget(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une cible Kubernetes. Renvoie le serveur d'API, l'espace de noms, la version du serveur, le mode, la distribution et le nombre de nœuds découverts, l'heure de la découverte, la dernière erreur et le kubeconfig sous la forme {"secret": true, "set": true}. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une cible Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.ImportRBAC​

ImportRBAC(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire le RBAC de l'identité d'import. RBAC à moindre privilège de l'identité qu'utilise le Manager pour le cluster, sous forme d'objets et de YAML, avec le nom d'utilisateur obtenu : lecture de ce dont la découverte a besoin, écriture uniquement des ressources platform.navin.ai dans l'espace de noms géré ; aucun Secret, objet RBAC, charge de travail, exec ni usurpation d'identité. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes/import-rbac (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le RBAC de l'identité d'import ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.InstallComponent​

InstallComponent(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Installer un service du catalogue sur Kubernetes. Crée la ressource ManagedComponent d'un service du catalogue (chart depuis un chemin ou une référence OCI épinglée par empreinte) et renvoie son état (201). Les valeurs qui ressemblent à des secrets sont refusées. Permission services:install. Erreurs : 409 k8s_component_exists, 422 k8s_values_secret, 409 k8s_replicas_below_pdb. Audité en k8s.component.install.

Route : /api/v1/clusters/{cluster_id}/kubernetes/components (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiService, source, valeurs, réplicas et politiques du composant.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer un service du catalogue sur Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.Issue​

Issue(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Émettre l'identité de l'agent de cluster. Émet le certificat client et la configuration du Navin Cluster Agent : certificate_pem, private_key_pem (renvoyée une seule fois, jamais conservée), ca_pem, manager_public_key_pem, config, fingerprint et not_after (201). Permission cluster:manage ; 422 k8s_agent_gateway_url_invalid. Audité en k8s.agent.issue.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiURL de la passerelle, locataire et délai hors ligne de l'agent.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre l'identité de l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.LastDiscovery​

LastDiscovery(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la dernière découverte d'un cluster Kubernetes. Renvoie l'inventaire de la dernière découverte. Permission cluster:read ; 404 k8s_not_discovered.

Route : /api/v1/clusters/{cluster_id}/kubernetes/discovery (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la dernière découverte d'un cluster Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.ListCommands​

ListCommands(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les commandes de l'agent de cluster. Les 200 dernières commandes mises en file pour l'agent de cluster, chacune avec ses reçus. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent/commands (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les commandes de l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.ListComponents​

ListComponents(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les composants Kubernetes. Liste en direct : chaque ManagedComponent de l'espace de noms avec son statut, qui est aussi inscrit dans le modèle du Manager. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/kubernetes/components (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les composants Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.PatchTarget​

PatchTarget(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier une cible Kubernetes. Modifie le serveur d'API, le kubeconfig (renvoyez l'objet relu pour le conserver) ou l'espace de noms (refusé tant que des composants restent) ; le contrôle du kubeconfig s'exécute à nouveau. Permission cluster:manage. Erreurs : 422 validation_error, 409 k8s_components_remain. Audité en k8s.cluster.update.

Route : /api/v1/clusters/{cluster_id}/kubernetes (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiChamps de la cible à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une cible Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.QueueCommand​

QueueCommand(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Mettre en file une commande signée pour l'agent de cluster. Enregistre la décision d'autorisation, puis met en file une commande signée (managedcomponent.apply, managedcomponent.delete ou inventory.report) que l'agent récupère. Répond 202 avec la commande. Permission services:operate. Audité en k8s.agent.policy.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent/commands (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiOpération, paramètres, clé d'idempotence et validité.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre en file une commande signée pour l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.Register​

Register(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer un cluster Kubernetes. Contrôle le kubeconfig par rapport au serveur d'API fourni, appelle /version, scelle le kubeconfig et fait du cluster un cluster Kubernetes. Le cluster ne doit avoir aucune machine. Renvoie la cible (201). Permission cluster:manage. Erreurs : 409 k8s_already_registered, 409 k8s_cluster_has_hosts, erreurs du contrôle du kubeconfig et de l'API. Audité en k8s.cluster.register.

Route : /api/v1/clusters/{cluster_id}/kubernetes (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServeur d'API, kubeconfig et espace de noms.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer un cluster Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.RemoveComponent​

RemoveComponent(ctx context.Context, clusterId string, name string, opts ...eai.CallOption) (json.RawMessage, error)

Retirer un composant Kubernetes. Supprime la ressource ManagedComponent ; l'opérateur désinstalle le chart. Répond 202 avec {"name", "state": "removed"} une fois la ressource disparue, sinon le composant en cours de suppression. Permission services:install. Erreurs : 404 k8s_component_not_found, 409 k8s_maintenance. Audité en k8s.component.remove.

Route : /api/v1/clusters/{cluster_id}/kubernetes/components/{name} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namestringouiNom du composant (la ressource ManagedComponent).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Retirer un composant Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.Revoke​

Revoke(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer l'identité de l'agent de cluster. Révoque l'identité du Navin Cluster Agent. Répond 204. Permission cluster:manage ; 404 k8s_agent_not_registered. Audité en k8s.agent.revoke.

Route : /api/v1/clusters/{cluster_id}/kubernetes/agent (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer l'identité de l'agent de cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.RunDiscovery​

RunDiscovery(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Découvrir un cluster Kubernetes. Lit, par des appels en lecture seule, la version, la distribution (fournie par le client ou gérée), les nœuds avec leur capacité et leurs GPU, les classes de stockage et d'ingress, CoreDNS et les modules de la plateforme (cert-manager, Cilium, Kyverno, Argo CD, KEDA...). Enregistre et renvoie l'inventaire. Permission hosts:manage. Audité en k8s.discovery.

Route : /api/v1/clusters/{cluster_id}/kubernetes/discovery (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Découvrir un cluster Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

KubernetesAPI.Unregister​

Unregister(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Désenregistrer un cluster Kubernetes. Oublie le serveur d'API et le kubeconfig ; le cluster redevient un cluster de machines. Refusé tant que des composants restent (409 k8s_components_remain). Répond 204. Permission cluster:manage. Audité en k8s.cluster.unregister.

Route : /api/v1/clusters/{cluster_id}/kubernetes (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Désenregistrer un cluster Kubernetes ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe LifecycleAPI​

Cycle de vie. Le cycle de vie d'un cluster et de ses services après l'installation : profil d'installation et approbations, contrôles préalables, contrôles de vivacité, de disponibilité et de fonctionnement, mises à niveau avec retour arrière et restauration, sauvegardes et restaurations coordonnées, détection des dérives, archives de support expurgées, rapports de recette signés et fiche uniforme de composant. Opérations de ce groupe de l'API du Navin Manager.

LifecycleAPI.AcceptanceKey​

AcceptanceKey(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la clé publique qui signe les rapports de recette. Renvoie algorithm (Ed25519), key_id et public_key_pem, pour vérifier un rapport hors ligne. Tout utilisateur connecté.

Route : /api/v1/acceptance/public-key (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la clé publique qui signe les rapports de recette ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ClusterProfile​

ClusterProfile(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Évaluer le profil d'un cluster. Chaque règle du profil du cluster (ou de profile, pour comparer avant d'en choisir un) évaluée par rapport à l'état réel, chacune avec son status (pass ou fail), son libellé et sa raison ; le statut est bloqué quand une règle échoue. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/profile (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Évaluer le profil d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ComponentSheet​

ComponentSheet(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la fiche de composant d'un service. Chaque onglet de la fiche uniforme de composant, à partir de l'état observé : overview, instances, config, dependencies, logs, metrics, security (TLS, points d'accès, secrets définis ou non, ports, certificats, utilisateurs d'exécution, profil), operations, upgrade, backups, audit et support. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/sheet (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la fiche de composant d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.CreateBackup​

CreateBackup(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Prendre une sauvegarde coordonnée. Lance une opération qui sauvegarde les services fournis (par défaut tous les services sauvegardables) dans l'ordre des dépendances, avec un set_id commun ; le lot ne réussit que si chaque membre a réussi. Renvoie operation_id, set_id et backup_ids. Permission services:operate. Audité en backup.create.

Route : /api/v1/clusters/{cluster_id}/backups (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServices à sauvegarder.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prendre une sauvegarde coordonnée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.CreateBundle​

CreateBundle(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Construire une archive de support. Lance une opération qui rassemble les fins de journaux, le profil, les machines, les versions et états des services, la configuration produite, les alertes ouvertes, les constats de dérive et l'historique des opérations dans une archive tar.gz où chaque secret et chaque donnée personnelle est masqué. Renvoie operation_id et bundle_id. Permission cluster:manage. Audité en support.bundle.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Construire une archive de support ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.CreateReport​

CreateReport(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lancer une recette. Lance l'opération acceptance.run : contrôles préalables du cluster, vivacité de chaque instance en marche, disponibilité et test fonctionnel de chaque service géré (chaque étape tolère ses échecs pour que tous les contrôles s'exécutent), puis le rapport signé. Renvoie operation_id et report_id. Permission services:install. Audité en acceptance.run.

Route : /api/v1/clusters/{cluster_id}/acceptance-reports (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer une recette ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.DecideApproval​

DecideApproval(ctx context.Context, clusterId string, approvalId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Approuver ou rejeter une demande d'approbation. Tranche une demande en attente ; le demandeur ne peut pas trancher la sienne. Renvoie l'approbation. Permission cluster:manage. Erreurs : 404 approval_invalid, 409 approval_not_pending, 403 approval_self. Audité en approval.approve ou approval.reject.

Route : /api/v1/clusters/{cluster_id}/approvals/{approval_id}/decision (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
approvalIdstringouiIdentifiant de la demande d'approbation.
bodyanyouiLa décision.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver ou rejeter une demande d'approbation ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.DownloadBundle​

DownloadBundle(ctx context.Context, clusterId string, bundleId string, opts ...eai.CallOption) (json.RawMessage, error)

Télécharger une archive de support. Renvoie l'archive navin-support-<heure>.tar.gz d'une archive réussie. Permission cluster:manage ; 404 bundle_not_found. Audité en support.bundle_download.

Route : /api/v1/clusters/{cluster_id}/support-bundles/{bundle_id}/download (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bundleIdstringouiIdentifiant de l'archive de support.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Télécharger une archive de support ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.DriftReconcile​

DriftReconcile(ctx context.Context, clusterId string, findingId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Corriger un constat de dérive. Réécrit les fichiers et unités de l'instance qui a dérivé à partir de la configuration du Manager (et la redémarre si demandé). Renvoie operation_id. Permission configs:edit. Erreurs : 404 drift_not_found, 409 drift_not_reconcilable (un fichier qui n'appartient à aucun service). Audité en drift.reconcile.

Route : /api/v1/clusters/{cluster_id}/drift/{finding_id}/reconcile (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
findingIdstringouiIdentifiant du constat de dérive.
bodyanyouiOption de redémarrage et approbation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Corriger un constat de dérive ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.DriftReport​

DriftReport(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire le rapport de dérive d'un cluster. Constats des derniers contrôles : fichiers et unités gérés modifiés, supprimés ou remplacés en dehors du Manager, avec machine, service, composant et chemin. Les constats ouverts lèvent l'alerte config_drift. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/drift (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le rapport de dérive d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.DriftScan​

DriftScan(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Rechercher les dérives du cluster. Lance une opération avec une tâche d'empreintes par machine sur les fichiers et unités écrits par le Manager ; les différences ouvrent des constats. Renvoie operation_id. Permission services:operate. Audité en drift.scan.

Route : /api/v1/clusters/{cluster_id}/drift/scan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiMachines à contrôler.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Rechercher les dérives du cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.GetReport​

GetReport(ctx context.Context, clusterId string, reportId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un rapport de recette signé. Renvoie le document signé : un élément par contrôle avec PASS, FAIL ou BLOCKED et sa preuve, le verdict (FAIL quand un élément a échoué, BLOCKED quand aucun n'a échoué et qu'un est bloqué, sinon PASS) et la signature. Permission cluster:read ; 404 acceptance_not_found tant que l'exécution n'a pas réussi.

Route : /api/v1/clusters/{cluster_id}/acceptance-reports/{report_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
reportIdstringouiIdentifiant du rapport de recette.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un rapport de recette signé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListApprovals​

ListApprovals(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les approbations d'un cluster. Les 200 dernières approbations, de la plus récente à la plus ancienne : action, service, reason, status (pending, approved, rejected, expired ou used), demandeur, décideur, l'opération qui l'a utilisée et les horaires. Les approbations échues sont d'abord marquées expired. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/approvals (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les approbations d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListBackups​

ListBackups(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les sauvegardes de services d'un cluster. Renvoie backupable (les services installés dont le catalogue déclare une sauvegarde) et les 300 dernières sauvegardes avec leur service, machine, lot, statut, fichiers et empreintes. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/backups (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les sauvegardes de services d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListBundles​

ListBundles(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les archives de support d'un cluster. Les 50 dernières archives avec leur statut, leur taille, leur SHA-256, leur contenu, leurs masquages et leur opération. Permission cluster:manage.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les archives de support d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListProfiles​

ListProfiles(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les profils d'installation. Chaque profil avec son libellé et sa description dans les deux langues, ses règles, l'exigence ou non d'approbations et la sévérité des règles réseau. Tout utilisateur connecté.

Route : /api/v1/profiles (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les profils d'installation ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListReports​

ListReports(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les rapports de recette d'un cluster. Les 100 dernières exécutions de recette du cluster, de la plus récente à la plus ancienne, avec leur statut, leur verdict et leur opération. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/acceptance-reports (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les rapports de recette d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ListUpgrades​

ListUpgrades(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les mises à niveau d'un cluster. Les 200 dernières mises à niveau de chaque service avec leurs versions, leur statut, leur sauvegarde et leurs opérations. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/upgrades (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les mises à niveau d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ReportHTML​

ReportHTML(ctx context.Context, clusterId string, reportId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un rapport de recette en HTML. Produit le rapport sous forme de page HTML autonome dans la langue demandée, pour l'imprimer ou l'archiver. Permission cluster:read ; 404 acceptance_not_found.

Route : /api/v1/clusters/{cluster_id}/acceptance-reports/{report_id}/html (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
reportIdstringouiIdentifiant du rapport de recette.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un rapport de recette en HTML ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.RequestApproval​

RequestApproval(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander une approbation. Enregistre une demande en attente pour une action perturbatrice sur un service ; un autre utilisateur la tranche. Renvoie l'approbation (201). Permission services:operate. Audité en approval.request.

Route : /api/v1/clusters/{cluster_id}/approvals (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiAction, service et raison.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander une approbation ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.RestoreBackup​

RestoreBackup(ctx context.Context, clusterId string, backupId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Restaurer une sauvegarde de service. Lance l'opération de restauration : arrêt des instances, contrôle des empreintes, étapes de restauration, démarrage des instances, contrôles de santé, étapes de vérification, contrôle de service et test fonctionnel. Renvoie operation_id. Permission services:install ; une approbation sous banking-secure. Audité en backup.restore.

Route : /api/v1/clusters/{cluster_id}/backups/{backup_id}/restore (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
backupIdstringouiIdentifiant de la sauvegarde de service.
bodyanyouiApprobation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Restaurer une sauvegarde de service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.RestoreUpgrade​

RestoreUpgrade(ctx context.Context, clusterId string, upgradeId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Restaurer la sauvegarde prise avant une mise à niveau. Lance l'opération qui ramène la version précédente et ses données depuis la sauvegarde prise avant la mise à niveau, quand un retour arrière n'est pas possible. Renvoie operation_id. Permission services:install ; 404 upgrade_not_found ; une approbation sous banking-secure. Audité en service.restore.

Route : /api/v1/clusters/{cluster_id}/upgrades/{upgrade_id}/restore (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
upgradeIdstringouiIdentifiant de la mise à niveau.
bodyanyouiApprobation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Restaurer la sauvegarde prise avant une mise à niveau ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.Rollback​

Rollback(ctx context.Context, clusterId string, upgradeId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Annuler une mise à niveau. Lance l'opération qui rejoue les tâches scellées de la version précédente et rétablit la version de configuration précédente. Refusé quand le descripteur le déclare impossible ou qu'une migration irréversible a eu lieu (utilisez alors la restauration). Renvoie operation_id. Permission services:install ; 404 upgrade_not_found. Audité en service.rollback.

Route : /api/v1/clusters/{cluster_id}/upgrades/{upgrade_id}/rollback (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
upgradeIdstringouiIdentifiant de la mise à niveau.
bodyanyouiApprobation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Annuler une mise à niveau ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.RunPreflight​

RunPreflight(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Lancer les contrôles préalables d'installation d'un cluster. Chaque contrôle qui doit réussir avant l'installation ou la mise à niveau d'un service, avec sa sévérité, sa preuve et un verdict bloquant : caractéristiques des machines, DNS, contrôles préalables du catalogue, pare-feu, capacité, versions, TLS et règles du profil. Un contrôle en fail bloque. Rien n'est modifié. Permission services:install.

Route : /api/v1/clusters/{cluster_id}/preflight (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServices et machines à contrôler.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer les contrôles préalables d'installation d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.ServiceChecks​

ServiceChecks(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les contrôles d'un service. Vivacité de chaque instance (contrôles de santé de l'agent), disponibilité (contrôle de service) et test fonctionnel, chacun avec son statut, ses résultats, son erreur et son heure. Seul un test fonctionnel réussi prouve que le service fonctionne. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/checks (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les contrôles d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.SetProfile​

SetProfile(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Changer le profil d'un cluster. Définit le profil d'installation et renvoie son évaluation. Permission cluster:manage. Audité en cluster.profile avec l'ancien et le nouveau profil.

Route : /api/v1/clusters/{cluster_id}/profile (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiLe nouveau profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Changer le profil d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.StartUpgrade​

StartUpgrade(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Mettre à niveau un service. Met à niveau le service vers la version du catalogue en une seule opération :

Route : /api/v1/clusters/{cluster_id}/services/{service}/upgrade (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiMachine canari et approbation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre à niveau un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.UpgradeInfo​

UpgradeInfo(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Vérifier si un service peut être mis à niveau. Renvoie from (version installée), to (version du catalogue), allowed avec les problèmes problems, stateful, backup_before, les migrations, la possibilité d'un retour arrière rollback, la matrice de mise à niveau et l'historique history des 50 dernières mises à niveau. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/upgrade (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier si un service peut être mis à niveau ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LifecycleAPI.VerifyReport​

VerifyReport(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Vérifier la signature d'un rapport de recette. Contrôle la signature Ed25519 d'un document de rapport avec la clé de ce Manager et renvoie valid, trusted, key_id et la raison reason d'un refus. Tout utilisateur connecté.

Route : /api/v1/acceptance/verify (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe document de rapport signé.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier la signature d'un rapport de recette ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe McpAPI​

Serveurs MCP. Les serveurs MCP (Model Context Protocol) d'un projet de locataire : créés à partir d'un modèle de la bibliothèque Navin ou saisis par un administrateur, testés, et éventuellement hébergés sur le service mcp-host d'un cluster. Opérations de ce groupe de l'API du Navin Manager.

McpAPI.CreateServer​

CreateServer(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un serveur MCP. Crée un serveur à partir d'un modèle (ses champs obligatoires sont exigés) ou un serveur personnalisé, et le renvoie (201). Un modèle dont l'URL n'est pas interne exige url réglé sur l'adresse interne de son serveur. Permission mcp:manage. Erreurs : 422 mcp_fields_missing, 422 mcp_fields_unknown, 422 mcp_target_required, 422 mcp_online_forbidden, 404 mcp_preset_not_found, 409 mcp_server_name_taken. Audité en mcp.create.

Route : /api/v1/mcp/servers (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLocataire, projet et définition du serveur.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.DeleteServer​

DeleteServer(ctx context.Context, serverId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un serveur MCP. Supprime le serveur ; un serveur hébergé est d'abord retiré de son hébergement. Répond 204. Permission mcp:manage ; 404 mcp_server_not_found. Audité en mcp.delete.

Route : /api/v1/mcp/servers/{server_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.GetServer​

GetServer(ctx context.Context, serverId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un serveur MCP. Renvoie le serveur avec son transport, son URL ou sa commande, ses outils autorisés, les noms des champs configurés et secrets, son dernier test et son hébergement (état, cluster, URL ; jamais le jeton). Permission mcp:read ; 404 mcp_server_not_found.

Route : /api/v1/mcp/servers/{server_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.HostServer​

HostServer(ctx context.Context, serverId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Héberger un serveur MCP stdio sur un cluster. Héberge un serveur stdio sur le service mcp-host d'un cluster : un nouveau jeton porteur (scellé ; l'environnement d'exécution ne reçoit que son SHA-256), statut deploying, puis l'opération mcp.hosting.apply qui écrit servers.json sur chaque instance ; le statut devient hosted ou failed. Répond 202 avec le serveur et operation_id. Permission mcp:manage. Erreurs : 422 mcp_hosting_stdio_only, 409 mcp_hosting_disabled, 409 mcp_host_not_installed. Audité en mcp.host.

Route : /api/v1/mcp/servers/{server_id}/hosting (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
bodyanyouiCluster et limites de l'hébergement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Héberger un serveur MCP stdio sur un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.HostedServers​

HostedServers(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les serveurs MCP hébergés avec leurs jetons. Serveurs hébergés d'un locataire (un projet ou tous) avec url, le jeton porteur token, allowed_tools, status et hosted_at, pour la plateforme Navin Enterprise. Permission mcp:publish (rôle admin uniquement). Audité en mcp.hosted_list (identifiants uniquement, jamais un jeton).

Route : /api/v1/mcp/hosted (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les serveurs MCP hébergés avec leurs jetons ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.HostingInfrastructure​

HostingInfrastructure(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'infrastructure d'hébergement MCP. Par cluster : installation ou non de mcp-host, ses instances (FQDN, URL de base, état) et le nombre de serveurs que chacune héberge. Un serveur est placé sur une instance d'après une empreinte de son identifiant. Permission mcp:read.

Route : /api/v1/mcp/hosting (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'infrastructure d'hébergement MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.ListPresets​

ListPresets(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les modèles MCP. Modèles de la bibliothèque Navin (nom, catégorie, transport, hébergement, champs à remplir), triés par catégorie et par nom. Permission mcp:read ; 503 mcp_presets_unavailable.

Route : /api/v1/mcp/presets (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les modèles MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.ListServers​

ListServers(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les serveurs MCP d'un projet. Serveurs d'un projet d'un locataire (les deux obligatoires), sans aucune valeur secrète. Permission mcp:read.

Route : /api/v1/mcp/servers (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les serveurs MCP d'un projet ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.RenewToken​

RenewToken(ctx context.Context, serverId string, opts ...eai.CallOption) (json.RawMessage, error)

Renouveler le jeton d'un serveur MCP hébergé. Émet un nouveau jeton porteur et l'applique ; l'ancien jeton cesse de fonctionner une fois l'application faite. Répond 202. Permission mcp:manage. Erreurs : 409 mcp_not_hosted, 409 mcp_hosting_disabled. Audité en mcp.hosting_token.

Route : /api/v1/mcp/servers/{server_id}/hosting/token (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Renouveler le jeton d'un serveur MCP hébergé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.TestServer​

TestServer(ctx context.Context, serverId string, opts ...eai.CallOption) (json.RawMessage, error)

Tester un serveur MCP. Parle MCP au serveur (initialize, notifications/initialized, tools/list) en HTTP en flux, en SSE, ou sur l'entrée et la sortie standard de la commande quand elle est dans le PATH (sans shell, avec un délai) ; un serveur hébergé est testé à son URL d'hébergement avec son jeton. Renvoie et conserve dans last_test le résultat {ok, tools, server_info, error, tested_at} ; une erreur ne répète jamais une valeur secrète. Permission mcp:manage ; 422 mcp_online_forbidden. Audité en mcp.test.

Route : /api/v1/mcp/servers/{server_id}/test (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Tester un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.UnhostServer​

UnhostServer(ctx context.Context, serverId string, opts ...eai.CallOption) (json.RawMessage, error)

Arrêter l'hébergement d'un serveur MCP. Retire le serveur de son hébergement : statut removing, puis l'opération mcp.hosting.apply sans lui (none à la fin). Répond 202 avec le serveur et operation_id. Permission mcp:manage ; 409 mcp_not_hosted. Audité en mcp.unhost.

Route : /api/v1/mcp/servers/{server_id}/hosting (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Arrêter l'hébergement d'un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpAPI.UpdateServer​

UpdateServer(ctx context.Context, serverId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier un serveur MCP. Modifie les champs fournis et renvoie le serveur. values est fusionné avec les valeurs enregistrées ; url, command, args, headers et env ne s'appliquent qu'aux serveurs personnalisés (422 mcp_custom_only). Désactiver un serveur hébergé le retire de son hébergement. Permission mcp:manage. Erreurs : 422 mcp_fields_unknown, 422 mcp_online_forbidden. Audité en mcp.update.

Route : /api/v1/mcp/servers/{server_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
serverIdstringouiIdentifiant du serveur MCP.
bodyanyouiChamps du serveur à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un serveur MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe McpRuntimeAPI​

Environnement d'exécution MCP. L'environnement d'exécution MCP d'un cluster Kubernetes : le ToolHive Kubernetes Operator, installé à partir de charts épinglés, et les instances éphémères de serveurs MCP qu'y crée le contrôleur de cycle de vie du Control Plane. Opérations de ce groupe de l'API du Navin Manager.

McpRuntimeAPI.DestroyInstance​

DestroyInstance(ctx context.Context, clusterId string, namespace string, name string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une instance MCP gérée. Supprime un MCPServer géré (précondition sur l'uid) ; le contrôleur du Control Plane révoque ensuite ses identifiants et le clôt. Renvoie namespace, name, instance_id et state (deleting). Permission services:operate. Erreurs : 404 mcp_runtime_instance_not_found, 502 mcp_runtime_forbidden (l'identité du Manager n'a pas le droit). Audité en mcp_runtime.instance.destroy.

Route : /api/v1/clusters/{cluster_id}/mcp-runtime/instances/{namespace}/{name} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namespacestringouiEspace de noms de projet de l'instance, mcp-<12 hex>.
namestringouiNom de l'objet MCPServer.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une instance MCP gérée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpRuntimeAPI.InstallToolhive​

InstallToolhive(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Installer l'opérateur ToolHive. Écrit les deux ressources ManagedComponent de ToolHive (CRD, puis opérateur) dans toolhive-system, épinglées par empreinte. Renvoie namespace, version et les composants écrits components (201). Permission services:install ; 409 mcp_runtime_installed. Audité en mcp_runtime.install.

Route : /api/v1/clusters/{cluster_id}/mcp-runtime/install (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer l'opérateur ToolHive ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpRuntimeAPI.RestartInstance​

RestartInstance(ctx context.Context, clusterId string, namespace string, name string, opts ...eai.CallOption) (json.RawMessage, error)

Redémarrer une instance MCP gérée. Redémarre un MCPServer géré sans changer sa spécification : un correctif de fusion de l'annotation mcpserver.toolhive.stacklok.dev/restarted-at vers une nouvelle heure RFC 3339 (redémarrage progressif par l'opérateur), avec l'uid en précondition. Renvoie namespace, name, instance_id, state (restarting) et restarted_at. Permission services:operate ; 404 mcp_runtime_instance_not_found. Audité en mcp_runtime.instance.restart.

Route : /api/v1/clusters/{cluster_id}/mcp-runtime/instances/{namespace}/{name}/restart (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
namespacestringouiEspace de noms de projet de l'instance, mcp-<12 hex>.
namestringouiNom de l'objet MCPServer.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Redémarrer une instance MCP gérée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

McpRuntimeAPI.RuntimeState​

RuntimeState(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'état de l'environnement MCP. Renvoie l'état de l'opérateur operator (avec crd_installed), les composants ToolHive components, le preset, les instances gérées items (filtrées par tenant et project), les objets ignorés ignored, les agrégats aggregates par locataire et par projet (toujours sur toutes les instances gérées) et observed_at. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/mcp-runtime (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état de l'environnement MCP ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe MeAPI​

Mon profil. Le profil de l'utilisateur connecté et ses jetons d'API personnels. Opérations de ce groupe de l'API du Navin Manager.

MeAPI.ListTokens​

ListTokens(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister mes jetons d'API. Liste tous les jetons de l'appelant, du plus récent au plus ancien, révoqués compris : id, name, prefix, permissions (nul : toutes les permissions de l'utilisateur), expires_at, last_used_at, revoked_at, created_at. Le secret n'est jamais renvoyé.

Route : /api/v1/me/tokens (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister mes jetons d'API ». L'error est une erreur typée du SDK, nil en cas de succès.

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

MeAPI.Me​

Me(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire mon profil. Renvoie le compte de l'appelant : identifiant, nom d'utilisateur, nom affiché, e-mail, origine (local, ldap, oidc), attributions de rôle, état de la MFA, langue, verrouillage et dernière connexion.

Route : /api/v1/me (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire mon profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

MeAPI.RevokeToken​

RevokeToken(ctx context.Context, tokenId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer un de mes jetons d'API. Révoque le jeton immédiatement (le révoquer à nouveau est sans effet). Session de navigateur uniquement. Répond 204 ; 404 token_not_found quand le jeton ne vous appartient pas. Audité en token.revoke.

Route : /api/v1/me/tokens/{token_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
tokenIdstringouiIdentifiant du jeton d'API, issu de GET /me/tokens.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un de mes jetons d'API ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe MetaAPI​

Version. Métadonnées publiques du Manager. Aucune authentification n'est nécessaire. Opérations de ce groupe de l'API du Navin Manager.

MetaAPI.Version​

Version(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la version du Manager. Renvoie name (navin-manager), version, environment et la pile stack du catalogue (name, version, nombre de services). Public.

Route : /api/v1/version (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la version du Manager ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe MirrorAPI​

Miroir local. Le miroir local contient les paquets, les images de conteneurs et les paquets Python que les agents installent, afin qu'un site sans accès Internet (ou sous les profils banking-secure et air-gapped) ne télécharge jamais rien de l'extérieur. Il est alimenté par un lot hors ligne décrit par un manifeste. Opérations de ce groupe de l'API du Navin Manager.

MirrorAPI.Reload​

Reload(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Recharger le manifeste du miroir. Relit le manifeste du miroir et remplace les artefacts enregistrés par son contenu ; chaque fichier doit exister. Renvoie ce qui a été chargé. Permission settings:manage. Erreurs : 409 mirror_manifest_missing, 422 mirror_manifest_invalid. Audité en mirror.reload (résultat failure avec le code d'erreur quand le manifeste est refusé).

Route : /api/v1/mirror/reload (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Recharger le manifeste du miroir ». L'error est une erreur typée du SDK, nil en cas de succès.

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

MirrorAPI.Status​

Status(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'état du miroir. Renvoie l'url et le registre registry du miroir, manifest_loaded, loaded_at, le nombre d'artifacts, d'images et de paquets python chargés, et missing, ce dont le catalogue a besoin et qui manque au miroir. Permission system:read.

Route : /api/v1/mirror (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état du miroir ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe NavinSmAPI​

Navin SM. Navin SM est la version de Navin (poste de travail et CLI) qu'une organisation remet à son personnel, avec un fichier qui dirige Navin vers le proxy LiteLLM de l'organisation et ses modèles (Azure, Bedrock, vLLM... derrière LiteLLM), éventuellement de façon exclusive (aucun autre fournisseur permis). Un profil est ce fichier : l'organisation, la passerelle (adresse, authentification, en-têtes, autorité de certification, modèles, modèle par défaut, routes, mode exclusif) et la politique gérée que Navin applique (permissions, liste des serveurs MCP permis, plugins, hooks, contournement des demandes de permission, environnement imposé). Opérations de ce groupe de l'API du Navin Manager.

AssignableUsers(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les utilisateurs à qui attribuer une clé. Utilisateurs actifs du Manager (50 au plus, triés par nom) dont le nom, le nom affiché ou le courriel contient q, avec id, username, display_name, email et source. Permission navin_sm:keys.

Route : /api/v1/navin-sm/users (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les utilisateurs à qui attribuer une clé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

BlockKey(ctx context.Context, profileId string, keyId string, opts ...eai.CallOption) (json.RawMessage, error)

Bloquer une clé. Bloque la clé au proxy (POST /key/block) : elle est refusée aussitôt et peut être débloquée. Renvoie la clé avec l'état blocked. Permission navin_sm:keys. Erreurs : 404 navin_sm_key_not_found, 409 navin_sm_key_revoked, 409 navin_sm_key_gone, 409 navin_sm_profile_not_linked, 409 navin_sm_master_key_missing, 502 navin_sm_proxy_refused ou navin_sm_proxy_failed. Audité en navin_sm.key.block.

Route : /api/v1/navin-sm/profiles/{profile_id}/keys/{key_id}/block (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
keyIdstringouiIdentifiant de la clé dans le Manager.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Bloquer une clé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

CreateKey(ctx context.Context, profileId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Émettre une clé virtuelle. Émet une clé auprès du service LiteLLM auquel le profil est lié (POST /key/generate avec la clé maître gardée dans le serveur) pour un utilisateur du Manager ou un groupe du fournisseur d'identité, et répond 201 {key, item} : key est renvoyée ici et jamais plus, le Manager ne garde que l'alias et le sha256 que LiteLLM utilise comme identifiant. L'utilisateur LiteLLM est navin-sm:<org_id>:<kind>:<bénéficiaire>, l'alias navin-sm.<org_id>.<bénéficiaire>.<aléa>. Permission navin_sm:keys. Erreurs : 404 navin_sm_profile_not_found, 404 navin_sm_user_not_found, 422 navin_sm_assignee_required, 422 navin_sm_key_models_unknown (modèle hors du profil), 409 navin_sm_profile_not_linked, 409 navin_sm_master_key_missing, 409 navin_sm_key_alias_taken, 502 navin_sm_proxy_refused ou navin_sm_proxy_failed. Audité en navin_sm.key.create (identifiant et alias, jamais la clé).

Route : /api/v1/navin-sm/profiles/{profile_id}/keys (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
bodyanyouiBénéficiaire, modèles et limites de la nouvelle clé.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre une clé virtuelle ». L'error est une erreur typée du SDK, nil en cas de succès.

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

CreateProfile(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un profil Navin SM. Crée le profil et le renvoie (201). Permission settings:manage, et vault:manage avec un shared_key_ref. Erreurs (422 sauf mention) : navin_sm_org_id_invalid, navin_sm_value_empty, navin_sm_value_duplicate, navin_sm_base_url_invalid, navin_sm_base_url_chat, navin_sm_shared_key_ref_required, navin_sm_shared_key_ref_forbidden, navin_sm_vault_entry_not_found, navin_sm_header_invalid, navin_sm_header_secret, navin_sm_models_count, navin_sm_model_duplicate, navin_sm_default_model_unknown, navin_sm_route_invalid, navin_sm_route_unknown, navin_sm_env_invalid, navin_sm_env_secret, 409 navin_sm_org_taken. Audité en navin_sm.create.

Route : /api/v1/navin-sm/profiles (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un profil Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DeletePackage(ctx context.Context, filename string, opts ...eai.CallOption) (json.RawMessage, error)

Retirer un paquet stocké. Supprime le fichier stocké ; son SHA256 publié reste enregistré. Répond 204. Permission settings:manage. Erreurs : 404 navin_sm_package_unknown, 404 navin_sm_package_missing. Audité en navin_sm.package.delete.

Route : /api/v1/navin-sm/distribution/packages/{filename} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
filenamestringouiNom de fichier du paquet.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Retirer un paquet stocké ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DeleteProfile(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un profil Navin SM. Supprime le profil (l'entrée du coffre de sa clé est conservée). Répond 204. Permission settings:manage ; 404 navin_sm_profile_not_found. Audité en navin_sm.delete.

Route : /api/v1/navin-sm/profiles/{profile_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un profil Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DiscoverModels(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Découvrir les modèles d'un proxy LiteLLM. Appelle GET <base>/v1/models puis GET <base>/model/info du proxy (délai de 5 secondes, TLS 1.2 au moins, racines publiques et le ca_pem fourni, sans redirection) et renvoie {models: [{id, context_window?, max_output_tokens?, vision?, reasoning?}], info_available, info_error}. Avec litellm_cluster_id et litellm_service, le service LiteLLM installé par le Manager est lu avec sa clé maître et l'autorité du Manager, toutes deux gardées dans le serveur (un base_url vide désigne alors son adresse) ; sinon la clé de l'entrée du coffre ou la clé saisie pour ce seul appel. /model/info est facultatif (route d'administration qu'une clé virtuelle peut ne pas atteindre). Permission settings:manage, et vault:manage avec un shared_key_ref. Erreurs : 422 navin_sm_base_url_invalid, 422 navin_sm_header_invalid, 422 navin_sm_litellm_link_incomplete (un seul des deux champs du lien), 422 navin_sm_litellm_source_not_found, 409 navin_sm_master_key_missing, 409 navin_sm_shared_key_missing, 502 navin_sm_discover_failed (détail reason : timeout, tls_failed, refused, unreachable, auth_failed, not_found, http_status, protocol_error). Audité en navin_sm.discover.

Route : /api/v1/navin-sm/discover (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe proxy à lire.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Découvrir les modèles d'un proxy LiteLLM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Distribution(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

État de la distribution Navin SM. La version de Navin SM que nomme le catalogue (service : nom, version, dépôt et étiquette GitHub, chemins du fichier de réglages et de l'autorité par système), ses paquets avec leur SHA256 publié, leur état de stockage, leur taille et leur lien de téléchargement, le nombre stocké, les dix derniers téléchargements depuis GitHub et si l'un d'eux est en cours. Permission settings:manage ; 409 navin_sm_service_missing sans le service navin-sm dans le catalogue.

Route : /api/v1/navin-sm/distribution (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « État de la distribution Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DownloadPackage(ctx context.Context, filename string, opts ...eai.CallOption) (json.RawMessage, error)

Télécharger un paquet stocké. Le paquet tel que stocké (application/octet-stream, Cache-Control: no-store), son SHA256 dans l'en-tête X-Checksum-Sha256. Permission settings:manage. Erreurs : 404 navin_sm_package_unknown, 404 navin_sm_package_missing (non stocké).

Route : /api/v1/navin-sm/distribution/packages/{filename}/download (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
filenamestringouiNom de fichier du paquet.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Télécharger un paquet stocké ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ExportProfile(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Exporter le managed-settings.json d'un profil. Renvoie le fichier en pièce jointe (managed-settings.json, Cache-Control: no-store), conforme au contrat. gateway.apiKey n'est présent qu'en shared_key, descellé du coffre pour cette seule réponse. Permission settings:manage, et vault:manage en shared_key. Erreurs : 404 navin_sm_profile_not_found, 409 navin_sm_shared_key_missing (entrée du coffre supprimée ou sans clé), 422 navin_sm_os_required (profil avec use_manager_ca exporté sans os), 500 navin_sm_export_invalid. Audité en navin_sm.export (jamais la clé).

Route : /api/v1/navin-sm/profiles/{profile_id}/export (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exporter le managed-settings.json d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

FetchRelease(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Récupérer la version depuis GitHub. Lance en arrière-plan la récupération de la version (202, l'import) : les fichiers de sommes d'abord, puis chaque paquet pas encore stocké, chacun vérifié contre son SHA256 publié. Le jeton GitHub est la clé API de l'entrée du coffre, lu dans le serveur et jamais renvoyé, journalisé ni audité. Permissions settings:manage et vault:manage. Erreurs : 409 navin_sm_service_missing, 422 navin_sm_vault_entry_not_found, 422 navin_sm_github_token_missing, 409 navin_sm_import_running. Audité en navin_sm.package.fetch (nom de l'entrée du coffre seulement). À suivre avec GET /navin-sm/distribution/imports/{import_id}.

Route : /api/v1/navin-sm/distribution/fetch (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiL'entrée du coffre qui porte le jeton GitHub.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Récupérer la version depuis GitHub ». L'error est une erreur typée du SDK, nil en cas de succès.

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

GetImport(ctx context.Context, importId string, opts ...eai.CallOption) (json.RawMessage, error)

État d'une récupération. {id, version, state, files, error, created_at, finished_at} : state vaut running, done ou failed ; chaque fichier est pending, downloading, stored, skipped (déjà stocké) ou failed avec son error (jamais le jeton). Permission settings:manage ; 404 navin_sm_import_not_found.

Route : /api/v1/navin-sm/distribution/imports/{import_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
importIdstringouiIdentifiant de la récupération, renvoyé par POST /navin-sm/distribution/fetch.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « État d'une récupération ». L'error est une erreur typée du SDK, nil en cas de succès.

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

GetProfile(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un profil Navin SM. Renvoie un profil sans aucune clé. Permission settings:manage ; 404 navin_sm_profile_not_found.

Route : /api/v1/navin-sm/profiles/{profile_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un profil Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ListKeys(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les clés virtuelles d'un profil. Clés virtuelles LiteLLM émises pour le profil, actives et bloquées d'abord, puis révoquées : bénéficiaire, alias, état, modèles et limites, jamais une valeur de clé ni son empreinte. Permission navin_sm:keys ; 404 navin_sm_profile_not_found.

Route : /api/v1/navin-sm/profiles/{profile_id}/keys (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les clés virtuelles d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ListProfiles(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les profils Navin SM. Profils triés par nom d'organisation, avec le nom de l'entrée du coffre de leur clé partagée mais jamais la clé (shared_key_set). Permission settings:manage.

Route : /api/v1/navin-sm/profiles (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les profils Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LitellmSources(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les passerelles LiteLLM installées. Services LiteLLM installés par le Manager avec leur adresse et l'entrée du coffre de leur clé, pour préremplir la passerelle d'un profil ou le lier (litellm_cluster_id, litellm_service). L'entrée du coffre n'est donnée qu'à un détenteur de vault:manage ; un service installé encore sans entrée a vault_entry_id nul (POST /vault/import la crée). Permission settings:manage.

Route : /api/v1/navin-sm/litellm-sources (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les passerelles LiteLLM installées ». L'error est une erreur typée du SDK, nil en cas de succès.

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

LoadChecksums(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Charger les sommes de contrôle publiées de la version. Enregistre le SHA256 publié des paquets à partir des lignes <sha256> <fichier> des fichiers SHA256SUMS et .sha256 de la version, collées ensemble (sites hors ligne). Renvoie {updated, unchanged, conflicts, ignored} : les fichiers enregistrés ou déjà identiques, les paquets stockés dont le SHA256 changerait (signalés et laissés tels quels) et les noms hors de la version. Permission settings:manage. Erreurs : 409 navin_sm_service_missing, 422 navin_sm_checksums_invalid (aucune ligne exploitable). Audité en navin_sm.package.checksums.

Route : /api/v1/navin-sm/distribution/checksums (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLes lignes de sommes de contrôle.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Charger les sommes de contrôle publiées de la version ». L'error est une erreur typée du SDK, nil en cas de succès.

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

PreviewProfile(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Prévisualiser le managed-settings.json d'un profil. Le fichier que produirait l'export, vérifié par le contrat, sans sa clé : une clé shared_key est remplacée par <vault: nom de l'entrée>. Renvoie {os, settings_path, ca_path, document, problems, valid} ; problems liste les règles que le document enfreint (entrée du coffre sans clé, profil avec use_manager_ca prévisualisé sans os). Permission settings:manage ; 404 navin_sm_profile_not_found. Non audité (rien ne sort du serveur).

Route : /api/v1/navin-sm/profiles/{profile_id}/preview (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser le managed-settings.json d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ProfileBundle(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Télécharger le bundle de déploiement d'un profil. Zip pour un système (navin-sm-<org_id>-<os>.zip, Cache-Control: no-store) : managed-settings.json (clé partagée comprise, audité en navin_sm.export avec le motif bundle), l'autorité du Manager quand le profil l'embarque (use_manager_ca), et les fichiers de déploiement du système : script shell et playbook Ansible sous Linux, script shell et notes MDM sous macOS, script PowerShell avec notes GPO et Intune sous Windows. Les paquets se téléchargent à part (GET /navin-sm/distribution/packages/{filename}/download). Permission settings:manage, et vault:manage en shared_key. Erreurs : 404 navin_sm_profile_not_found, 409 navin_sm_service_missing (aucun service navin-sm dans le catalogue), 409 navin_sm_shared_key_missing.

Route : /api/v1/navin-sm/profiles/{profile_id}/bundle (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Télécharger le bundle de déploiement d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RevokeAllKeys(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer toutes les clés d'un profil. Supprime toutes les clés actives ou bloquées du profil au proxy en un appel (POST /key/delete) et les enregistre comme révoquées. Renvoie {revoked, items}. Permission navin_sm:keys. Erreurs : 404 navin_sm_profile_not_found, 409 navin_sm_profile_not_linked, 409 navin_sm_master_key_missing, 502 navin_sm_proxy_refused ou navin_sm_proxy_failed. Audité en navin_sm.key.revoke_all (nombre et identifiants des clés).

Route : /api/v1/navin-sm/profiles/{profile_id}/keys/revoke-all (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer toutes les clés d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RevokeKey(ctx context.Context, profileId string, keyId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer une clé. Supprime la clé au proxy (POST /key/delete, immédiat) et la conserve dans le Manager avec l'état revoked et revoked_at ; une clé que le proxy ne connaît plus est révoquée tout de même. Renvoie la clé. Permission navin_sm:keys. Erreurs : 404 navin_sm_key_not_found, 409 navin_sm_key_revoked, 409 navin_sm_profile_not_linked, 409 navin_sm_master_key_missing, 502 navin_sm_proxy_refused ou navin_sm_proxy_failed. Audité en navin_sm.key.revoke.

Route : /api/v1/navin-sm/profiles/{profile_id}/keys/{key_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
keyIdstringouiIdentifiant de la clé dans le Manager.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer une clé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UnblockKey(ctx context.Context, profileId string, keyId string, opts ...eai.CallOption) (json.RawMessage, error)

Débloquer une clé. Débloque une clé bloquée au proxy (POST /key/unblock) et la renvoie avec l'état active. Permission navin_sm:keys. Mêmes erreurs que le blocage. Audité en navin_sm.key.unblock.

Route : /api/v1/navin-sm/profiles/{profile_id}/keys/{key_id}/unblock (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
keyIdstringouiIdentifiant de la clé dans le Manager.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Débloquer une clé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UpdateKey(ctx context.Context, profileId string, keyId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier les modèles et limites d'une clé. Applique les modèles et limites au proxy (POST /key/update), puis dans le Manager, et renvoie la clé. Permission navin_sm:keys. Erreurs : 404 navin_sm_profile_not_found, 404 navin_sm_key_not_found, 409 navin_sm_key_revoked, 409 navin_sm_key_gone (le proxy ne connaît plus la clé, alors enregistrée comme révoquée), 422 navin_sm_key_models_unknown, 409 navin_sm_profile_not_linked, 409 navin_sm_master_key_missing, 502 navin_sm_proxy_refused ou navin_sm_proxy_failed. Audité en navin_sm.key.update.

Route : /api/v1/navin-sm/profiles/{profile_id}/keys/{key_id} (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
keyIdstringouiIdentifiant de la clé dans le Manager (jamais sa valeur).
bodyanyouiNouveaux modèles et limites.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier les modèles et limites d'une clé ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UpdateProfile(ctx context.Context, profileId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Remplacer un profil Navin SM. Remplace tout le profil et le renvoie. Mêmes règles et erreurs que la création, plus 404 navin_sm_profile_not_found. Audité en navin_sm.update (noms des champs modifiés).

Route : /api/v1/navin-sm/profiles/{profile_id} (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
bodyanyouiLe profil complet.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Remplacer un profil Navin SM ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UploadPackage(ctx context.Context, filename string, opts ...eai.CallOption) (json.RawMessage, error)

Déposer un paquet de la version. Corps brut d'un paquet de la version, écrit en flux sous <mirror_dir>/navin-sm/<version>/ et haché pendant l'écriture ; conservé (201, le paquet tel que la distribution le liste) seulement quand son SHA256 est celui publié (chargé au préalable) ou celui de l'en-tête X-Checksum-Sha256. Permission settings:manage. Erreurs : 404 navin_sm_package_unknown (pas un paquet de la version), 422 navin_sm_package_checksum_unknown (aucun SHA256 publié ni en-tête), 422 navin_sm_package_checksum_mismatch (le fichier est supprimé), 422 navin_sm_package_too_large (2 Gio), 409 navin_sm_disk_full. Audité en navin_sm.package.store, refus compris.

Route : /api/v1/navin-sm/distribution/packages/{filename} (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
filenamestringouiNom de fichier du paquet, tel que le catalogue le liste pour cette version.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déposer un paquet de la version ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Usage(ctx context.Context, profileId string, opts ...eai.CallOption) (json.RawMessage, error)

Suivi des clés d'un profil. Lit le proxy par le serveur (GET /key/info pour chaque clé vivante, GET /spend/logs sur la période) et renvoie {available, reason, period, keys, models, totals, truncated, last_use} : pour chaque clé son état vivant, sa dépense, son budget et sa date de remise à zéro, et sur la période ses appels, jetons, erreurs, modèles et dernier usage ; les mêmes chiffres par modèle et au total. truncated est vrai quand le proxy a plafonné les journaux à 10000 lignes (les chiffres de la période sont alors partiels). Quand le profil n'est pas lié, que la clé maître manque ou que le proxy est injoignable, available est faux avec reason et sans aucun chiffre : aucun zéro n'est inventé. Permission navin_sm:keys ; 404 navin_sm_profile_not_found.

Route : /api/v1/navin-sm/profiles/{profile_id}/usage (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
profileIdstringouiIdentifiant du profil.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Suivi des clés d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe NetworkAPI​

Flux réseau. Les flux réseau d'un cluster, calculés à partir de ce que connaît le Manager, pour l'équipe réseau qui les ouvre dans ses groupes de sécurité ou ses pare-feu de machines. Chaque flux appartient à une portée : Opérations de ce groupe de l'API du Navin Manager.

NetworkAPI.NetworkFlows​

NetworkFlows(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la matrice des flux réseau d'un cluster. Flux à ouvrir entre les machines, le Manager, les clients et les points d'accès externes du cluster. En JSON : cluster_id, items, summary et generated_at ; avec format=csv, une pièce jointe network-flows-<cluster>.csv. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/network/flows (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la matrice des flux réseau d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NetworkAPI.NetworkRules​

NetworkRules(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les règles de pare-feu qui ouvrent les flux. Commandes qui ouvrent les flux dans les groupes de sécurité d'un fournisseur cloud ou dans un pare-feu de machine. Avec auto, le fournisseur de chaque machine est utilisé (l'environnement choisi pour la machine, sinon la plateforme détectée). Rien n'est appliqué. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/network/rules (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les règles de pare-feu qui ouvrent les flux ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe NodeSecurityAPI​

Sécurité des nœuds. La sécurité des machines gérées et de leurs agents de nœud : inventaire, politique SSH, contrôles préalables et amorçage SSH de l'agent, jetons d'enrôlement liés à la clé de l'agent, état de confiance (quarantaine, révocation, rétablissement), mode de gestion, commandes d'agent signées et leurs reçus, mise à jour de l'agent et accès d'urgence SSH (break glass). Opérations de ce groupe de l'API du Navin Manager.

NodeSecurityAPI.AgentUpdate​

AgentUpdate(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Mettre à jour l'agent d'une machine. Vérifie le binaire signé de l'agent dans le miroir, puis émet une commande signée agent.update avec son empreinte et sa signature (clé d'idempotence dérivée de l'empreinte). Renvoie l'enveloppe de la commande (201). Permission hosts:manage. Erreurs : 422 agent_package_untrusted, 409 host_not_trusted, 409 host_client_managed.

Route : /api/v1/hosts/{host_id}/agent-update (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiValidité de la commande et délai de santé du nouvel agent.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre à jour l'agent d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BootstrapPlan​

BootstrapPlan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Prévisualiser l'amorçage d'un agent de nœud. Contrôle l'identifiant par rapport à la politique SSH et renvoie le plan sans se connecter : utilisateur SSH, cible, rebonds, verdict sur l'identifiant, fichier sudoers et sa validation, liste autorisée, unité systemd et répertoire de préparation. Permission hosts:manage ; 422 ssh_policy_refused.

Route : /api/v1/hosts/bootstrap/plan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiMême corps qu'un amorçage.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser l'amorçage d'un agent de nœud ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BreakglassApprove​

BreakglassApprove(ctx context.Context, requestId string, opts ...eai.CallOption) (json.RawMessage, error)

Approuver une demande d'accès d'urgence. Ajoute une approbation. Deux approbateurs distincts, tous deux différents du demandeur, sont nécessaires ; la seconde approbation signe un certificat utilisateur OpenSSH valable pendant la durée demandée. Permission hosts:manage. Erreurs : 403 breakglass_self_approval, 409 breakglass_not_pending, 409 breakglass_already_approved, 404 breakglass_not_found. Audité en host.breakglass.approve.

Route : /api/v1/breakglass/{request_id}/approve (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
requestIdstringouiIdentifiant de la demande d'accès d'urgence.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver une demande d'accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BreakglassEvidence​

BreakglassEvidence(ctx context.Context, requestId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajouter une preuve à une session d'accès d'urgence. Ajoute à la demande une preuve expurgée (début de session, empreinte de commande, fin de session ou enregistrement). Permission hosts:manage ; 404 breakglass_not_found.

Route : /api/v1/breakglass/{request_id}/evidence (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
requestIdstringouiIdentifiant de la demande d'accès d'urgence.
bodyanyouiType, empreinte et résumé de la preuve.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter une preuve à une session d'accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BreakglassList​

BreakglassList(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les demandes d'accès d'urgence d'une machine. Les 50 dernières demandes d'accès d'urgence de la machine avec leur statut, leurs approbateurs, leur validité et leurs preuves. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/breakglass (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les demandes d'accès d'urgence d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BreakglassRequest​

BreakglassRequest(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Demander un accès SSH d'urgence. Enregistre une demande d'accès d'urgence pour la machine avec la raison, la clé publique du demandeur et la durée ; deux autres utilisateurs doivent l'approuver. Renvoie la demande (201). Permission hosts:manage. Erreurs : 422 breakglass_key_refused, 409 host_not_trusted, 409 host_client_managed. Audité en host.breakglass.request.

Route : /api/v1/hosts/{host_id}/breakglass (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRaison, clé publique, compte et validité.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un accès SSH d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.BreakglassRevoke​

BreakglassRevoke(ctx context.Context, requestId string, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer un accès d'urgence avant son terme. Met fin à l'accès avant son terme : le certificat est ajouté à la liste de révocation de clés que chargent les machines. Permission hosts:manage. Erreurs : 404 breakglass_not_found, 409 breakglass_not_active.

Route : /api/v1/breakglass/{request_id}/revoke (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
requestIdstringouiIdentifiant de la demande d'accès d'urgence.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un accès d'urgence avant son terme ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.GetSSHPolicy​

GetSSHPolicy(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la politique SSH d'un cluster. Renvoie allow_rsa, rsa_min_bits, approved_user_cas, bootstrap_user, spiffe_trust_domain et rotate_before_days. Permission cluster:read ; 404 cluster_not_found.

Route : /api/v1/clusters/{cluster_id}/ssh-policy (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la politique SSH d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.HostBootstrap​

HostBootstrap(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Amorcer un agent de nœud par SSH. Lance une opération qui installe et enregistre l'agent sur une machine :

Route : /api/v1/hosts/bootstrap (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiMachine cible, machines de rebond, compte SSH, clé privée ou certificat.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Amorcer un agent de nœud par SSH ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.HostEnroll​

HostEnroll(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Émettre un jeton d'enrôlement pour une clé d'agent. Émet un jeton à usage unique pour une machine et une clé : host_fingerprint est le SHA-256 (hexadécimal) de la clé publique de l'agent (nm-agent l'affiche avant l'enrôlement). Le jeton expire au bout de 15 minutes au plus et est consommé par le premier enrôlement qui présente une CSR de cette clé exacte. Renvoie id, token, expires_at, ttl_s, host_fingerprint et agent_url (201). Permission hosts:manage. Audité en host.enroll_token.

Route : /api/v1/hosts/enroll (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiCluster, FQDN et empreinte de clé de la machine.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre un jeton d'enrôlement pour une clé d'agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.HostInventory​

HostInventory(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'inventaire d'une machine. Renvoie host_id, l'inventaire inventory rapproché à partir des caractéristiques de l'agent (matériel, GPU, plateforme) et updated_at. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/inventory (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'inventaire d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.HostPreflight​

HostPreflight(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Lancer les contrôles préalables d'une machine avant son amorçage. Lit la machine en SSH et depuis le Manager (résolution DNS directe et inverse, joignabilité TCP, ports requis libres, disques, système d'exploitation) et renvoie les contrôles classés pass, warning ou blocking, les nombres blocking et warnings, une empreinte reproductible digest et le verdict sur l'identifiant. Rien n'est installé. Permission hosts:manage. Erreurs : 422 ssh_policy_refused. Audité en host.preflight.

Route : /api/v1/hosts/preflight (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiAccès SSH, identité attendue, ports et disques à contrôler.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lancer les contrôles préalables d'une machine avant son amorçage ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.HostReceipts​

HostReceipts(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les reçus de commandes d'une machine. Reçus des commandes signées exécutées par l'agent, du dernier terminé au plus ancien : opération, début et fin, code de sortie, état observé, code d'erreur et preuves, expurgés. Permission cluster:read.

Route : /api/v1/hosts/{host_id}/receipts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les reçus de commandes d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.IssueCommand​

IssueCommand(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Envoyer une commande signée à un agent. Émet une enveloppe de commande signée avec la clé Ed25519 du Manager pour l'agent de la machine (la même clé d'idempotence renvoie l'enveloppe enregistrée). Opérations autorisées : facts.collect, health.check, logs.tail, files.digest, service.control, command.run, agent.update ; les trois dernières sont refusées sur les machines gérées par le client. Renvoie l'enveloppe (201). Permission hosts:manage. Erreurs : 422 command_operation_unknown, 409 host_not_trusted, 409 host_client_managed. Audité en host.command.issue.

Route : /api/v1/hosts/{host_id}/commands (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiOpération, paramètres, validité et clé d'idempotence.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Envoyer une commande signée à un agent ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.ListAllHosts​

ListAllHosts(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les machines de tous les clusters. Machines de chaque cluster que l'appelant peut lire (ou d'un seul cluster), triées par FQDN, avec leur état de confiance, leur mode de gestion, leur identité, leurs métriques, leur inventaire et leur plateforme.

Route : /api/v1/hosts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les machines de tous les clusters ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.ListNodes​

ListNodes(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les agents de nœud. Machines non mises hors service de chaque cluster que l'appelant peut lire, avec leur état de confiance, leur mode de gestion, la version de leur agent, leur dernier battement de cœur, leur identité (numéro et expiration du certificat, identifiant SPIFFE, rotation_due), leurs métriques et leur plateforme.

Route : /api/v1/agents/nodes (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les agents de nœud ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.NodeDetail​

NodeDetail(ctx context.Context, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un agent de nœud. La vue du nœud plus ses 10 derniers certificats certificates et ses diagnostics (caractéristiques, dernières métriques, 20 derniers reçus). Permission cluster:read ; 404 host_not_found.

Route : /api/v1/agents/nodes/{host_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un agent de nœud ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.PutSSHPolicy​

PutSSHPolicy(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Définir la politique SSH d'un cluster. Remplace la politique SSH et la renvoie. Le compte d'amorçage et chaque clé d'autorité approuvée sont contrôlés d'abord. Permission hosts:manage. Erreurs : 422 ssh_policy_refused (clé faible ou invalide, compte refusé), 404 cluster_not_found. Audité en cluster.ssh_policy.

Route : /api/v1/clusters/{cluster_id}/ssh-policy (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiLa politique SSH.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir la politique SSH d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.QuarantineHost​

QuarantineHost(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Mettre une machine en quarantaine. Passe l'état de confiance à quarantined : le Manager cesse de faire confiance à l'agent pour de nouvelles commandes jusqu'à son rétablissement. Renvoie le nœud. Permission hosts:manage. Audité en host.quarantine.

Route : /api/v1/hosts/{host_id}/quarantine (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRaison du changement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre une machine en quarantaine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.RecoverHost​

RecoverHost(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Rétablir la confiance dans une machine en quarantaine. Repasse l'état de confiance à trusted. Une machine révoquée ne peut pas être rétablie : elle doit s'enrôler à nouveau (409 agent_revoked). Renvoie le nœud. Permission hosts:manage. Audité en host.recover.

Route : /api/v1/hosts/{host_id}/recover (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRaison du changement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Rétablir la confiance dans une machine en quarantaine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.RevokeHost​

RevokeHost(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Révoquer l'agent d'une machine. Passe l'état de confiance à revoked, révoque les certificats de l'agent et fait expirer ses commandes en attente. Seul un nouvel enrôlement le rétablit. Renvoie le nœud. Permission hosts:manage. Audité en host.revoke avec le nombre de certificats révoqués.

Route : /api/v1/hosts/{host_id}/revoke (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiRaison du changement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer l'agent d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

NodeSecurityAPI.SetManagement​

SetManagement(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Définir qui gère une machine. Définit le mode de gestion : platform (le Manager agit sur la machine) ou client (les commandes dangereuses et l'accès d'urgence sont refusés). Renvoie le nœud. Permission hosts:manage. Audité en host.management.

Route : /api/v1/hosts/{host_id}/management (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiLe mode de gestion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir qui gère une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe OperationsAPI​

Opérations. Une opération est l'unité de tout changement fait par le Manager : une installation, un redémarrage, une mise à niveau, une sauvegarde, l'amorçage d'une machine... Elle se compose d'étapes ordonnées ; chaque étape contient des tâches, en général une par machine, exécutées par les agents Navin. Statut d'une opération : pending, running, succeeded, failed ou aborted ; progress va de 0 à 100. Opérations de ce groupe de l'API du Navin Manager.

OperationsAPI.Abort​

Abort(ctx context.Context, operationId string, opts ...eai.CallOption) (json.RawMessage, error)

Interrompre une opération. Demande l'arrêt d'une opération en attente ou en cours : les tâches non commencées sont annulées, celles en cours sont arrêtées par leurs agents. Renvoie id, status et abort_requested. Permission operations:abort ; 409 operation_not_running quand elle est déjà terminée. Audité en operation.abort.

Route : /api/v1/operations/{operation_id}/abort (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
operationIdstringouiIdentifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Interrompre une opération ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.GetOperation​

GetOperation(ctx context.Context, operationId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une opération avec ses étapes et ses tâches. Renvoie l'opération et ses étapes stages dans l'ordre ; chaque étape donne seq, name_i18n, status, tolerate_failures et ses tâches tasks (machine, type, service, composant, statut, tentatives, code de sortie, résumé, erreur, horaires). Permission operations:read sur son cluster ; 404 operation_not_found.

Route : /api/v1/operations/{operation_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
operationIdstringouiIdentifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une opération avec ses étapes et ses tâches ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.GetTask​

GetTask(ctx context.Context, operationId string, taskId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une tâche d'une opération. Renvoie une tâche avec sa sortie complète output, attempts et max_attempts, timeout_s, exit_code, duration_ms et ses horaires. Permission operations:read ; 404 operation_not_found ou 404 task_not_found.

Route : /api/v1/operations/{operation_id}/tasks/{task_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
operationIdstringouiIdentifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines.
taskIdstringouiIdentifiant de la tâche, issu des étapes de l'opération.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une tâche d'une opération ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.ListOperations​

ListOperations(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les opérations d'un cluster. Opérations du cluster, de la plus récente à la plus ancienne, sans leurs étapes : id, type, title_i18n, target, status, progress, error, created_by, created_at, started_at, finished_at, abort_requested. Paginé avec limit et cursor. Permission operations:read.

Route : /api/v1/clusters/{cluster_id}/operations (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les opérations d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.Retry​

Retry(ctx context.Context, operationId string, opts ...eai.CallOption) (json.RawMessage, error)

Relancer une opération échouée. Crée une nouvelle opération à partir d'une opération failed ou aborted et renvoie son operation_id. La relance passe par les contrôles d'une nouvelle opération : un seul changement à la fois par service, état administratif du service, profil du cluster et, sous banking-secure, une nouvelle approbation pour une opération perturbatrice. Permission operations:abort ; 409 operation_not_retryable dans tout autre statut. Audité en operation.retry.

Route : /api/v1/operations/{operation_id}/retry (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
operationIdstringouiIdentifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Relancer une opération échouée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.Running​

Running(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les opérations en cours. Opérations en attente et en cours de chaque cluster où l'appelant détient operations:read (200 au plus, de la plus récente à la plus ancienne), avec leur nombre count. Utilisé par l'indicateur d'activité de la console.

Route : /api/v1/operations/running (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les opérations en cours ». L'error est une erreur typée du SDK, nil en cas de succès.

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

OperationsAPI.TaskLogs​

TaskLogs(ctx context.Context, operationId string, taskId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les lignes de journal d'une tâche. Renvoie les lignes lines écrites après after_seq (chacune avec seq, ts, stream et data), next_seq à passer dans after_seq à l'appel suivant, et done : vrai une fois la tâche terminée et toutes les lignes lues. Pour suivre une tâche, rappelez-le avec after_seq=next_seq jusqu'à done. Permission operations:read.

Route : /api/v1/operations/{operation_id}/tasks/{task_id}/logs (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
operationIdstringouiIdentifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines.
taskIdstringouiIdentifiant de la tâche.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les lignes de journal d'une tâche ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe PKIAPI​

PKI et certificats. L'autorité de certification du Manager et les certificats qu'elle émet : certificats clients des agents et certificats TLS des composants des services. Opérations de ce groupe de l'API du Navin Manager.

PKIAPI.GetCa​

GetCa(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'autorité de certification. Renvoie le certificat de l'autorité du Manager (ca_pem), son expiration not_after et son empreinte sha256. Tout utilisateur connecté.

Route : /api/v1/pki/ca (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'autorité de certification ». L'error est une erreur typée du SDK, nil en cas de succès.

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

PKIAPI.ListCertificates​

ListCertificates(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les certificats d'un cluster. Certificats émis pour le cluster, du premier à expirer au dernier : kind (agent ou service), machine, service, composant, serial, subject, sans, not_before, not_after, revoked_at. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/certificates (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les certificats d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

PKIAPI.Rotate​

Rotate(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Renouveler les certificats des services d'un cluster. Émet un nouveau certificat pour chaque instance de composant (d'un service, ou de tous), puis lance une opération qui les installe sur les machines et redémarre les composants. Répond 202 avec operation_id. Permission pki:manage. Erreurs : 404 cluster_not_found, 409 no_certificates_to_rotate. Audité en pki.rotate.

Route : /api/v1/clusters/{cluster_id}/certificates/rotate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiService facultatif auquel limiter le renouvellement.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Renouveler les certificats des services d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe RestoresAPI​

Sauvegarde, restauration et reprise après sinistre. Le gestionnaire de sauvegarde et de reprise : cibles et plans de sauvegarde, artefacts de sauvegarde avec leurs vérifications, conservation, tests de restauration, restaurations et reprise après sinistre (sites, plans, exercices, bascules, changements DNS et d'équilibreur de charge). Opérations de ce groupe de l'API du Navin Manager.

RestoresAPI.Approve​

Approve(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Approuver un plan de restauration. Ajoute l'approbation de l'appelant ; deux approbations par des personnes autres que le demandeur sont nécessaires. Permission restore:execute. Erreurs : 403 restore_self_approval, 409 restore_not_approvable. Audité en restore.approve.

Route : /api/v1/restores/{plan_id}/approve (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RestoresAPI.DryRun​

DryRun(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Essayer à blanc un plan de restauration. Contrôle l'empreinte, le déchiffrement et la compatibilité sans écrire dans la destination, et renvoie les approbateurs enregistrés. Pour une destination nommée, contrôle aussi son identité, son vide et son rôle restreint (checks.destination, checks.executor). Une simulation réussie n'autorise pas l'exécution : deux approbations restent nécessaires. Permission restore:execute. Audité en restore.dry_run.

Route : /api/v1/restores/{plan_id}/dry-run (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Essayer à blanc un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RestoresAPI.Execute​

Execute(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une restauration approuvée. Exécute un plan approuvé avec destination : l'état executing et un jeton durable execution_token sont validés avant toute écriture. L'artefact est contrôlé à nouveau (taille, empreinte, déchiffrement), restauré par pg_restore --single-transaction avec le rôle restreint, puis ses lignes sont relues et comparées à l'inventaire (result.inventory, rows, tables). Succès : executed. Échec enregistré : failed, rollback_performed: false, HTTP 502 restore_execution_failed ; le champ imbriqué result.error précise la cause, notamment backup_corrupted, restore_target_busy ou restore_execution_timeout. Une interruption du processus peut laisser executing, à inspecter manuellement. Aucun retour arrière ni rejeu automatique. Les refus avant exécution incluent 409 restore_not_approved, 501 restore_executor_unavailable et 409 restore_target_changed. Permission restore:execute. Audité en restore.execute.started et restore.execute.

Route : /api/v1/restores/{plan_id}/execute (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une restauration approuvée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RestoresAPI.List​

List(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les plans de restauration. Les 200 derniers plans de restauration avec leur statut et leur nombre d'approbations. Permission backup:read.

Route : /api/v1/restores (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les plans de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RestoresAPI.Plan​

Plan(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Planifier une restauration. Crée un plan de restauration pour un artefact de sauvegarde : contrôle la compatibilité des versions sauvegardées avec les versions cibles (même version majeure) et liste les étapes (vérification de l'artefact, vérification de la destination, restauration, vérification du résultat). Avec target_name, l'artefact doit être un pg_dump disponible avec un inventaire verification_inventory et la destination une base PostgreSQL vide appartenant à un rôle restreint ; son identité est figée dans target_snapshot. Renvoie le plan (201). Permission restore:execute. Erreurs : 404 backup_artifact_not_found, 501 restore_executor_unavailable (destination inconnue), 409 restore_target_invalid, 409 restore_target_not_empty, 422 restore_inventory_required. Audité en restore.plan.

Route : /api/v1/restores/plan (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiArtefact, environnement, destination et versions cibles.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Planifier une restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RestoresAPI.Verify​

Verify(ctx context.Context, planId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un plan de restauration. Renvoie le plan avec sa compatibilité, ses étapes, ses approbateurs approvers et required_approvals (2). Permission backup:read ; 404 restore_plan_not_found.

Route : /api/v1/restores/{plan_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
planIdstringouiIdentifiant du plan de restauration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un plan de restauration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe ServicesAPI​

ServicesAPI enveloppe les opérations services du Platform Manager.

ServicesAPI.Action​

Action(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur un service. Lance une opération qui exécute l'action sur les composants et machines choisis (tous par défaut) et renvoie operation_id. Un redémarrage progressif traite batch_size machines à la fois. reinstall exige aussi services:install. Permission services:operate. Erreurs : 409 service_unmanaged, 409 service_check_missing, 409 smoke_test_missing, 404 host_component_not_found, 409 approval_required. Audité en service.<action>.

Route : /api/v1/clusters/{cluster_id}/services/{service}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiAction, périmètre et découpage par lots.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.AddComponent​

AddComponent(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajouter des instances de composant sur des machines. Lance une opération qui installe le composant sur les machines fournies (démarré sauf si le service est arrêté) et renvoie operation_id avec les contrôles ha. Permission services:install. Erreurs : 409 service_unmanaged, 404 component_unknown, 422 topology_invalid, 409 ha_requirements_not_met ou ha_acknowledgement_required. Audité en service.component_add.

Route : /api/v1/clusters/{cluster_id}/services/{service}/components (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiComposant et machines cibles.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter des instances de composant sur des machines ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.CheckConnection​

CheckConnection(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Contrôler un service connecté maintenant. Exécute le contrôle de santé et le contrôle authentifié d'un service connecté et inscrit le résultat dans son historique de supervision. Renvoie service, health et health_details. Permission services:operate ; 409 service_not_connected.

Route : /api/v1/clusters/{cluster_id}/services/{service}/connection/check (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Contrôler un service connecté maintenant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ClientConfig​

ClientConfig(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire la configuration cliente d'un service. Fichiers dont un client a besoin pour joindre le service (path, content, mode), produits à partir du catalogue avec les secrets masqués. files vide quand le service n'en a pas. Permission configs:read.

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

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la configuration cliente d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ClusterAction​

ClusterAction(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur tous les services d'un cluster. Lance une seule opération qui exécute l'action sur chaque service géré du périmètre (tous les services par défaut, ou ceux de services, sur toutes les machines ou sur hosts), dans l'ordre des dépendances : un fournisseur démarre avant ses consommateurs et s'arrête après eux. restart arrête tous les services dans l'ordre inverse, puis démarre tous les services dans l'ordre avec les contrôles de santé ; rolling_restart redémarre chaque service par lots de batch_size machines ; restart_stale réécrit les fichiers et unités des instances dont la configuration a changé, puis les redémarre par lots ; service_check lance la vérification de chaque service. Les services connectés, les services en cours d'installation ou de désinstallation, un état administratif qui interdit l'action et les instances en maintenance, en cours de retrait ou sur une machine décommissionnée sont écartés et listés dans skipped avec la raison. Renvoie services dans l'ordre des dépendances, skipped, steps et operation_id ; avec dry_run, rien n'est créé et operation_id est nul. Permission services:operate. Erreurs : 409 bulk_nothing_to_do, 404 cluster_service_not_found, 409 profile_blocked, 409 approval_required (sous banking-secure, l'arrêt et les redémarrages demandent une approbation pour le service *). Audité en cluster.<action>.

Route : /api/v1/clusters/{cluster_id}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiAction, périmètre, découpage par lots et simulation.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur tous les services d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.Configure​

Configure(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Enregistrer une nouvelle version de configuration. Fusionne les propriétés envoyées avec les valeurs courantes, les valide selon les définitions des paramètres et enregistre une nouvelle version. Renvoie version et stale_hosts. Permission configs:edit. Erreurs : 422 config_invalid (avec les champs), 409 service_unmanaged. Audité en config.update (noms des paramètres uniquement).

Route : /api/v1/clusters/{cluster_id}/services/{service}/config (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiPropriétés modifiées et une note.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer une nouvelle version de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ConnectService​

ConnectService(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Connecter un service existant. Enregistre un de vos services existants selon la section connect de son descripteur du catalogue : aucune machine, jamais installé, démarré ni arrêté par le Manager. Le contrôle de santé et le contrôle authentifié de la méthode s'exécutent d'abord ; des identifiants refusés donnent 422 connect_invalid. Dans un cluster de production ou de préproduction, HTTPS, un certificat vérifié et une méthode autorisée sont exigés. Les champs secrets sont scellés. Renvoie la synthèse du service (201). Permission services:install. Audité en service.connect.

Route : /api/v1/clusters/{cluster_id}/services/connect (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiAdresse, authentification et réglages TLS du service existant.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Connecter un service existant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.DisconnectService​

DisconnectService(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Déconnecter un service connecté. Oublie un service connecté et ses identifiants scellés ; le service lui-même n'est pas touché. Permission services:install. Erreurs : 409 service_not_connected, 409 service_in_use tant qu'un consommateur y est lié. Audité en service.disconnect.

Route : /api/v1/clusters/{cluster_id}/services/{service}/connection (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déconnecter un service connecté ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.GetMode​

GetMode(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'état administratif d'un service. Renvoie l'état administratif (enabled, disabled, maintenance, quarantined, suspended), sa raison, l'autorisation de fonctionner (run_authorized) le verrou de sécurité du cluster et modes, l'effet documenté de chaque mode. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/mode (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état administratif d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.GetService​

GetService(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un service. La synthèse du service plus ses host_components (chaque instance avec son état, sa santé et sa version), ses liaisons bindings vers d'autres services et ses liens rapides quick_links (consoles web issues du catalogue). Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.Health​

Health(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire les contrôles d'un service. Vivacité de chaque instance (contrôles de santé de l'agent), disponibilité (contrôle de service) et test fonctionnel, chacun avec son statut, ses résultats, son erreur et son heure. Seul un test fonctionnel réussi prouve que le service fonctionne. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/checks (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les contrôles d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.HostAction​

HostAction(ctx context.Context, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur tous les composants d'une machine. Lance une seule opération qui démarre, arrête ou redémarre tous les composants placés sur la machine, ou seulement les composants dont la configuration a changé (restart_stale), service après service dans l'ordre des dépendances. Les instances en maintenance et les services dont l'état administratif interdit l'action sont écartés et listés dans skipped ; avec dry_run, rien n'est créé et operation_id est nul. Permission services:operate sur le cluster de la machine. Erreurs : 404 host_not_found, 409 bulk_nothing_to_do, 409 approval_required (sous banking-secure, l'arrêt et les redémarrages demandent une approbation pour le service host:<host id>). Audité en host.<action>.

Route : /api/v1/hosts/{host_id}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiAction et simulation.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur tous les composants d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.HostComponentAction​

HostComponentAction(ctx context.Context, clusterId string, service string, component string, hostId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur une instance de composant. Comme les actions de service, limité au composant sur une machine. Renvoie operation_id. Permission services:operate (services:install pour reinstall). Audité en service.<action>.

Route : /api/v1/clusters/{cluster_id}/services/{service}/components/{component}/hosts/{host_id}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
componentstringouiNom du composant.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
bodyanyouiAction à exécuter.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur une instance de composant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.Install​

Install(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Installer des services. Valide, contrôle et planifie l'installation d'un ou plusieurs services, puis crée l'opération. Renvoie operation_id et les contrôles ha.

Route : /api/v1/clusters/{cluster_id}/services (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServices à installer avec leurs placements et leur configuration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer des services ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.InstallServices​

InstallServices(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Installer des services. Valide, contrôle et planifie l'installation d'un ou plusieurs services, puis crée l'opération. Renvoie operation_id et les contrôles ha.

Route : /api/v1/clusters/{cluster_id}/services (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiServices à installer avec leurs placements et leur configuration.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer des services ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ListServices​

ListServices(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lister les services d'un cluster. Chaque service du cluster avec son display_name, mode, method, managed, state, health, version, ses composants et leurs machines, les machines dont la configuration est périmée, config_version, les alertes ouvertes, l'état administratif, delivery (install ou connect) et la connexion. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les services d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.LockCluster​

LockCluster(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Poser le verrou de sécurité d'un cluster. Verrouille le cluster après un incident de sécurité : toute nouvelle opération est refusée avec 423 cluster_security_locked, sauf une suspension de sécurité ou un arrêt d'urgence, jusqu'à ce qu'un administrateur de la sécurité le lève. Renvoie cluster_id et security_lock. Permission pki:manage. Audité en cluster.security_lock.

Route : /api/v1/clusters/{cluster_id}/security-lock (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiRaison du verrouillage.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Poser le verrou de sécurité d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.RemoveComponent​

RemoveComponent(ctx context.Context, clusterId string, service string, component string, hostId string, opts ...eai.CallOption) (json.RawMessage, error)

Retirer une instance de composant d'une machine. Lance une opération qui arrête et retire le composant de cette machine et renvoie operation_id avec les contrôles ha. Permission services:install. Erreurs : 404 host_component_not_found, 422 topology_invalid (la topologie enfreindrait les règles du service), 409 ha_requirements_not_met ou ha_acknowledgement_required. Audité en service.component_remove.

Route : /api/v1/clusters/{cluster_id}/services/{service}/components/{component}/hosts/{host_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
componentstringouiNom du composant, tel que déclaré par le service du catalogue, par exemple server.
hostIdstringouiIdentifiant de la machine, enregistrée par son agent Navin.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Retirer une instance de composant d'une machine ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.Rollback​

Rollback(ctx context.Context, clusterId string, upgradeId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Annuler une mise à niveau. Lance l'opération qui rejoue les tâches scellées de la version précédente et rétablit la version de configuration précédente. Refusé quand le descripteur le déclare impossible ou qu'une migration irréversible a eu lieu (utilisez alors la restauration). Renvoie operation_id. Permission services:install ; 404 upgrade_not_found. Audité en service.rollback.

Route : /api/v1/clusters/{cluster_id}/upgrades/{upgrade_id}/rollback (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
upgradeIdstringouiIdentifiant de la mise à niveau.
bodyanyouiApprobation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Annuler une mise à niveau ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ServiceAction​

ServiceAction(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une action sur un service. Lance une opération qui exécute l'action sur les composants et machines choisis (tous par défaut) et renvoie operation_id. Un redémarrage progressif traite batch_size machines à la fois. reinstall exige aussi services:install. Permission services:operate. Erreurs : 409 service_unmanaged, 409 service_check_missing, 409 smoke_test_missing, 404 host_component_not_found, 409 approval_required. Audité en service.<action>.

Route : /api/v1/clusters/{cluster_id}/services/{service}/actions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiAction, périmètre et découpage par lots.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une action sur un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ServiceCommand​

ServiceCommand(ctx context.Context, clusterId string, service string, command string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Exécuter une commande personnalisée d'un service. Lance une opération qui exécute une commande déclarée par le service du catalogue (par exemple un nettoyage ou un rééquilibrage) avec ses paramètres et renvoie operation_id. Permission services:operate. Erreurs : 409 service_unmanaged, 404 command_unknown, 422 command_params_invalid, 404 host_component_not_found. Audité en service.command (noms des paramètres uniquement).

Route : /api/v1/clusters/{cluster_id}/services/{service}/commands/{command} (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
commandstringouiNom de la commande, tel que déclaré par le service du catalogue.
bodyanyouiParamètres de la commande et machine cible facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exécuter une commande personnalisée d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ServiceDashboardView​

ServiceDashboardView(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Lire le tableau de bord de supervision d'un service. Tableau de bord de supervision d'un service sur [from, to] (par défaut : la dernière heure) : instances, santé et derniers contrôles, disponibilité sur la période, métriques de ses machines, alertes, opérations, configuration et, pour un service connecté, sa connexion. Permission cluster:read.

Route : /api/v1/clusters/{cluster_id}/services/{service}/dashboard (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le tableau de bord de supervision d'un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ServiceLogs​

ServiceLogs(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Récupérer les journaux d'une instance de composant. Lance une opération où l'agent de la machine lit les dernières lignes des journaux du composant. Renvoie operation_id et task_id : lisez les lignes avec GET /operations/{operation_id}/tasks/{task_id}/logs. Permission services:operate. Audité en service.logs.

Route : /api/v1/clusters/{cluster_id}/services/{service}/logs (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiMachine, composant et nombre de lignes.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Récupérer les journaux d'une instance de composant ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.SetMode​

SetMode(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Appliquer un mode d'exploitation à un service. Applique un mode et renvoie l'état administratif obtenu, son effet documenté effect sur les nouvelles requêtes et les transactions en cours, l'operation_id quand le mode arrête des processus, et l'impact informatif ha :

Route : /api/v1/clusters/{cluster_id}/services/{service}/mode (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiMode, raison et délai de vidange.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer un mode d'exploitation à un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.UninstallService​

UninstallService(ctx context.Context, clusterId string, service string, opts ...eai.CallOption) (json.RawMessage, error)

Désinstaller un service. Lance l'opération de désinstallation (arrêt, retrait des paquets et, avec purge_data, des données) et renvoie operation_id. Permission services:install. Erreurs : 409 service_in_use (consommateurs listés dans details.consumers), 409 service_connected (utilisez DELETE .../connection), 409 approval_required sous banking-secure. Audité en service.uninstall.

Route : /api/v1/clusters/{cluster_id}/services/{service} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Désinstaller un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.UnlockCluster​

UnlockCluster(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Lever le verrou de sécurité d'un cluster. Lève le verrou : les nouvelles opérations sont à nouveau acceptées. Renvoie cluster_id et security_lock (nul). Permission pki:manage (rôle de sécurité). Audité en cluster.security_unlock.

Route : /api/v1/clusters/{cluster_id}/security-lock (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lever le verrou de sécurité d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.UpdateConnection​

UpdateConnection(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier un service connecté. Modifie l'adresse, les identifiants (rotation) ou les réglages TLS d'un service connecté ; une valeur omise conserve celle enregistrée. Avec dry_run, le changement est contrôlé comme une validation de connexion et n'est pas enregistré. Des identifiants refusés par le service ne sont jamais enregistrés (422 connect_invalid). Permission services:install ; 409 service_not_connected. Audité en service.connection.update (noms des champs uniquement, jamais les valeurs).

Route : /api/v1/clusters/{cluster_id}/services/{service}/connection (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiChamps de la connexion à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un service connecté ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.Upgrade​

Upgrade(ctx context.Context, clusterId string, service string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Mettre à niveau un service. Met à niveau le service vers la version du catalogue en une seule opération :

Route : /api/v1/clusters/{cluster_id}/services/{service}/upgrade (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
servicestringouiNom du service du catalogue, par exemple postgresql ou keycloak.
bodyanyouiMachine canari et approbation facultative.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Mettre à niveau un service ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ValidateConnect​

ValidateConnect(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Contrôler une connexion avant de l'enregistrer. Essai à blanc d'une connexion : contrôle la demande selon le descripteur, puis exécute le contrôle de santé et le contrôle authentifié de la méthode. Renvoie le verdict avec les erreurs ; rien n'est enregistré. Permission services:install.

Route : /api/v1/clusters/{cluster_id}/services/connect/validate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiMême corps qu'une connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Contrôler une connexion avant de l'enregistrer ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ServicesAPI.ValidateServices​

ValidateServices(ctx context.Context, clusterId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Valider une installation sans l'exécuter. Contrôle une demande d'installation et la prévisualise sans rien modifier. Renvoie ok, errors (chacune avec service, field, code, message_i18n), plan (order, nombre d'étapes stages, steps), ha (contrôles de haute disponibilité) et dependencies (items et added). Permission services:install.

Route : /api/v1/clusters/{cluster_id}/services/validate (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
bodyanyouiMême corps qu'une installation.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Valider une installation sans l'exécuter ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe SettingsAPI​

Réglages. Réglages généraux du Manager : nom du site, langue par défaut, valeurs par défaut d'installation (méthode préférée, registre, miroir), SMTP et syslog distant pour les notifications d'alertes (syslog sert aussi à la règle d'audit distant de banking-secure), conservation des données et proxy d'entreprise des machines gérées. Tout utilisateur connecté lit les valeurs non secrètes ; settings:manage (globale) les modifie. Le mot de passe SMTP est relu sous la forme {"secret": true, "set": true|false}. Les changements sont audités (settings.update). Opérations de ce groupe de l'API du Navin Manager.

SettingsAPI.GetSettingsView​

GetSettingsView(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire les réglages. Renvoie site_name, default_language, install, smtp, syslog, retention et proxy, secrets masqués. Tout utilisateur connecté.

Route : /api/v1/settings (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les réglages ». L'error est une erreur typée du SDK, nil en cas de succès.

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

SettingsAPI.PutSettings​

PutSettings(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier les réglages. Modifie les sections et les champs fournis ; une section ou un champ omis est conservé. Renvoie les réglages. Permission settings:manage. Erreurs : 422 proxy_invalid (URL de proxy avec identifiants ou hors http(s)), 422 validation_error. Audité en settings.update.

Route : /api/v1/settings (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiSections des réglages à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier les réglages ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe StackAPI​

Catalogue de la pile. Le catalogue des services que le Manager peut installer (la pile) : chaque service avec ses versions, ses composants, ses méthodes d'installation, ses paramètres, ses dépendances et ses règles de haute disponibilité. Tout utilisateur connecté peut le lire ; aucune permission n'est nécessaire. Opérations de ce groupe de l'API du Navin Manager.

StackAPI.HighAvailability​

HighAvailability(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la matrice de haute disponibilité du catalogue. Matrice de haute disponibilité de chaque service du catalogue, triée par catégorie puis par nom : ses modes (topologies) avec la cardinalité de chaque composant, et son bloc de haute disponibilité avec les contrôles de vivacité et de disponibilité. Renvoie items et count. Tout utilisateur connecté.

Route : /api/v1/catalog/high-availability (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la matrice de haute disponibilité du catalogue ». L'error est une erreur typée du SDK, nil en cas de succès.

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

StackAPI.Service​

Service(ctx context.Context, name string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un service du catalogue. Description publique d'un service du catalogue : composants, modes, méthodes, mode de livraison, couche et haute disponibilité. Tout utilisateur connecté ; 404 pour un service inconnu.

Route : /api/v1/stack/services/{name} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
namestringouiNom du service du catalogue, par exemple postgresql.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un service du catalogue ». L'error est une erreur typée du SDK, nil en cas de succès.

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

StackAPI.Stack​

Stack(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la synthèse du catalogue. Nom, version et catégories de la pile et une synthèse de chaque service qu'elle propose (composants, modes, dépendances, licence). Tout utilisateur connecté.

Route : /api/v1/stack (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la synthèse du catalogue ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe SystemAPI​

Système. Supervision du Manager par lui-même : santé de la base de données, du moteur, des agents et des tâches planifiées, liste des systèmes d'exploitation pris en charge et découverte de services Prometheus d'un cluster. Permissions : system:read pour la santé, cluster:read pour la découverte de services ; les systèmes pris en charge sont ouverts à tout utilisateur connecté. Opérations de ce groupe de l'API du Navin Manager.

SystemAPI.Health​

Health(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire la santé du Manager. Renvoie version, database (ok, latency_ms), engine (leader, last_tick_at, lag_s, queued_tasks), agents (online : battement de cœur dans les 60 dernières secondes, lost, total) et scheduler.jobs (dernière exécution et dernière erreur de chaque tâche). Permission system:read.

Route : /api/v1/system/health (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la santé du Manager ». L'error est une erreur typée du SDK, nil en cas de succès.

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

SystemAPI.PrometheusSD​

PrometheusSD(ctx context.Context, clusterId string, opts ...eai.CallOption) (json.RawMessage, error)

Découverte de services Prometheus d'un cluster. Cibles au format de découverte de services HTTP de Prometheus : un groupe par instance de composant qui expose des métriques, avec targets (fqdn:port) et les étiquettes __metrics_path__, __scheme__, nm_cluster, nm_service, nm_component, nm_host. Permission cluster:read ; 404 cluster_not_found.

Route : /api/v1/clusters/{cluster_id}/sd/prometheus (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
clusterIdstringouiIdentifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager).
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Découverte de services Prometheus d'un cluster ». L'error est une erreur typée du SDK, nil en cas de succès.

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

SystemAPI.SupportedOs​

SupportedOs(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les systèmes d'exploitation pris en charge. Liste publiée des systèmes d'exploitation et des versions pris en charge par les agents et les services. Tout utilisateur connecté.

Route : /api/v1/system/supported-os (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les systèmes d'exploitation pris en charge ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe TelemetryAPI​

Télémétrie. État de l'export en temps réel des métriques et événements du Manager vers ClickHouse. La plateforme ne livre pas de serveur de tableaux de bord (ADR-0169) : les machines et les services se suivent dans le Manager lui-même et les tables exportées se lisent en SQL. L'export est désactivé tant qu'aucune URL ClickHouse n'est configurée. Tout principal qui lit au moins un cluster (cluster:read, globale ou sur un cluster). Opérations de ce groupe de l'API du Navin Manager.

TelemetryAPI.Telemetry​

Telemetry(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lire l'état de l'export de télémétrie. Renvoie enabled, database, flush_seconds, retention_days, stats (buffered, written, dropped, failures, last_error) et les tables exportées tables. Permission cluster:read sur au moins un cluster.

Route : /api/v1/telemetry (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état de l'export de télémétrie ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe UsersAPI​

Utilisateurs et rôles. Administration des comptes de la console et de leurs attributions de rôle. Opérations de ce groupe de l'API du Navin Manager.

UsersAPI.CreateUser​

CreateUser(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Créer un utilisateur local. Crée un compte local avec son mot de passe et ses attributions de rôle, et le renvoie (201). Permission users:manage. Erreurs : 409 username_taken, 422 password_policy, 422 role_invalid, 422 role_global_only, 422 binding_cluster_not_found, 403 user_manage_denied (accorder admin sans être administrateur complet). Audité en user.create.

Route : /api/v1/users (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe nouveau compte.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un utilisateur local ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.DeleteUser​

DeleteUser(ctx context.Context, userId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer un utilisateur. Supprime le compte. Répond 204. Permission users:manage. Erreurs : 404 user_not_found, 409 cannot_delete_self, 409 last_admin, 403 user_manage_denied. Audité en user.delete.

Route : /api/v1/users/{user_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.GetUser​

GetUser(ctx context.Context, userId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire un utilisateur. Renvoie le compte avec ses attributions de rôle (role, cluster_id, source). Permission users:read ; 404 user_not_found.

Route : /api/v1/users/{user_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.ListUsers​

ListUsers(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les utilisateurs. Utilisateurs triés par nom d'utilisateur, chacun avec ses attributions de rôle, l'état de sa MFA, son verrouillage et sa dernière connexion. Paginé avec limit et cursor. Permission users:read.

Route : /api/v1/users (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les utilisateurs ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.PatchUser​

PatchUser(ctx context.Context, userId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier ou désactiver un utilisateur. Modifie les champs fournis, conserve les autres et renvoie l'utilisateur. Désactiver un compte révoque immédiatement ses sessions. Permission users:manage. Erreurs : 404 user_not_found, 409 cannot_disable_self, 409 last_admin, 403 user_manage_denied. Audité en user.update.

Route : /api/v1/users/{user_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
bodyanyouiChamps de l'utilisateur à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier ou désactiver un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.PutRoles​

PutRoles(ctx context.Context, userId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Remplacer les attributions de rôle d'un utilisateur. Remplace les attributions manuelles par la liste fournie ; les attributions synchronisées depuis LDAP ou OIDC sont conservées. Quand un nouveau rôle exige la MFA et que l'utilisateur n'en a pas, ses sessions sont révoquées. Renvoie l'utilisateur. Permission users:manage. Erreurs : 409 last_admin, 422 role_invalid, 422 role_global_only, 422 binding_cluster_not_found, 403 user_manage_denied. Audité en user.roles avec les attributions avant et après.

Route : /api/v1/users/{user_id}/roles (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
bodyanyouiLa liste complète des attributions manuelles.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Remplacer les attributions de rôle d'un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.ResetMfa​

ResetMfa(ctx context.Context, userId string, opts ...eai.CallOption) (json.RawMessage, error)

Réinitialiser le second facteur d'un utilisateur. Désactive la MFA de l'utilisateur, supprime son secret et ses codes de secours et révoque ses sessions ; l'utilisateur s'enrôle à nouveau à la prochaine connexion quand son rôle exige la MFA. Renvoie l'utilisateur. Permission users:manage. Audité en user.mfa_reset.

Route : /api/v1/users/{user_id}/mfa/reset (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Réinitialiser le second facteur d'un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.ResetPassword​

ResetPassword(ctx context.Context, userId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Définir le mot de passe d'un utilisateur local. Définit un nouveau mot de passe conforme à la politique, déverrouille le compte et révoque ses sessions. Répond 204. Permission users:manage. Erreurs : 409 not_local_user, 422 password_policy, 404 user_not_found, 403 user_manage_denied. Audité en user.password_reset.

Route : /api/v1/users/{user_id}/password (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
bodyanyouiLe nouveau mot de passe et l'obligation ou non de le changer à la prochaine connexion.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir le mot de passe d'un utilisateur local ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.Roles​

Roles(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les rôles et leurs permissions. Chaque rôle avec son nom name, son libellé label dans les deux langues, ses permissions triées permissions et ses portées scopes (global, et cluster quand il peut être attribué sur un seul cluster). Permission users:read.

Route : /api/v1/roles (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les rôles et leurs permissions ». L'error est une erreur typée du SDK, nil en cas de succès.

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

UsersAPI.UnlockUser​

UnlockUser(ctx context.Context, userId string, opts ...eai.CallOption) (json.RawMessage, error)

Déverrouiller un utilisateur. Lève le verrouillage posé après des échecs de connexion répétés et remet le compteur d'échecs à zéro. Renvoie l'utilisateur. Permission users:manage. Audité en user.unlock.

Route : /api/v1/users/{user_id}/unlock (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
userIdstringouiIdentifiant du compte utilisateur de la console.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déverrouiller un utilisateur ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Classe VaultAPI​

Coffre-fort. Le coffre-fort des administrateurs de la plateforme : les identifiants des services de la plateforme. Une entrée est un nom de service, son URL, un identifiant de connexion, un mot de passe et une clé d'API ou clé secrète. Seul le nom est conservé en clair ; URL, identifiant, mot de passe et clé forment un document scellé en AES-256-GCM avec la clé maîtresse. Les listes et les fiches ne portent jamais le mot de passe ni la clé (has_password, has_api_key) ; POST .../reveal les renvoie et est audité, l'audit ne gardant que le nom du service, jamais une valeur. Opérations de ce groupe de l'API du Navin Manager.

VaultAPI.CreateEntry​

CreateEntry(ctx context.Context, body any, opts ...eai.CallOption) (json.RawMessage, error)

Ajouter une entrée au coffre. Crée une entrée manuelle et la renvoie (201). Permission vault:manage. Erreurs : 409 vault_name_taken, 422 vault_name_required. Audité en vault.create.

Route : /api/v1/vault/entries (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe service et ses identifiants.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter une entrée au coffre ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.DeleteEntry​

DeleteEntry(ctx context.Context, entryId string, opts ...eai.CallOption) (json.RawMessage, error)

Supprimer une entrée du coffre. Supprime l'entrée. Répond 204. Permission vault:manage ; 404 vault_entry_not_found. Audité en vault.delete.

Route : /api/v1/vault/entries/{entry_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
entryIdstringouiIdentifiant de l'entrée du coffre.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une entrée du coffre ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.GetEntry​

GetEntry(ctx context.Context, entryId string, opts ...eai.CallOption) (json.RawMessage, error)

Lire une entrée du coffre. Renvoie la fiche d'une entrée sans son mot de passe ni sa clé. Permission vault:manage ; 404 vault_entry_not_found.

Route : /api/v1/vault/entries/{entry_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
entryIdstringouiIdentifiant de l'entrée du coffre.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une entrée du coffre ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.ImportEntries​

ImportEntries(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Importer les identifiants des services installés. Crée ou rafraîchit les entrées des services installés de chaque cluster ; les champs modifiés à la main sont conservés. Renvoie les noms des entrées par résultat. Permission vault:manage. Audité en vault.import.

Route : /api/v1/vault/import (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Importer les identifiants des services installés ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.ListEntries​

ListEntries(ctx context.Context, opts ...eai.CallOption) (json.RawMessage, error)

Lister les entrées du coffre. Services du coffre triés par nom, avec leur URL et leur identifiant mais sans leur mot de passe ni leur clé. Permission vault:manage.

Route : /api/v1/vault/entries (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les entrées du coffre ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.RevealEntry​

RevealEntry(ctx context.Context, entryId string, opts ...eai.CallOption) (json.RawMessage, error)

Révéler le mot de passe et la clé d'une entrée. Renvoie en clair le mot de passe et la clé d'un service, pour les afficher et les copier dans la console. Permission vault:manage ; 404 vault_entry_not_found. Audité en vault.reveal (nom du service uniquement).

Route : /api/v1/vault/entries/{entry_id}/reveal (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
entryIdstringouiIdentifiant de l'entrée du coffre.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révéler le mot de passe et la clé d'une entrée ». L'error est une erreur typée du SDK, nil en cas de succès.

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

VaultAPI.UpdateEntry​

UpdateEntry(ctx context.Context, entryId string, body any, opts ...eai.CallOption) (json.RawMessage, error)

Modifier une entrée du coffre. Modifie les champs fournis et renvoie l'entrée. Permission vault:manage. Erreurs : 404 vault_entry_not_found, 409 vault_name_taken, 422 vault_name_required, 409 vault_entry_managed (identifiants d'une console dont le Manager assure la rotation). Audité en vault.update (noms des champs uniquement).

Route : /api/v1/vault/entries/{entry_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
entryIdstringouiIdentifiant de l'entrée du coffre.
bodyanyouiChamps de l'entrée à modifier.
opts...eai.CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une entrée du coffre ». L'error est une erreur typée du SDK, nil en cas de succès.

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