Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion es.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@
"es/deploy/ci",
"es/deploy/github",
"es/deploy/ghes",
"es/deploy/gitlab"
"es/deploy/gitlab",
"es/deploy/gitlab-self-hosted"
]
},
{
Expand Down
122 changes: 122 additions & 0 deletions es/deploy/gitlab-self-hosted.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
title: "OAuth de GitLab autoalojado"
description: "Conecta una instancia autoalojada de GitLab con Mintlify mediante OAuth para que las automatizaciones puedan clonar repositorios, enviar commits y abrir merge requests en tu nombre."
keywords: ["GitLab", "autoalojado", "OAuth", "automatizaciones", "enterprise"]
---

Mintlify admite la autorización basada en OAuth para instancias autoalojadas de GitLab, además de gitlab.com. OAuth permite que el agente de Mintlify actúe como un usuario de GitLab durante las ejecuciones de automatización: clonar repositorios, enviar commits, abrir merge requests y registrar webhooks de proyectos.

Debes configurar la autorización OAuth para las instancias autoalojadas de GitLab a fin de habilitar [automatizaciones](/es/automations).

A diferencia de gitlab.com, donde Mintlify proporciona una única aplicación OAuth contra la que se autoriza cada cliente, cada instancia autoalojada debe registrar su propia aplicación OAuth. Crea la aplicación en tu instancia de GitLab, comparte sus credenciales con Mintlify y, a continuación, completa una autorización OAuth para conectar un usuario.

<Note>
Esta guía abarca únicamente la integración **OAuth** que impulsa las automatizaciones. Debes configurar por separado la conexión del lado del despliegue (utilizada para la sincronización de contenido y las vistas previas) con un deploy token; consulta la [guía de GitLab](/es/deploy/gitlab). La integración de OAuth depende de la conexión del lado del despliegue.
</Note>

<div id="prerequisites">
## Requisitos previos
</div>

- Acceso de administrador a tu instancia autoalojada de GitLab.
- Tu instancia de GitLab debe ser accesible desde `https://app.mintlify.com`. Las instancias detrás de una VPN o de un firewall que bloquee la entrada pública no funcionan.
- Una organización de Mintlify que tenga habilitada la función de GitLab autoalojado. Contacta con soporte si no ves la sección **Self-hosted GitLab** en la página del dashboard [Git settings](https://app.mintlify.com/settings/deployment/git-settings).

<div id="set-up-the-connection">
## Configura la conexión
</div>

<Steps>
<Step title="Register an OAuth application on your GitLab instance">
En tu GitLab autoalojado, inicia sesión como administrador y ve a **Admin Area** \> **Applications** \> **Add new application**.

Configura la aplicación con estos valores:

- **Name**: `Mintlify`
- **Redirect URI**: `https://app.mintlify.com/api/gitlab-oauth/callback`
- **Trusted**: déjalo **sin marcar**. Marcar la aplicación como confiable omite la pantalla de consentimiento para todos los usuarios; dejarlo sin marcar muestra un mensaje de autorización normal la primera vez que cada usuario se conecta.
- **Confidential**: **marcado**. Mintlify es un cliente del lado del servidor y mantiene el secreto confidencial.
- **Scopes**: selecciona `api`, `read_repository` y `write_repository`. El agente los usa para leer metadatos de proyectos, clonar repositorios y enviar commits.

Haz clic en **Save application**.

<Tip>
Editar una aplicación OAuth en GitLab puede rotar el client secret de manera silenciosa. Si haces cambios más adelante, haz clic en **Renew secret** y actualiza el nuevo valor en Mintlify.
</Tip>
</Step>
<Step title="Copy the application credentials">
Después de guardar, GitLab muestra el **Application ID** y el **Secret** de la aplicación. Mantén esta página abierta: el secreto solo se muestra una vez.
</Step>
<Step title="Register the instance in Mintlify">
En tu dashboard de Mintlify, abre **Settings** \> **Git settings** y busca la sección **Self-hosted GitLab** dentro de **GitLab OAuth**.

Haz clic en **Connect Self-Hosted GitLab** e introduce:

- **GitLab instance URL**: la URL pública de tu instancia de GitLab, por ejemplo `https://gitlab.your-company.com`. Mintlify se comunica con tu instancia a través de esta URL al intercambiar tokens y llamar a la API de GitLab.
- **OAuth application client ID**: el **Application ID** del paso anterior.
- **OAuth application client secret**: el **Secret** del paso anterior.

Haz clic en **Save instance**. Mintlify cifra el secreto en reposo y nunca lo devuelve al navegador después de guardarlo.
</Step>
<Step title="Authorize">
Haz clic en **Authorize self-hosted GitLab**. Serás redirigido a tu instancia de GitLab, se te pedirá que inicies sesión si es necesario y verás una pantalla de consentimiento con los scopes solicitados.

Después de hacer clic en **Authorize** en GitLab, volverás a Mintlify y la nueva conexión aparecerá en la lista de instalaciones, con una insignia que muestra el nombre de host de tu instancia.
</Step>
<Step title="Choose projects">
Expande la conexión en el dashboard. Mintlify lista todos los grupos a los que el usuario que autoriza tiene acceso como Maintainer o superior, además de una entrada **Personal projects** para los proyectos en el namespace personal del usuario.

Marca la casilla junto a cada proyecto que deba participar en las automatizaciones. Mintlify registra un webhook en el proyecto, genera un secret token y lo almacena cifrado. A partir de ese momento, Mintlify recibe eventos de push y merge-request de tu instancia para ese proyecto.

<Note>
El usuario que se conecta debe tener el rol **Maintainer** en un proyecto para que Mintlify pueda emitir project access tokens de corta duración durante las ejecuciones de automatización. Sin Maintainer, el agente puede leer pero no puede enviar commits ni abrir merge requests.
</Note>
</Step>
</Steps>

<div id="rotate-credentials">
## Rotar credenciales
</div>

Si necesitas cambiar el client secret de la aplicación registrada —por ejemplo, después de renovarlo en GitLab—, elimina la instancia guardada en Mintlify y vuelve a añadirla con los nuevos valores. Primero debes revocar las conexiones OAuth activas; de lo contrario, Mintlify bloqueará la eliminación.

<Steps>
<Step title="Revoke each connection">
Haz clic en **Revoke** en cada instalación listada bajo la instancia autoalojada. Esto elimina el webhook en cada proyecto conectado y revoca el token OAuth en GitLab.
</Step>
<Step title="Remove the instance">
En la tarjeta **Self-hosted GitLab**, haz clic en **Remove instance**.
</Step>
<Step title="Re-add with new credentials">
Sigue los pasos de **Set up the connection** descritos anteriormente con el nuevo client secret.
</Step>
</Steps>

<div id="troubleshooting">
## Resolución de problemas
</div>

<div id="invalid_client-after-authorizing">
### `invalid_client` después de autorizar
</div>

GitLab rechazó el paso de intercambio de tokens porque el client secret que envió Mintlify no coincide con el registrado en la aplicación. La causa más habitual es que el secreto se rotó en GitLab —por una acción explícita de **Renew secret**, o de forma silenciosa cuando alguien editó la aplicación— y el valor en Mintlify está obsoleto.

Solución: rota las credenciales siguiendo los pasos de [Rotar credenciales](#rotate-credentials) con el secreto actual.

<div id="webhook-registration-failed-invalid-url-given">
### El registro del webhook falló: `Invalid url given`
</div>

GitLab se negó a registrar el webhook porque la URL que envió Mintlify (`https://app.mintlify.com/gitlab-oauth-webhook`) fue rechazada por la lista de permitidos de solicitudes salientes de GitLab. Las instancias autoalojadas rechazan las URLs "locales" a menos que el administrador las permita explícitamente.

Solución: en el área de administración de GitLab, ve a **Settings** \> **Network** \> **Outbound requests** y activa **Allow requests to the local network from webhooks and integrations**. Si tu política de red bloquea `app.mintlify.com`, contacta con tu administrador de red para permitir HTTPS saliente hacia ese host.

<div id="no-consent-screen-on-authorize">
### No aparece pantalla de consentimiento al autorizar
</div>

Si no ves el cuadro de diálogo de consentimiento de GitLab al autorizar, puede deberse a una de estas causas:

- La aplicación está marcada como **Trusted** en GitLab. Las aplicaciones marcadas como confiables omiten el consentimiento para todos los usuarios. Desmarca **Trusted** en la configuración de la aplicación si quieres que los usuarios vean y confirmen los scopes.
- Tu usuario de GitLab ha autorizado previamente la aplicación con los mismos scopes. GitLab recuerda las concesiones anteriores y omite el consentimiento en autorizaciones posteriores. Revoca la autorización de la aplicación en **User settings** \> **Applications** \> **Authorized applications** para volver a ver el consentimiento.
3 changes: 2 additions & 1 deletion fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@
"fr/deploy/ci",
"fr/deploy/github",
"fr/deploy/ghes",
"fr/deploy/gitlab"
"fr/deploy/gitlab",
"fr/deploy/gitlab-self-hosted"
]
},
{
Expand Down
122 changes: 122 additions & 0 deletions fr/deploy/gitlab-self-hosted.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
title: "OAuth GitLab auto-hébergé"
description: "Connectez une instance GitLab auto-hébergée à Mintlify via OAuth pour que les automatisations puissent cloner des référentiels, pousser des commits et ouvrir des merge requests en votre nom."
keywords: ["GitLab", "auto-hébergé", "OAuth", "automatisations", "entreprise"]
---

Mintlify prend en charge l'autorisation basée sur OAuth pour les instances GitLab auto-hébergées, en plus de gitlab.com. OAuth permet à l'agent Mintlify d'agir comme un utilisateur GitLab pendant les exécutions d'automatisation : cloner des référentiels, pousser des commits, ouvrir des merge requests et enregistrer des webhooks de projet.

Vous devez configurer l'autorisation OAuth pour les instances GitLab auto-hébergées afin de prendre en charge les [automatisations](/fr/automations).

Contrairement à gitlab.com, où Mintlify fournit une seule application OAuth contre laquelle chaque client s'autorise, chaque instance auto-hébergée doit enregistrer sa propre application OAuth. Créez l'application sur votre instance GitLab, partagez ses identifiants avec Mintlify, puis effectuez une autorisation OAuth pour connecter un utilisateur.

<Note>
Ce guide concerne uniquement l'intégration **OAuth** qui alimente les automatisations. Vous devez configurer la connexion côté déploiement (utilisée pour la synchronisation du contenu et les prévisualisations) séparément avec un jeton de déploiement, voir le [guide GitLab](/fr/deploy/gitlab). L'intégration OAuth dépend de la connexion côté déploiement.
</Note>

<div id="prerequisites">
## Prérequis
</div>

- Accès administrateur à votre instance GitLab auto-hébergée.
- Votre instance GitLab doit être accessible depuis `https://app.mintlify.com`. Les instances derrière un VPN ou derrière un pare-feu qui bloque l'entrée publique ne fonctionnent pas.
- Une organisation Mintlify pour laquelle la fonctionnalité GitLab auto-hébergé est activée. Contactez le support si vous ne voyez pas la section **Self-hosted GitLab** dans la page de votre tableau de bord [Git settings](https://app.mintlify.com/settings/deployment/git-settings).

<div id="set-up-the-connection">
## Configurer la connexion
</div>

<Steps>
<Step title="Register an OAuth application on your GitLab instance">
Dans votre GitLab auto-hébergé, connectez-vous en tant qu'administrateur et accédez à **Admin Area** \> **Applications** \> **Add new application**.

Configurez l'application avec ces valeurs :

- **Name** : `Mintlify`
- **Redirect URI** : `https://app.mintlify.com/api/gitlab-oauth/callback`
- **Trusted** : laissez **décoché**. Marquer l'application comme approuvée saute l'écran de consentement pour chaque utilisateur ; le laisser décoché affiche une invite d'autorisation normale la première fois que chaque utilisateur se connecte.
- **Confidential** : **coché**. Mintlify est un client côté serveur et garde le secret confidentiel.
- **Scopes** : sélectionnez `api`, `read_repository` et `write_repository`. L'agent les utilise pour lire les métadonnées du projet, cloner des référentiels et pousser des commits.

Cliquez sur **Save application**.

<Tip>
Modifier une application OAuth sur GitLab peut faire tourner le secret client silencieusement. Si vous apportez des modifications par la suite, cliquez sur **Renew secret** et mettez à jour la nouvelle valeur dans Mintlify.
</Tip>
</Step>
<Step title="Copy the application credentials">
Après l'enregistrement, GitLab affiche l'**Application ID** et le **Secret** de l'application. Gardez cette page ouverte — le secret n'est affiché qu'une seule fois.
</Step>
<Step title="Register the instance in Mintlify">
Dans votre tableau de bord Mintlify, ouvrez **Settings** \> **Git settings** et trouvez la section **Self-hosted GitLab** sous **GitLab OAuth**.

Cliquez sur **Connect Self-Hosted GitLab** et saisissez :

- **GitLab instance URL** : l'URL publique de votre instance GitLab, par exemple `https://gitlab.your-company.com`. Mintlify accède à votre instance via cette URL lors de l'échange de jetons et des appels à l'API GitLab.
- **OAuth application client ID** : l'**Application ID** de l'étape précédente.
- **OAuth application client secret** : le **Secret** de l'étape précédente.

Cliquez sur **Save instance**. Mintlify chiffre le secret au repos et ne le renvoie jamais au navigateur après l'enregistrement.
</Step>
<Step title="Authorize">
Cliquez sur **Authorize self-hosted GitLab**. Vous serez redirigé vers votre instance GitLab, invité à vous connecter si nécessaire, et un écran de consentement listant les portées demandées s'affichera.

Après avoir cliqué sur **Authorize** sur GitLab, vous serez redirigé vers Mintlify et la nouvelle connexion apparaîtra dans la liste des installations, étiquetée avec le nom d'hôte de votre instance.
</Step>
<Step title="Choose projects">
Développez la connexion dans le tableau de bord. Mintlify liste chaque groupe auquel votre utilisateur autorisant a un accès Maintainer ou supérieur, ainsi qu'une entrée **Personal projects** pour les projets dans l'espace de noms personnel de l'utilisateur.

Cochez la case à côté de chaque projet qui doit participer aux automatisations. Mintlify enregistre un webhook sur le projet, génère un jeton secret et le stocke chiffré. À partir de ce moment, Mintlify reçoit les événements push et merge-request de votre instance pour ce projet.

<Note>
L'utilisateur qui se connecte doit avoir le rôle **Maintainer** sur un projet pour que Mintlify puisse émettre des jetons d'accès de projet à courte durée pendant les exécutions d'automatisation. Sans Maintainer, l'agent peut lire mais ne peut pas pousser de commits ni ouvrir de merge requests.
</Note>
</Step>
</Steps>

<div id="rotate-credentials">
## Faire tourner les identifiants
</div>

Si vous devez modifier le secret client de l'application enregistrée — par exemple après l'avoir renouvelé sur GitLab — supprimez l'instance enregistrée dans Mintlify et ajoutez-la à nouveau avec les nouvelles valeurs. Vous devez d'abord révoquer les connexions OAuth actives ; sinon, Mintlify bloque la suppression.

<Steps>
<Step title="Revoke each connection">
Cliquez sur **Revoke** sur chaque installation listée sous l'instance auto-hébergée. Cela supprime le webhook sur chaque projet connecté et révoque le jeton OAuth sur GitLab.
</Step>
<Step title="Remove the instance">
Dans la carte **Self-hosted GitLab**, cliquez sur **Remove instance**.
</Step>
<Step title="Re-add with new credentials">
Suivez les étapes **Set up the connection** décrites précédemment avec le nouveau secret client.
</Step>
</Steps>

<div id="troubleshooting">
## Dépannage
</div>

<div id="invalid_client-after-authorizing">
### `invalid_client` après autorisation
</div>

GitLab a rejeté l'étape d'échange de jeton car le secret client envoyé par Mintlify ne correspond pas à celui enregistré sur l'application. La cause la plus fréquente est qu'un secret a été modifié sur GitLab — par un **Renew secret** explicite, ou silencieusement lorsque quelqu'un a modifié l'application — et que la valeur dans Mintlify est obsolète.

Solution : faites tourner les identifiants en suivant les étapes [Faire tourner les identifiants](#rotate-credentials) avec le secret actuel.

<div id="webhook-registration-failed-invalid-url-given">
### Échec de l'enregistrement du webhook : `Invalid url given`
</div>

GitLab a refusé d'enregistrer le webhook car l'URL envoyée par Mintlify (`https://app.mintlify.com/gitlab-oauth-webhook`) a été rejetée par la liste d'autorisation des requêtes sortantes de GitLab. Les instances auto-hébergées rejettent les URL « locales » sauf si l'administrateur les autorise explicitement.

Solution : dans la zone d'administration de votre GitLab, accédez à **Settings** \> **Network** \> **Outbound requests** et activez **Allow requests to the local network from webhooks and integrations**. Si votre politique réseau bloque `app.mintlify.com`, contactez votre administrateur réseau pour autoriser le HTTPS sortant vers cet hôte.

<div id="no-consent-screen-on-authorize">
### Aucun écran de consentement lors de l'autorisation
</div>

Si vous ne voyez pas la boîte de dialogue de consentement de GitLab lors de l'autorisation, soit :

- L'application est marquée **Trusted** sur GitLab. Les applications approuvées sautent le consentement pour tous les utilisateurs. Décochez **Trusted** dans les paramètres de l'application si vous souhaitez que les utilisateurs voient et confirment les portées.
- Votre utilisateur GitLab a déjà autorisé l'application avec les mêmes portées. GitLab se souvient des autorisations précédentes et saute le consentement lors des autorisations suivantes. Révoquez l'autorisation de l'application dans **User settings** \> **Applications** \> **Authorized applications** pour revoir le consentement.
3 changes: 2 additions & 1 deletion zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@
"zh/deploy/ci",
"zh/deploy/github",
"zh/deploy/ghes",
"zh/deploy/gitlab"
"zh/deploy/gitlab",
"zh/deploy/gitlab-self-hosted"
]
},
{
Expand Down
Loading
Loading