manager/operations_gen.go (package manager)
Source : sdks/go/manager/operations_gen.go. Retour à l'index de la référence du SDK Go.
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
templateId | string | oui | Identifiant du gabarit d'agent, égal au nom de son fichier descripteur. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
templateId | string | oui | Identifiant du gabarit d'agent. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
templateId | string | oui | Identifiant du gabarit d'agent. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
alertId | string | oui | Identifiant de l'alerte. | |
body | any | oui | Note facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, type, configuration et sévérité minimale de la cible. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
targetId | string | oui | Identifiant de la cible de notification. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
alertId | string | oui | Identifiant de l'alerte. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
definitionId | string | oui | Identifiant de la définition d'alerte. | |
body | any | oui | Champs de la définition à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
targetId | string | oui | Identifiant de la cible de notification. | |
body | any | oui | Champs de la cible à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
targetId | string | oui | Identifiant de la cible de notification. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Réglages du fournisseur. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
providerId | string | oui | Identifiant du fournisseur OIDC. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
providerId | string | oui | Identifiant du fournisseur OIDC. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Réglages LDAP complets. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
providerId | string | oui | Identifiant du fournisseur OIDC. | |
body | any | oui | Réglages complets du fournisseur. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Tous les champs de la politique. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Compte de test facultatif. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
providerId | string | oui | Identifiant du fournisseur OIDC. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le groupe, sa politique et ses membres. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
groupId | string | oui | Identifiant du groupe de HA. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
groupId | string | oui | Identifiant du groupe de HA. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
groupId | string | oui | Identifiant du groupe de HA. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
exerciseId | string | oui | Identifiant de l'exercice ou de la demande de bascule. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, empreintes du registre et indicateur de réconciliation. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
exerciseId | string | oui | Identifiant de l'exercice ou de la demande de bascule. | |
body | any | oui | Mesures observées, résultat et preuves. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, mode, sites, objectifs et séquence du plan. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, périmètre, calendrier, chiffrement et conservation du plan. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Fournisseur, emplacement et capacités de la cible. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de reprise. | |
body | any | oui | Type, nom et spécification de la bascule. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
backupId | string | oui | Identifiant de l'artefact de sauvegarde. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de reprise. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
backupId | string | oui | Identifiant de l'artefact de sauvegarde. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Artefact, environnement, destination et versions cibles. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de sauvegarde. | |
body | any | oui | Emplacement, type et versions de l'artefact. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le plan de reprise. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le plan de reprise. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
backupId | string | oui | Identifiant de l'artefact de sauvegarde. | |
body | any | oui | Injection ou non d'une corruption (pour prouver que le test la détecte). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de reprise. | |
body | any | oui | Objectifs de RPO et RTO. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de reprise. | |
body | any | oui | Site vers lequel basculer le trafic. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
backupId | string | oui | Identifiant de l'artefact de sauvegarde. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, périmètre, calendrier, chiffrement et conservation du plan. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de sauvegarde. | |
body | any | oui | Emplacement, type et versions de l'artefact. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
backupId | string | oui | Identifiant de l'artefact de sauvegarde. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Blueprint, association des machines et options d'installation. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Blueprint et association facultative des machines. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, mode, description et profil du cluster. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Durée de vie et nombre d'utilisations du jeton. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Serveur d'API, kubeconfig et espace de noms. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Champs du cluster à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, mode, description et profil du cluster. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
tokenId | string | oui | Identifiant du jeton d'amorçage. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Services et machines à contrôler. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Politique de redémarrage de l'application. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Nom, machines et surcharges du groupe. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
groupId | string | oui | Identifiant du groupe de configuration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
version | string | oui | Numéro de version, à partir de 1. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Propriétés modifiées et une note. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
version | string | oui | Numéro de la version à restaurer. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
groupId | string | oui | Identifiant du groupe de configuration. | |
body | any | oui | Nom, machines et surcharges du groupe. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, type, paramètres et secret de la connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
connectionId | string | oui | Identifiant de la connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
connectionId | string | oui | Identifiant de la connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
connectionId | string | oui | Identifiant de la connexion. | |
body | any | oui | Champs de la connexion à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
connectionId | string | oui | Identifiant de la connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Type, paramètres et secret à tester. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Adresse publiée et protection. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Nouveau mot de passe et politique de redémarrage. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
exerciseId | string | oui | Identifiant de l'exercice ou de la demande de bascule. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
exerciseId | string | oui | Identifiant de l'exercice ou de la demande de bascule. | |
body | any | oui | Mesures observées, résultat et preuves. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, mode, sites, objectifs et séquence du plan. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le plan de reprise. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le plan de reprise. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le groupe, sa politique et ses membres. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
groupId | string | oui | Identifiant du groupe de HA. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
groupId | string | oui | Identifiant du groupe de HA. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Machine cible, machines de rebond, compte SSH, clé privée ou certificat. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Même corps qu'un amorçage. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cluster, FQDN et empreinte de clé de la machine. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Champs de la machine à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Accès SSH, identité attendue, ports et disques à contrôler. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Réglages sysctl et limites de ressources. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Raison du changement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Machines, compte SSH, clé privée et empreintes des clés des machines. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le document de distribution signé, en JSON. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Adresse du Hub, client, clés et jeton. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
name | string | oui | Nom du composant. | |
body | any | oui | Action et ses arguments. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
name | string | oui | Nom du composant. | |
body | any | oui | Champs du composant à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
name | string | oui | Nom du composant. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Service, source, valeurs, réplicas et politiques du composant. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | URL de la passerelle, locataire et délai hors ligne de l'agent. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Champs de la cible à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Opération, paramètres, clé d'idempotence et validité. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Serveur d'API, kubeconfig et espace de noms. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
name | string | oui | Nom du composant (la ressource ManagedComponent). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Services à sauvegarder. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
approvalId | string | oui | Identifiant de la demande d'approbation. | |
body | any | oui | La décision. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
bundleId | string | oui | Identifiant de l'archive de support. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
findingId | string | oui | Identifiant du constat de dérive. | |
body | any | oui | Option de redémarrage et approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Machines à contrôler. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
reportId | string | oui | Identifiant du rapport de recette. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
reportId | string | oui | Identifiant du rapport de recette. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Action, service et raison. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
backupId | string | oui | Identifiant de la sauvegarde de service. | |
body | any | oui | Approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
upgradeId | string | oui | Identifiant de la mise à niveau. | |
body | any | oui | Approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
upgradeId | string | oui | Identifiant de la mise à niveau. | |
body | any | oui | Approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Services et machines à contrôler. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Le nouveau profil. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Machine canari et approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le document de rapport signé. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Locataire, projet et définition du serveur. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
body | any | oui | Cluster et limites de l'hébergement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverId | string | oui | Identifiant du serveur MCP. | |
body | any | oui | Champs du serveur à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
namespace | string | oui | Espace de noms de projet de l'instance, mcp-<12 hex>. | |
name | string | oui | Nom de l'objet MCPServer. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
namespace | string | oui | Espace de noms de projet de l'instance, mcp-<12 hex>. | |
name | string | oui | Nom de l'objet MCPServer. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
tokenId | string | oui | Identifiant du jeton d'API, issu de GET /me/tokens. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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.
NavinSmAPI.AssignableUsers
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.BlockKey
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
keyId | string | oui | Identifiant de la clé dans le Manager. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.CreateKey
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
body | any | oui | Bénéficiaire, modèles et limites de la nouvelle clé. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.CreateProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.DeletePackage
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
filename | string | oui | Nom de fichier du paquet. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.DeleteProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.DiscoverModels
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le proxy à lire. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.Distribution
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.DownloadPackage
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
filename | string | oui | Nom de fichier du paquet. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.ExportProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.FetchRelease
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'entrée du coffre qui porte le jeton GitHub. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.GetImport
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
importId | string | oui | Identifiant de la récupération, renvoyé par POST /navin-sm/distribution/fetch. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.GetProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.ListKeys
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.ListProfiles
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.LitellmSources
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.LoadChecksums
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Les lignes de sommes de contrôle. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.PreviewProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.ProfileBundle
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.RevokeAllKeys
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.RevokeKey
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
keyId | string | oui | Identifiant de la clé dans le Manager. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.UnblockKey
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
keyId | string | oui | Identifiant de la clé dans le Manager. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.UpdateKey
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
keyId | string | oui | Identifiant de la clé dans le Manager (jamais sa valeur). | |
body | any | oui | Nouveaux modèles et limites. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.UpdateProfile
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
body | any | oui | Le profil complet. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.UploadPackage
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
filename | string | oui | Nom de fichier du paquet, tel que le catalogue le liste pour cette version. | |
opts | ...eai.CallOption | non | Options de l'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).
NavinSmAPI.Usage
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileId | string | oui | Identifiant du profil. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Validité de la commande et délai de santé du nouvel agent. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Même corps qu'un amorçage. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
requestId | string | oui | Identifiant de la demande d'accès d'urgence. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
requestId | string | oui | Identifiant de la demande d'accès d'urgence. | |
body | any | oui | Type, empreinte et résumé de la preuve. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Raison, clé publique, compte et validité. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
requestId | string | oui | Identifiant de la demande d'accès d'urgence. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Machine cible, machines de rebond, compte SSH, clé privée ou certificat. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cluster, FQDN et empreinte de clé de la machine. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Accès SSH, identité attendue, ports et disques à contrôler. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Opération, paramètres, validité et clé d'idempotence. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | La politique SSH. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Raison du changement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Raison du changement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Raison du changement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Le mode de gestion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
operationId | string | oui | Identifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
operationId | string | oui | Identifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
operationId | string | oui | Identifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines. | |
taskId | string | oui | Identifiant de la tâche, issu des étapes de l'opération. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
operationId | string | oui | Identifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
operationId | string | oui | Identifiant de l'opération (une installation, un redémarrage, une sauvegarde...) dont les tâches s'exécutent sur les machines. | |
taskId | string | oui | Identifiant de la tâche. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Service facultatif auquel limiter le renouvellement. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Artefact, environnement, destination et versions cibles. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
planId | string | oui | Identifiant du plan de restauration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Action, périmètre et découpage par lots. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Composant et machines cibles. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Action, périmètre, découpage par lots et simulation. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Propriétés modifiées et une note. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Adresse, authentification et réglages TLS du service existant. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Action et simulation. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
component | string | oui | Nom du composant. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
body | any | oui | Action à exécuter. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Services à installer avec leurs placements et leur configuration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Services à installer avec leurs placements et leur configuration. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Raison du verrouillage. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
component | string | oui | Nom du composant, tel que déclaré par le service du catalogue, par exemple server. | |
hostId | string | oui | Identifiant de la machine, enregistrée par son agent Navin. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
upgradeId | string | oui | Identifiant de la mise à niveau. | |
body | any | oui | Approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Action, périmètre et découpage par lots. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
command | string | oui | Nom de la commande, tel que déclaré par le service du catalogue. | |
body | any | oui | Paramètres de la commande et machine cible facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Machine, composant et nombre de lignes. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Mode, raison et délai de vidange. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Champs de la connexion à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
service | string | oui | Nom du service du catalogue, par exemple postgresql ou keycloak. | |
body | any | oui | Machine canari et approbation facultative. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Même corps qu'une connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
body | any | oui | Même corps qu'une installation. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Sections des réglages à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du service du catalogue, par exemple postgresql. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
clusterId | string | oui | Identifiant du cluster (un environnement de machines ou un cluster Kubernetes géré par le Navin Manager). | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le nouveau compte. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
body | any | oui | Champs de l'utilisateur à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
body | any | oui | La liste complète des attributions manuelles. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
body | any | oui | Le nouveau mot de passe et l'obligation ou non de le changer à la prochaine connexion. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
userId | string | oui | Identifiant du compte utilisateur de la console. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le service et ses identifiants. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
entryId | string | oui | Identifiant de l'entrée du coffre. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
entryId | string | oui | Identifiant de l'entrée du coffre. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
entryId | string | oui | Identifiant de l'entrée du coffre. | |
opts | ...eai.CallOption | non | Options de l'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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
entryId | string | oui | Identifiant de l'entrée du coffre. | |
body | any | oui | Champs de l'entrée à modifier. | |
opts | ...eai.CallOption | non | Options de l'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).