doc-locale/fr-fr/administration/instance_limits.md
{{< details >}}
{{< /details >}}
GitLab, comme la plupart des grandes applications, applique des limites à certaines fonctionnalités afin de maintenir un niveau minimum de qualité des performances. Permettre à certaines fonctionnalités d'être illimitées pourrait affecter la sécurité, les performances, les données, ou même épuiser les ressources allouées à l'application.
Sur la page de configuration de l'instance, vous pouvez trouver des informations sur certains des paramètres utilisés dans votre instance GitLab actuelle.
Selon les limites que vous avez configurées, vous pouvez voir :
Cette page étant visible par tout le monde, les utilisateurs non authentifiés ne voient que les informations qui les concernent.
Pour visiter la page de configuration de l'instance :
L'URL directe est <gitlab_url>/help/instance_configuration. Pour GitLab.com, vous pouvez visiter https://gitlab.com/help/instance_configuration.
Les limites de débit peuvent être utilisées pour améliorer la sécurité et la durabilité de GitLab.
En savoir plus sur la configuration des limites de débit.
Ce paramètre limite le taux de requêtes vers le point de terminaison de création de ticket.
En savoir plus sur les limites de débit pour la création de tickets.
Ce paramètre limite le taux de requêtes par utilisateur ou IP.
En savoir plus sur les limites de débit par utilisateur et par IP.
Ces paramètres limitent le taux de requêtes sur les points de terminaison bruts.
En savoir plus sur les limites de débit des points de terminaison bruts.
Ce paramètre limite le taux de requêtes sur des chemins spécifiques.
GitLab limite par défaut le débit des chemins suivants pour les requêtes POST :
'/users/password',
'/users/sign_in',
'/api/#{API::API.version}/session.json',
'/api/#{API::API.version}/session',
'/users',
'/users/confirmation',
'/unsubscribes/',
'/import/github/personal_access_token',
'/admin/session'
GitLab limite par défaut le débit des chemins suivants pour les requêtes GET :
'/users/sign_in_path'
En savoir plus sur les limites de débit des chemins protégés.
Ce paramètre limite le taux de requêtes sur l'API Packages par utilisateur ou IP. Pour plus d'informations, consultez les limites de débit du registre de paquets.
Ce paramètre limite le taux de requêtes sur les requêtes Git LFS par utilisateur. Pour plus d'informations, consultez Administration de GitLab Git Large File Storage (LFS).
Ce paramètre limite le taux de requêtes sur l'API Files par utilisateur ou adresse IP. Pour plus d'informations, consultez les limites de débit de l'API Files.
Ce paramètre limite le taux de requêtes sur les points de terminaison d'API obsolètes par utilisateur ou adresse IP. Pour plus d'informations, consultez les limites de débit des API obsolètes.
Ces paramètres limitent les imports et exports de fichiers pour les groupes et les projets.
| Limite | Par défaut (par minute par utilisateur) |
|---|---|
| Import de projet | 6 requêtes d'import |
| Export de projet | 6 requêtes d'export |
| Téléchargement d'export de projet | 1 requête de téléchargement |
| Import de groupe | 6 requêtes d'import |
| Export de groupe | 6 requêtes d'export |
| Téléchargement d'export de groupe | 1 requête de téléchargement |
Ces paramètres peuvent être configurés.
{{< history >}}
{{< /history >}}
Les limites suivantes s'appliquent à la migration par transfert direct.
| Limite | Valeur par défaut | Configurable |
|---|---|---|
| Nombre de migrations par une instance GitLab de destination par minute et par utilisateur. | 6 | {{< no >}} |
| Temps d'attente pour la décompression d'un fichier archive. | 210 secondes | {{< no >}} |
| Longueur d'une ligne NDJSON. | 50 Mo | {{< no >}} |
| Délai avant qu'un statut d'export vide sur l'instance source soit signalé. | 5 minutes | {{< no >}} |
| Taille de la relation pouvant être téléchargée depuis l'instance source. | 5 Gio | {{< yes >}} |
| Taille d'une archive décompressée. | 10 Gio | {{< yes >}} |
Pour plus d'informations sur la modification des limites configurables, consultez les paramètres d'import et d'export.
Limitez le nombre maximum d'invitations de membres quotidiennes autorisées par hiérarchie de groupe.
Limitez le nombre de fois par minute que les webhooks d'un espace de nommage de premier niveau peuvent être appelés. Tous les webhooks de projet et de groupe dans l'espace de nommage partagent cette limite.
Les appels qui dépassent la limite de débit sont enregistrés dans auth.log.
Pour définir cette limite pour une instance GitLab Self-Managed, utilisez l'API Plan Limits ou exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(web_hook_calls: 10)
Définissez la limite à 0 pour la désactiver.
{{< history >}}
{{< /history >}}
Ce paramètre limite les requêtes de recherche comme suit :
| Limite | Par défaut (requêtes par minute) |
|---|---|
| Utilisateur authentifié | 30 |
| Utilisateur non authentifié | 10 |
Les requêtes de recherche qui dépassent la limite de débit de recherche par minute renvoient l'erreur suivante :
This endpoint has been requested too many times. Try again later.
{{< history >}}
autocomplete_users_rate_limit. Désactivé par défaut.autocomplete_users_rate_limit a été supprimé.{{< /history >}}
Ce paramètre limite les requêtes de saisie semi-automatique des utilisateurs comme suit :
| Limite | Par défaut (requêtes par minute) |
|---|---|
| Utilisateur authentifié | 300 |
| Utilisateur non authentifié | 100 |
Les requêtes de saisie semi-automatique qui dépassent la limite de débit de saisie semi-automatique par minute renvoient l'erreur suivante :
This endpoint has been requested too many times. Try again later.
{{< history >}}
{{< /history >}}
Ce paramètre limite le taux de requêtes vers les points de terminaison de création de pipeline.
En savoir plus sur les limites de débit de création de pipeline.
Le trafic de clonage peut exercer une forte pression sur votre service Gitaly. Pour éviter que ces charges de travail ne submergent votre serveur Gitaly, vous pouvez définir des limites de simultanéité dans le fichier de configuration Gitaly.
En savoir plus sur les limites de simultanéité de Gitaly.
Il existe une limite au nombre de commentaires pouvant être soumis sur un ticket, une merge request ou un commit. Lorsque la limite est atteinte, des notes système peuvent toujours être ajoutées afin que l'historique des événements ne soit pas perdu, mais le commentaire soumis par l'utilisateur échoue.
Il existe une limite à la taille des commentaires et des descriptions des tickets, des merge requests et des epics. Toute tentative d'ajouter un corps de texte plus grand que la limite entraîne une erreur, et l'élément n'est pas non plus créé.
Il est possible que cette limite soit réduite à l'avenir.
Des commits avec des messages de taille arbitrairement grande peuvent être poussés vers GitLab, mais les limites d'affichage suivantes s'appliquent :
Lorsqu'un commit est poussé, GitLab traite le titre et la description pour remplacer les références aux tickets (#123) et aux merge requests (!123) par des liens vers les tickets et les merge requests.
Lorsqu'une branche comportant un grand nombre de commits est poussée, seuls les 100 derniers commits sont traités.
Lorsque vous rebasez des commits, les messages de commit qui dépassent la limite de taille sont tronqués. Cette limite est distincte des limites de taille pour les titres et descriptions de commits.
Le nombre maximum de tickets chargés sur la page de vue d'ensemble du jalon est de 500. Lorsque le nombre dépasse la limite, la page affiche une alerte et renvoie vers une liste de tickets paginée de tous les tickets du jalon.
Lors du push de plusieurs modifications avec un seul push Git, comme plusieurs tags ou branches, seuls quatre pipelines de tag ou de branche peuvent être déclenchés par défaut. Cette limite empêche la création accidentelle d'un grand nombre de pipelines lors de l'utilisation de git push --all ou de git push --mirror.
Les pipelines de merge request sont limités. Si le push Git met à jour plusieurs merge requests en même temps, un pipeline de merge request peut se déclencher pour chaque merge request mise à jour avant d'atteindre la limite.
La valeur par défaut est 4 pour GitLab Self-Managed et GitLab.com.
Pour modifier cette limite sur votre instance GitLab Self-Managed, utilisez la zone Admin.
[!warning] Il n'est pas recommandé d'augmenter cette limite. Cela peut entraîner une charge excessive sur votre instance GitLab si de nombreuses modifications sont poussées simultanément, créant potentiellement un afflux de pipelines.
L'historique d'activité des projets et des profils individuels est limité à trois ans.
Il existe une limite lors de l'intégration de métriques dans GitLab Flavored Markdown (GLFM) pour des raisons de performances.
{{< history >}}
{{< /history >}}
Ce paramètre restreint la taille maximale autorisée en Mio pour les réponses HTTP compressées par Gzip après décompression.
La taille maximale par défaut est de 100 Mio. Pour désactiver cette limite, définissez la valeur sur 0.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application
ApplicationSetting.update(max_http_decompressed_size: 50)
{{< history >}}
{{< /history >}}
Ce paramètre restreint la taille maximale autorisée en Mio pour les réponses HTTP décompressées. Il s'applique aux intégrations, aux importateurs et aux webhooks.
La taille maximale par défaut est de 100 Mio. Pour désactiver cette limite, définissez la valeur sur 0.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application
ApplicationSetting.update(max_http_response_size_limit: 60)
{{< history >}}
{{< /history >}}
Ce paramètre restreint le nombre maximum d'objets autorisé dans les réponses HTTP JSON provenant de requêtes sortantes. Le nombre d'objets est estimé en fonction du nombre d'occurrences de :, ,, { et [ dans la réponse.
Le nombre maximum par défaut est de 1 000 000 objets. Pour désactiver cette limite, définissez la valeur sur 0.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application :
ApplicationSetting.update(max_http_response_json_structural_chars: 500000)
{{< history >}}
{{< /history >}}
Ce paramètre restreint la profondeur d'imbrication maximale autorisée dans les réponses HTTP JSON provenant de requêtes sortantes.
La profondeur d'imbrication maximale par défaut est de 32.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application :
ApplicationSetting.update(max_http_response_json_depth: 100)
{{< history >}}
{{< /history >}}
Ce paramètre restreint le nombre maximum d'objets autorisé dans les réponses HTTP XML provenant de requêtes sortantes. Le nombre d'objets est estimé en fonction du nombre d'occurrences de <, = dans la réponse.
Le nombre maximum par défaut est de 250 000 objets. Pour désactiver cette limite, définissez la valeur sur 0.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application :
ApplicationSetting.update(max_http_response_xml_structural_chars: 500000)
{{< history >}}
{{< /history >}}
Ce paramètre restreint le nombre maximum d'objets autorisé dans les réponses HTTP CSV provenant de requêtes sortantes. Le nombre d'objets est estimé en fonction du nombre d'occurrences de ,, ;, \t, \r et \n dans la réponse.
Le nombre maximum par défaut est de 250 000 objets. Pour désactiver cette limite, définissez la valeur sur 0.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab ou l'API des paramètres d'application :
ApplicationSetting.update(max_http_response_csv_structural_chars: 500000)
Par défaut, les paramètres JSON dans les requêtes sont limités. Pour plus d'informations, consultez les limites de validation JSON par point de terminaison.
{{< tabs >}}
{{< tab title="Linux package (Omnibus)" >}}
Pour désactiver cette vérification :
Définissez la variable d'environnement GITLAB_JSON_GLOBAL_VALIDATION_MODE sur tous les nœuds qui exécutent Puma :
sudo -e /etc/gitlab/gitlab.rb
gitlab_rails['env'] = { 'GITLAB_JSON_GLOBAL_VALIDATION_MODE' => 'disabled' }
Reconfigurez les nœuds mis à jour pour que la modification prenne effet :
sudo gitlab-ctl reconfigure
{{< /tab >}}
{{< tab title="Helm chart (Kubernetes)" >}}
Pour désactiver cette vérification, vous pouvez utiliser --set gitlab.webservice.extraEnv.GITLAB_JSON_GLOBAL_VALIDATION_MODE="disabled", ou spécifier ce qui suit dans votre fichier de valeurs :
gitlab:
webservice:
extraEnv:
GITLAB_JSON_GLOBAL_VALIDATION_MODE: "disabled"
{{< /tab >}}
{{< /tabs >}}
Certains points de terminaison d'API ont des limites de validation JSON spécifiques.
| Point de terminaison | Description | Méthodes | Profondeur maximale | Taille maximale du tableau | Taille maximale du hash | Nombre total maximum d'éléments | Taille maximale JSON | Mode |
|---|---|---|---|---|---|---|---|---|
| Tous les autres chemins | Valeur par défaut | Tous | 32 | 50 000 | 50 000 | 100 000 | 0 (désactivé) | enforced |
/api/v4/projects/{id}/terraform/state/ | État Terraform | POST | 64 | 50 000 | 50 000 | 250 000 | 50 Mo | logging <sup>1</sup> |
/api/v4/packages/npm/-/npm/v1/security/ | ||||||||
{advisories/bulk|audits/quick} | Paquets NPM d'instance | POST | 32 | 50 000 | 50 000 | 250 000 | 50 Mo | enforced |
/api/v4/groups/{id}/-/packages/npm/-/npm/v1/security/ | ||||||||
{advisories/bulk|audits/quick} | Paquets NPM de groupe | POST | 32 | 50 000 | 50 000 | 250 000 | 50 Mo | enforced |
/api/v4/projects/{id}/packages/npm/-/npm/v1/security/ | ||||||||
{advisories/bulk|audits/quick} | Paquets NPM de projet | POST | 32 | 50 000 | 50 000 | 250 000 | 50 Mo | enforced |
/api/v4/internal/* | API interne | POST | 32 | 50 000 | 50 000 | 0 (désactivé) | 10 Mo | enforced |
/api/v4/ai/duo_workflows/workflows/* | API GitLab Duo Workflow | POST | 32 | 5 000 | 5 000 | 0 (désactivé) | 25 Mo | enforced |
Footnotes :
max_terraform_state_size_bytes.Les variables d'environnement suivantes modifient les limites par défaut et les modes de validation :
| Variable d'environnement | Objectif | Valeur par défaut | Portée |
|---|---|---|---|
GITLAB_JSON_MAX_DEPTH | Profondeur d'imbrication maximale par défaut | 32 | Limites par défaut uniquement |
GITLAB_JSON_MAX_ARRAY_SIZE | Nombre maximum d'éléments de tableau par défaut | 50 000 | Limites par défaut uniquement |
GITLAB_JSON_MAX_HASH_SIZE | Nombre maximum de clés de hash par défaut | 50 000 | Limites par défaut uniquement |
GITLAB_JSON_MAX_TOTAL_ELEMENTS | Nombre total maximum d'éléments par défaut | 100 000 | Limites par défaut uniquement |
GITLAB_JSON_MAX_JSON_SIZE_BYTES | Taille maximale du corps par défaut | 0 (désactivé) | Limites par défaut uniquement |
GITLAB_JSON_VALIDATION_MODE | Mode de validation par défaut | enforced | Limites par défaut uniquement |
GITLAB_JSON_GLOBAL_VALIDATION_MODE | Remplacer tous les modes de point de terminaison | Non défini | Tous les points de terminaison (remplacement global) |
La variable d'environnement GITLAB_JSON_GLOBAL_VALIDATION_MODE peut être définie sur l'un de ces modes.
| Mode | Description |
|---|---|
enforced | Valide et bloque les requêtes dépassant les limites (renvoie HTTP 400). Utilisé pour la protection en production. |
logging | Valide et enregistre les violations, mais laisse passer les requêtes. Utilisé pour la surveillance et le débogage. Tous les points de terminaison sont en mode log uniquement, ce qui remplace enforced. |
| disabled | Ignore entièrement la validation. Utilisé comme contournement d'urgence. |
Lors de l'utilisation de GITLAB_JSON_GLOBAL_VALIDATION_MODE :
Voir aussi les limites de débit des webhooks.
Pour définir le nombre maximum de webhooks de groupe ou de projet pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
# For project webhooks
Plan.default.actual_limits.update!(project_hooks: 200)
# For group webhooks
Plan.default.actual_limits.update!(group_hooks: 100)
Définissez la limite à 0 pour la désactiver.
Le nombre maximum par défaut de webhooks est 100 par projet et 50 par groupe. Les webhooks d'un sous-groupe ne sont pas comptabilisés dans la limite de webhook de leur groupe parent.
Pour GitLab.com, consultez les limites de webhook pour GitLab.com.
La taille maximale du payload de webhook est de 25 Mo.
Le nombre de secondes pendant lesquelles GitLab attend une réponse HTTP après l'envoi d'un webhook.
Pour modifier la valeur du délai d'expiration du webhook :
Modifiez /etc/gitlab/gitlab.rb sur tous les nœuds GitLab qui exécutent Sidekiq :
gitlab_rails['webhook_timeout'] = 60
Enregistrez le fichier.
Reconfigurez et redémarrez GitLab pour que les modifications prennent effet :
gitlab-ctl reconfigure
gitlab-ctl restart
Voir aussi les limites de webhook pour GitLab.com.
GitLab détecte et bloque les webhooks récursifs ou qui dépassent la limite de webhooks pouvant être déclenchés par d'autres webhooks. Cela permet à GitLab de continuer à prendre en charge les workflows qui utilisent des webhooks pour appeler l'API de manière non récursive, ou qui ne déclenchent pas un nombre déraisonnable d'autres webhooks.
La récursion peut se produire lorsqu'un webhook est configuré pour effectuer un appel vers sa propre instance GitLab (par exemple, l'API). L'appel déclenche alors le même webhook et crée une boucle infinie.
Le nombre maximum de requêtes vers une instance effectuées par une série de webhooks qui en déclenchent d'autres est de 100. Lorsque la limite est atteinte, GitLab bloque tout webhook supplémentaire qui serait déclenché par la série.
Les appels de webhook récursifs bloqués sont enregistrés dans auth.log avec le message "Recursive webhook blocked from executing".
{{< history >}}
{{< /history >}}
Le nombre d'utilisateurs fictifs créés lors d'un import peut être limité par espace de nommage de premier niveau.
La limite par défaut pour GitLab Self-Managed est 0 (illimitée).
Pour modifier cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(import_placeholder_user_limit_tier_1: 200)
Définissez la limite à 0 pour la désactiver.
Le temps d'attente minimum entre les actualisations pull est par défaut de 300 secondes (5 minutes). Par exemple, une actualisation pull ne s'exécute qu'une seule fois dans une période de 300 secondes donnée, quel que soit le nombre de fois où vous la déclenchez.
Ce paramètre s'applique dans le contexte des actualisations pull invoquées à l'aide de l'API projects, ou lors du forçage d'une mise à jour en sélectionnant Mettre à jour maintenant ({{< icon name="retry" >}}) dans Paramètres > Dépôt > Dépôts miroir. Ce paramètre n'a aucun effet sur la planification automatique à intervalles de 30 minutes utilisée par Sidekiq pour la mise en miroir pull.
Pour modifier cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(pull_mirror_interval_seconds: 200)
GitLab ignore tous les e-mails entrants envoyés depuis des répondeurs automatiques en recherchant l'en-tête X-Autoreply. Ces e-mails ne créent pas de commentaires sur les tickets ou les merge requests.
{{< history >}}
{{< /history >}}
Les payloads Sentry envoyés à GitLab ont une limite maximale de 1 Mo, à la fois pour des raisons de sécurité et pour limiter la consommation de mémoire.
Lors de l'utilisation de la pagination basée sur le décalage dans l'API REST, il existe une limite au décalage maximum demandé dans l'ensemble des résultats. Cette limite ne s'applique qu'aux points de terminaison qui prennent également en charge la pagination basée sur les ensembles de clés. Vous trouverez plus d'informations sur les options de pagination dans la section de la documentation de l'API sur la pagination.
Pour définir cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(offset_pagination_limit: 10000)
50000.Définissez la limite à 0 pour la désactiver.
Le nombre total de jobs dans les pipelines actifs peut être limité par projet. Cette limite est vérifiée à chaque fois qu'un nouveau pipeline est créé. Un pipeline actif est tout pipeline dans l'un des états suivants :
createdpendingrunningSi un nouveau pipeline entraîne le dépassement de la limite par le nombre total de jobs, le pipeline échoue avec une erreur job_activity_limit_exceeded.
default qui affecte tous les projets. Cette limite est désactivée (0) par défaut.Pour définir cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(ci_active_jobs: 500)
Définissez la limite à 0 pour la désactiver.
La durée maximale par défaut pendant laquelle les jobs peuvent s'exécuter est de 60 minutes. Les jobs qui s'exécutent pendant plus de 60 minutes expirent.
Vous pouvez modifier la durée maximale pendant laquelle un job peut s'exécuter avant d'expirer :
Indépendamment des limites de délai d'expiration configurées, GitLab termine tout job qui est resté inactif pendant 60 minutes. Un job inactif est un job qui n'a produit aucun nouveau log ni aucune mise à jour de trace.
Vous pouvez limiter le nombre maximum de jobs dans un pipeline. Le nombre de jobs dans un pipeline est vérifié à la création du pipeline et lors de la création de nouveaux statuts de commit. Les pipelines qui ont trop de jobs échouent avec une erreur size_limit_exceeded.
default qui affecte tous les projets. Cette limite est désactivée (0) par défaut.Pour modifier la limite pour une instance GitLab Self-Managed, modifiez la limite du plan default avec la commande console Rails GitLab suivante :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(ci_pipeline_size: 500)
Définissez la limite à 0 pour la désactiver.
Vous pouvez limiter le nombre maximum de jobs de déploiement dans un pipeline. Un déploiement est tout job avec un environment spécifié. Le nombre de déploiements dans un pipeline est vérifié à la création du pipeline. Les pipelines qui ont trop de déploiements échouent avec une erreur deployments_limit_exceeded.
La limite par défaut est de 500 pour tous les abonnements GitLab Self-Managed et GitLab.com.
Pour modifier la limite pour une instance GitLab Self-Managed, modifiez la limite du plan default avec la commande console Rails GitLab suivante :
# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!
Plan.default.actual_limits.update!(ci_pipeline_deployments: 500)
Définissez la limite à 0 pour la désactiver.
Par défaut, une hiérarchie de pipeline peut contenir jusqu'à 1 000 pipelines downstream. Lorsque cette limite est dépassée, la création du pipeline échoue avec l'erreur downstream pipeline tree is too large.
[!warning] Il n'est pas recommandé d'augmenter cette limite. La limite par défaut protège votre instance GitLab d'une consommation excessive de ressources, d'une récursion potentielle de pipeline et d'une surcharge de la base de données.
Au lieu d'augmenter la limite, restructurez votre configuration CI/CD en divisant les grandes hiérarchies de pipeline en pipelines plus petits. Envisagez d'utiliser
needsentre les jobs ou des étapes dépendantes au sein d'un seul pipeline.
Pour modifier cette limite sur votre instance, utilisez l'interface utilisateur GitLab dans la zone Admin ou l'API Plan Limits.
Vous pouvez également exécuter la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(pipeline_hierarchy_size: 500)
Cette limite est activée sur GitLab.com et ne peut pas être modifiée.
{{< history >}}
{{< /history >}}
Par défaut, chaque merge train peut exécuter un maximum de 20 pipelines en parallèle. Lorsque cette limite est atteinte, les merge requests supplémentaires sont mises en file d'attente jusqu'à ce qu'un emplacement de pipeline soit disponible.
Pour modifier cette limite sur votre instance, accédez à la zone Admin > Paramètres > CI/CD > CI/CD Limits, ou utilisez l'API plan limits.
Vous pouvez également exécuter la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(max_pipelines_per_merge_train: 10)
Pour définir une limite inférieure pour un projet spécifique, accédez à Paramètres > Requêtes de fusion > Options de fusion, utilisez l'API projects , ou l'API GraphQL. La limite du projet ne peut pas dépasser la limite de l'instance.
La valeur minimale est 1. Une valeur de 1 traite les merge requests séquentiellement sans parallélisme.
Le nombre total d'abonnements peut être limité par projet. Cette limite est vérifiée à chaque fois qu'un nouvel abonnement est créé.
Si un nouvel abonnement entraîne le dépassement de la limite par le nombre total d'abonnements, l'abonnement est considéré comme invalide.
default qui affecte tous les projets. Par défaut, il existe une limite de 2 abonnements.Pour définir cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
Plan.default.actual_limits.update!(ci_project_subscriptions: 500)
Définissez la limite à 0 pour la désactiver.
Vous pouvez définir une limite sur le nombre maximum de déclencheurs de pipeline par projet. Cette limite est vérifiée à chaque fois qu'un nouveau déclencheur est créé.
Si un nouveau déclencheur entraîne le dépassement de la limite par le nombre total de déclencheurs de pipeline, le déclencheur est considéré comme invalide.
Définissez la limite à 0 pour la désactiver. La valeur par défaut est 25000 sur GitLab Self-Managed.
Pour définir cette limite à 100 sur une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
Plan.default.actual_limits.update!(pipeline_triggers: 100)
Cette limite est activée sur GitLab.com.
{{< details >}}
{{< /details >}}
Le nombre total de planifications de pipeline peut être limité par projet. Cette limite est vérifiée à chaque fois qu'une nouvelle planification de pipeline est créée. Si une nouvelle planification de pipeline entraîne le dépassement de la limite par le nombre total de planifications de pipeline, la planification de pipeline n'est pas créée.
Sur GitLab.com, la limite est définie pour chaque niveau d'abonnement, et cette limite affecte tous les projets avec ce niveau.
Sur GitLab Self-Managed et GitLab Dedicated, cette limite est définie dans un plan default qui affecte tous les projets. Par défaut, il existe une limite de 10 planifications de pipeline.
Pour définir cette limite, utilisez l'API Plan Limits.
Pour GitLab Self-Managed, vous pouvez également utiliser la console Rails GitLab. Par exemple, pour définir la limite à 100 :
Plan.default.actual_limits.update!(ci_pipeline_schedules: 100)
Vous pouvez limiter le nombre de pipelines que chaque planification de pipeline individuelle peut déclencher par jour.
Les planifications qui tentent d'exécuter des pipelines plus fréquemment que la limite sont ralenties à une fréquence maximale. La fréquence est calculée en divisant 1440 (le nombre de minutes dans une journée) par la valeur limite. Par exemple, pour une fréquence maximale de :
1440.144.24La valeur minimale est 24, soit un pipeline par 60 minutes. Il n'y a pas de valeur maximale.
Pour définir cette limite à 1440 sur une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
Plan.default.actual_limits.update!(ci_daily_pipeline_schedule_triggers: 1440)
Cette limite est activée sur GitLab.com.
{{< history >}}
{{< /history >}}
Vous pouvez limiter le nombre total de règles de planification par projet de politique de sécurité. Cette limite est vérifiée à chaque fois que les politiques avec des règles de planification sont mises à jour. Si une nouvelle règle de planification entraîne le dépassement de la limite par le nombre total de règles de planification, la nouvelle règle de planification n'est pas traitée.
Par défaut, GitLab Self-Managed ne limite pas le nombre de règles de planification traitables.
Pour définir cette limite pour une instance GitLab Self-Managed, exécutez ce qui suit dans la console Rails GitLab :
Plan.default.actual_limits.update!(security_policy_scan_execution_schedules: 100)
Cette limite est activée sur GitLab.com.
{{< history >}}
{{< /history >}}
Le nombre de variables CI/CD pouvant être définies dans les paramètres de projet, de groupe et d'instance est limité pour l'ensemble de l'instance. Ces limites sont vérifiées à chaque fois qu'une nouvelle variable est créée. Si une nouvelle variable devait entraîner le dépassement de la limite respective par le nombre total de variables, la nouvelle variable n'est pas créée.
Pour mettre à jour le plan default de l'une de ces limites sur une instance GitLab Self-Managed, exécutez la commande suivante dans la console Rails GitLab :
Limite des variables CI/CD au niveau de l'instance (par défaut : 25) :
Plan.default.actual_limits.update!(ci_instance_level_variables: 30)
Limite des variables CI/CD au niveau du groupe par groupe (par défaut : 30000) :
Plan.default.actual_limits.update!(group_ci_variables: 40000)
Limite des variables CI/CD au niveau du projet par projet (par défaut : 8000) :
Plan.default.actual_limits.update!(project_ci_variables: 10000)
{{< history >}}
ci_max_artifact_size_annotations introduite dans GitLab 16.3.ci_max_artifact_size_jacoco introduite dans GitLab 17.3ci_max_artifact_size_lsif augmentée dans GitLab 17.8.{{< /history >}}
Les artefacts de job définis avec artifacts:reports qui sont téléversés par le runner sont rejetés si la taille du fichier dépasse la limite maximale. La limite est déterminée en comparant le paramètre de taille maximale d'artefact du projet avec la limite d'instance pour le type d'artefact concerné, et en choisissant la valeur la plus petite.
Les limites sont définies en mégaoctets, donc la plus petite valeur possible pouvant être définie est 1 MB.
Chaque type d'artefact dispose d'une limite de taille pouvant être configurée. Une valeur par défaut de 0 signifie qu'il n'y a pas de limite pour ce type d'artefact spécifique, et le paramètre de taille maximale d'artefact du projet est utilisé :
| Nom de la limite d'artefact | Valeur par défaut |
|---|---|
ci_max_artifact_size_accessibility | 0 |
ci_max_artifact_size_annotations | 0 |
ci_max_artifact_size_api_fuzzing | 0 |
ci_max_artifact_size_archive | 0 |
ci_max_artifact_size_browser_performance | 0 |
ci_max_artifact_size_cluster_applications | 0 |
ci_max_artifact_size_cobertura | 0 |
ci_max_artifact_size_codequality | 0 |
ci_max_artifact_size_container_scanning | 0 |
ci_max_artifact_size_coverage_fuzzing | 0 |
ci_max_artifact_size_dast | 0 |
ci_max_artifact_size_dependency_scanning | 0 |
ci_max_artifact_size_dotenv | 0 |
ci_max_artifact_size_jacoco | 0 |
ci_max_artifact_size_junit | 0 |
ci_max_artifact_size_license_management | 0 |
ci_max_artifact_size_license_scanning | 0 |
ci_max_artifact_size_load_performance | 0 |
ci_max_artifact_size_lsif | 200 MB |
ci_max_artifact_size_metadata | 0 |
ci_max_artifact_size_metrics_referee | 0 |
ci_max_artifact_size_metrics | 0 |
ci_max_artifact_size_network_referee | 0 |
ci_max_artifact_size_performance | 0 |
ci_max_artifact_size_requirements | 0 |
ci_max_artifact_size_requirements_v2 | 0 |
ci_max_artifact_size_sast | 0 |
ci_max_artifact_size_secret_detection | 0 |
ci_max_artifact_size_terraform | 5 MB |
ci_max_artifact_size_trace | 0 |
ci_max_artifact_size_cyclonedx | 5 MB |
Par exemple, pour définir la limite ci_max_artifact_size_junit à 10 Mo sur GitLab Self-Managed, exécutez la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(ci_max_artifact_size_junit: 10)
Le nombre total d'entrées de fichiers (y compris les répertoires et les liens symboliques) est limité à 200,000 par site web GitLab Pages.
Il s'agit de la limite par défaut pour GitLab Self-Managed et GitLab.com.
Pour mettre à jour la limite dans votre instance GitLab Self-Managed, utilisez la console Rails GitLab. Par exemple, pour modifier la limite à 100 :
Plan.default.actual_limits.update!(pages_file_entries: 100)
Le nombre total de domaines personnalisés par site web GitLab Pages est limité à 150 pour GitLab.com.
La limite par défaut pour GitLab Self-Managed est 0 (illimitée). Pour définir une limite sur votre instance, utilisez la zone Admin.
Lors de l'utilisation des déploiements Pages en parallèle, le nombre total de déploiements Pages en parallèle autorisés pour un groupe principal est de 1000.
Lorsqu'un projet dispose d'un domaine unique activé, le domaine unique du projet est traité comme son propre groupe principal avec une limite distincte de 1000 déploiements.
{{< history >}}
{{< /history >}}
Le nombre total de runners enregistrés est limité pour les groupes et les projets. À chaque enregistrement d'un nouveau runner, GitLab vérifie ces limites par rapport aux runners créés ou actifs au cours des 7 derniers jours. L'enregistrement d'un runner échoue s'il dépasse la limite pour la portée déterminée par le jeton d'enregistrement du runner. Si la valeur de la limite est définie sur zéro, la limite est désactivée.
Les abonnés GitLab.com ont des limites différentes définies par abonnement, affectant tous les projets utilisant cet abonnement.
Les limites Premium et Ultimate sur GitLab Self-Managed sont définies par un plan par défaut qui affecte tous les projets :
| Portée du runner | Valeur par défaut |
|---|---|
ci_registered_group_runners | 1000 |
ci_registered_project_runners | 1000 |
Pour mettre à jour ces limites, exécutez la commande suivante dans la console Rails GitLab :
# Use ci_registered_group_runners or ci_registered_project_runners
# depending on desired scope
Plan.default.actual_limits.update!(ci_registered_project_runners: 100)
La limite de taille de fichier de job log dans GitLab est de 100 mégaoctets par défaut. Tout job qui dépasse la limite est marqué comme ayant échoué et est abandonné par le runner.
Vous pouvez modifier la limite dans la console Rails GitLab. Mettez à jour ci_jobs_trace_size_limit avec la nouvelle valeur en mégaoctets :
Plan.default.actual_limits.update!(ci_jobs_trace_size_limit: 125)
GitLab Runner dispose également d'un paramètre output_limit qui configure la taille maximale du log dans un runner. Les jobs qui dépassent la limite du runner continuent de s'exécuter, mais le log est tronqué lorsqu'il atteint la limite.
Limiter le nombre de planifications de profils DAST actives par projet. Une planification de profil DAST peut être active ou inactive.
Vous pouvez modifier la limite dans la console Rails GitLab. Mettez à jour dast_profile_schedules avec la nouvelle valeur :
Plan.default.actual_limits.update!(dast_profile_schedules: 50)
Ce paramètre est utilisé pour restreindre les tailles YAML des pipelines enfants dynamiques.
La taille maximale par défaut de l'archive d'artefacts CI est de 5 mégaoctets.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab. Pour mettre à jour la taille maximale de l'archive d'artefacts CI, mettez à jour max_artifacts_content_include_size avec la nouvelle valeur. Par exemple, pour la définir à 20 Mo :
ApplicationSetting.update(max_artifacts_content_include_size: 20.megabytes)
{{< history >}}
max_yaml_size_bytes modifiée dans GitLab 17.3.{{< /history >}}
La taille maximale par défaut d'un seul fichier YAML de configuration CI/CD est de 2 mégaoctets et la profondeur par défaut est de 100.
Vous pouvez modifier ces limites dans la console Rails GitLab :
Pour mettre à jour la taille maximale du YAML, mettez à jour max_yaml_size_bytes avec la nouvelle valeur en mégaoctets :
ApplicationSetting.update(max_yaml_size_bytes: 4.megabytes)
La valeur max_yaml_size_bytes n'est pas directement liée à la taille du fichier YAML, mais plutôt à la mémoire allouée pour les objets concernés.
Pour mettre à jour la profondeur maximale du YAML, mettez à jour max_yaml_depth avec la nouvelle valeur en nombre de lignes :
ApplicationSetting.update(max_yaml_depth: 125)
{{< history >}}
max_yaml_size_bytes modifiée dans GitLab 17.3.ci_max_total_yaml_size_bytes modifiée dans GitLab 17.3.{{< /history >}}
La quantité maximale de mémoire, en octets, pouvant être allouée pour la configuration complète du pipeline, avec tous les fichiers de configuration YAML inclus.
La valeur par défaut est calculée en multipliant max_yaml_size_bytes (2 Mo par défaut) par ci_max_includes (150 par défaut) :
157286400 octets (150 Mo).314572800 octets (314,6 Mo).Vous pouvez modifier cette limite en utilisant la console Rails GitLab. Pour mettre à jour la mémoire maximale pouvant être allouée pour la configuration CI/CD, mettez à jour ci_max_total_yaml_size_bytes avec la nouvelle valeur. Par exemple, pour la définir à 20 Mo :
ApplicationSetting.update(ci_max_total_yaml_size_bytes: 20.megabytes)
Vous pouvez définir une limite sur le nombre maximal de variables dans un artefact dotenv. Cette limite est vérifiée chaque fois qu'un fichier dotenv est exporté en tant qu'artefact.
Définissez la limite à 0 pour la désactiver. La valeur par défaut est 20 sur GitLab Self-Managed.
Pour définir cette limite à 100 sur votre instance, exécutez la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(dotenv_variables: 100)
Vous pouvez également définir cette limite en utilisant l'interface utilisateur GitLab ou l'API Plan Limits.
Cette limite est activée sur GitLab.com.
Vous pouvez définir une limite sur la taille maximale d'un artefact dotenv. Cette limite est vérifiée chaque fois qu'un fichier dotenv est exporté en tant qu'artefact.
Définissez la limite à 0 pour la désactiver. La valeur par défaut est 5 Ko.
Pour définir cette limite à 5 Ko sur une instance GitLab Self-Managed, exécutez la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(dotenv_size: 5.kilobytes)
{{< history >}}
{{< /history >}}
Vous pouvez définir une limite sur le nombre maximal d'annotations par job CI/CD.
Définissez la limite à 0 pour la désactiver. La valeur par défaut est 20 sur GitLab Self-Managed.
Pour définir cette limite à 100 sur votre instance, exécutez la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(ci_job_annotations_num: 100)
{{< history >}}
{{< /history >}}
Vous pouvez définir une limite sur la taille maximale d'une annotation de job CI/CD.
Définissez la limite à 0 pour la désactiver. La valeur par défaut est 80 Ko.
Pour définir cette limite à 100 Ko sur une instance GitLab Self-Managed, exécutez la commande suivante dans la console Rails GitLab :
Plan.default.actual_limits.update!(ci_job_annotations_size: 100.kilobytes)
{{< history >}}
{{< /history >}}
La quantité maximale d'espace disque, en octets, pouvant être utilisée par une partition d'une table partitionnée avant que de nouvelles partitions soient automatiquement créées. La valeur par défaut est 100 Go.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab. Pour modifier la limite, mettez à jour ci_partitions_size_limit avec la nouvelle valeur. Par exemple, pour la définir à 20 Go :
ApplicationSetting.update(ci_partitions_size_limit: 20.gigabytes)
{{< history >}}
{{< /history >}}
La fenêtre temporelle, en secondes, avant que de nouvelles partitions CI soient créées et que le système bascule vers le prochain ensemble de partitions. Doit être compris entre 1 mois et 6 mois. La valeur par défaut est 1 mois (2592000 secondes).
Vous pouvez modifier cette limite en utilisant la console Rails GitLab. Pour modifier la limite, mettez à jour ci_partitions_in_seconds_limit avec la nouvelle valeur. Par exemple, pour la définir à 3 mois :
ApplicationSetting.update(ci_partitions_in_seconds_limit: ChronicDuration.parse('3 months'))
{{< history >}}
{{< /history >}}
Configure la limite supérieure pour le nettoyage automatique des pipelines. La valeur par défaut est 1 an.
Vous pouvez modifier cette limite en utilisant la console Rails GitLab. Pour modifier la limite, mettez à jour ci_delete_pipelines_in_seconds_limit_human_readable avec la nouvelle valeur. Par exemple, pour la définir à 3 ans :
ApplicationSetting.update(ci_delete_pipelines_in_seconds_limit_human_readable: '3 years')
Ce paramètre limite le nombre de charges utiles d'alertes entrantes sur une période de temps.
En savoir plus sur les limites de débit de la gestion des incidents.
Les charges utiles des alertes Prometheus envoyées au point de terminaison notify.json sont limitées à 1 Mo.
Les charges utiles des alertes envoyées au point de terminaison notify.json sont limitées à 1 Mo.
{{< details >}}
{{< /details >}}
Consultez le tableau de bord des environnements pour connaître le nombre maximal de projets affichés.
Les tableaux de déploiement chargent les informations de Kubernetes concernant les pods et les déploiements. Cependant, les données supérieures à 10 Mo pour un environnement donné lues depuis Kubernetes ne sont pas affichées.
GitLab impose des limites concernant :
Une limite supérieure et une limite inférieure s'appliquent à chacun de ces éléments :
Les limites inférieures entraînent la réduction des diffs supplémentaires. Les limites supérieures empêchent l'affichage de toute modification supplémentaire. Pour plus d'informations sur ces limites, consultez la documentation de développement GitLab sur l'utilisation des diffs.
{{< history >}}
merge_requests_diffs_limit. Désactivé par défaut. Désactivé par défaut.merge_requests_diffs_limit a été supprimé.{{< /history >}}
GitLab limite chaque merge request à 1000 versions de diff. Les merge requests qui atteignent cette limite ne peuvent plus être mises à jour. Au lieu de cela, fermez la merge request concernée et créez-en une nouvelle.
Pour configurer cette limite, consultez l'administration des limites de diff.
Les rapports dépassant la limite de 20 Mo ne sont pas chargés. Rapports concernés :
artifacts:expose_asVous pouvez définir une limite sur le contenu des fichiers du dépôt indexés dans Elasticsearch. Tout fichier plus volumineux que cette limite n'indexe que le nom du fichier. Le contenu du fichier n'est ni indexé ni consultable.
Définir une limite aide à réduire l'utilisation de la mémoire des processus d'indexation et la taille globale de l'index. Cette valeur est par défaut 1024 KiB (1 Mio), car les fichiers texte plus volumineux ne sont probablement pas destinés à être lus par des humains.
Vous devez définir une limite car les tailles de fichiers illimitées ne sont pas prises en charge. Définir cette valeur à un niveau supérieur à la quantité de mémoire disponible sur les nœuds GitLab Sidekiq entraîne une saturation de la mémoire de ces nœuds, car cette quantité de mémoire est préallouée lors de l'indexation.
Vous pouvez définir une limite sur le contenu des champs de texte indexés pour la recherche avancée. Définir un maximum aide à réduire la charge des processus d'indexation. Si un champ de texte dépasse cette limite, le texte est tronqué à ce nombre de caractères. Le reste du texte n'est pas indexé et n'est pas consultable. Ceci s'applique à toutes les données indexées, à l'exception des fichiers du dépôt indexés qui ont une limite distincte. Pour plus d'informations, consultez Taille maximale de fichier indexée.
Vous pouvez configurer cette limite pour les instances GitLab Self-Managed lorsque vous activez Elasticsearch. Définissez la limite à 0 pour la désactiver.
{{< history >}}
{{< /history >}}
GitLab impose des limites par défaut lors du rendu des formules mathématiques dans les champs Markdown. Ces limites offrent une meilleure sécurité et de meilleures performances.
Les limites pour les tickets, les merge requests, les epics, les wikis et les fichiers de dépôt :
1000.20.50.1000.2000 ms.Vous pouvez désactiver ces limites lorsque vous exécutez GitLab Self-Managed et que vous faites confiance aux entrées utilisateur.
Utilisez la console Rails GitLab :
ApplicationSetting.update(math_rendering_limits_enabled: false)
Ces limites peuvent également être désactivées par groupe en utilisant l'API GraphQL ou REST.
Si les limites sont désactivées, les formules mathématiques sont rendues sans pratiquement aucune limite dans les tickets, les merge requests, les epics, les wikis et les fichiers de dépôt. Cela signifie qu'un acteur malveillant pourrait ajouter des formules mathématiques qui provoqueraient un DoS lors de la consultation dans le navigateur. Vous devez vous assurer que seules les personnes en qui vous avez confiance peuvent ajouter du contenu.
Consultez la documentation sur les paramètres des extraits de code.
Consultez les limites dans la section Ajouter une conception à un ticket.
La taille de push maximale autorisée.
Non définie par défaut sur GitLab Self-Managed. Pour GitLab.com, consultez les paramètres de compte et de limite
Nombre total de modifications (branches ou tags) dans un seul push. Si les modifications sont supérieures à la limite spécifiée, les hooks ne sont pas exécutés.
Pour plus d'informations, voir :
Nombre total de modifications (branches ou tags) dans un seul push pour déterminer si des événements push individuels ou un événement push groupé sont créés.
Plus d'informations sont disponibles dans la documentation sur la limite d'activités d'événements push et les événements push groupés.
La taille de fichier maximale par défaut pour un paquet téléversé dans le registre de paquets GitLab varie selon le format :
Les tailles de fichiers maximales sur GitLab.com peuvent être différentes.
Pour définir ces limites pour une instance GitLab Self-Managed, vous pouvez le faire via la zone Admin ou exécuter la commande suivante dans la console Rails GitLab :
# File size limit is stored in bytes
# For Conan Packages
Plan.default.actual_limits.update!(conan_max_file_size: 100.megabytes)
# For npm Packages
Plan.default.actual_limits.update!(npm_max_file_size: 100.megabytes)
# For NuGet Packages
Plan.default.actual_limits.update!(nuget_max_file_size: 100.megabytes)
# For Maven Packages
Plan.default.actual_limits.update!(maven_max_file_size: 100.megabytes)
# For PyPI Packages
Plan.default.actual_limits.update!(pypi_max_file_size: 100.megabytes)
# For Debian Packages
Plan.default.actual_limits.update!(debian_max_file_size: 100.megabytes)
# For Helm Charts
Plan.default.actual_limits.update!(helm_max_file_size: 100.megabytes)
# For Generic Packages
Plan.default.actual_limits.update!(generic_packages_max_file_size: 100.megabytes)
Définissez la limite à 0 pour autoriser toute taille de fichier.
Lors d'une demande de versions d'un nom de paquet NuGet donné, le registre de paquets GitLab retourne un maximum de 300 versions.
La taille maximale de fichier pour une image mise en cache dans le proxy de dépendances varie selon le type de fichier :
{{< history >}}
{{< /history >}}
Les tickets et les merge requests appliquent ces maximums :
{{< history >}}
{{< /history >}}
Chaque projet peut avoir un maximum de 10 miroirs push activés. Cette limite prévient les problèmes de performance liés à un trop grand nombre de tâches de synchronisation simultanées.
Si vous avez besoin de plus de miroirs, vous pouvez :
En plus des limites basées sur l'application, GitLab.com est configuré pour utiliser la protection DDoS standard de Cloudflare et Spectrum pour protéger Git via SSH. Cloudflare met fin aux connexions TLS client mais n'est pas compatible avec les applications et ne peut pas être utilisé pour des limites liées aux utilisateurs ou aux groupes. Les règles de page et les limites de débit Cloudflare sont configurées avec Terraform. Ces configurations ne sont pas publiques car elles incluent des implémentations de sécurité et de lutte contre les abus qui détectent les activités malveillantes, et les rendre publiques compromettrait ces opérations.
Les tags du dépôt de conteneurs se trouvent dans le registre de conteneurs, de sorte que chaque suppression de tag déclenche des requêtes réseau vers le registre de conteneurs. Pour cette raison, nous limitons le nombre de tags qu'un seul appel API peut supprimer à 20.
L'API des fichiers sécurisés applique les limites suivantes :
{{< history >}}
changelog_commits_limitation. Désactivé par défaut.changelog_commits_limitation a été supprimé.{{< /history >}}
L'API changelog applique les limites suivantes :
from et to ne peut pas dépasser 15 000 commits.La fonctionnalité d'analyse des dépendances avec SBOM utilise une API interne avec les limites suivantes :
Vous pouvez configurer ces limites pour les instances GitLab Self-Managed en utilisant les paramètres d'analyse des dépendances.
{{< history >}}
{{< /history >}}
Les API Commits et Files appliquent des limites maximales de taille et de débit sur les points de terminaison suivants :
POST /projects/:id/repository/commits - Créer un commitPOST /projects/:id/repository/files/:file_path - Créer un fichier dans un dépôtPUT /projects/:id/repository/files/:file_path - Mettre à jour un fichier dans un dépôt413 Request Entity Too Large avec le message suivant : RequestBody: upload failed: the upload size <size> is over maximum of 314572800 bytes: entity is too large. La valeur par défaut est 300 Mo (314 572 800 octets).La taille maximale de la requête est configurable sur GitLab Self-Managed en définissant la variable d'environnement GITLAB_COMMITS_MAX_REQUEST_SIZE_BYTES. Cette variable définit la taille maximale de la requête en octets. Les instructions pour définir une variable d'environnement se trouvent dans Limites des requêtes HTTP.
Pour répertorier toutes les valeurs de limite de l'instance, exécutez la commande suivante depuis la console Rails GitLab :
Plan.default.actual_limits
Exemple de sortie :
id: 1,
plan_id: 1,
ci_pipeline_size: 0,
ci_active_jobs: 0,
project_hooks: 100,
group_hooks: 50,
ci_project_subscriptions: 3,
ci_pipeline_schedules: 10,
offset_pagination_limit: 50000,
ci_instance_level_variables: "[FILTERED]",
storage_size_limit: 0,
ci_max_artifact_size_lsif: 200,
ci_max_artifact_size_archive: 0,
ci_max_artifact_size_metadata: 0,
ci_max_artifact_size_trace: "[FILTERED]",
ci_max_artifact_size_junit: 0,
ci_max_artifact_size_sast: 0,
ci_max_artifact_size_dependency_scanning: 350,
ci_max_artifact_size_container_scanning: 150,
ci_max_artifact_size_dast: 0,
ci_max_artifact_size_codequality: 0,
ci_max_artifact_size_license_management: 0,
ci_max_artifact_size_license_scanning: 100,
ci_max_artifact_size_performance: 0,
ci_max_artifact_size_metrics: 0,
ci_max_artifact_size_metrics_referee: 0,
ci_max_artifact_size_network_referee: 0,
ci_max_artifact_size_dotenv: 0,
ci_max_artifact_size_cobertura: 0,
ci_max_artifact_size_terraform: 5,
ci_max_artifact_size_accessibility: 0,
ci_max_artifact_size_cluster_applications: 0,
ci_max_artifact_size_secret_detection: "[FILTERED]",
ci_max_artifact_size_requirements: 0,
ci_max_artifact_size_coverage_fuzzing: 0,
ci_max_artifact_size_browser_performance: 0,
ci_max_artifact_size_load_performance: 0,
ci_needs_size_limit: 2,
conan_max_file_size: 3221225472,
maven_max_file_size: 3221225472,
npm_max_file_size: 524288000,
nuget_max_file_size: 524288000,
pypi_max_file_size: 3221225472,
generic_packages_max_file_size: 5368709120,
golang_max_file_size: 104857600,
debian_max_file_size: 3221225472,
project_feature_flags: 200,
ci_max_artifact_size_api_fuzzing: 0,
ci_pipeline_deployments: 500,
pull_mirror_interval_seconds: 300,
daily_invites: 0,
rubygems_max_file_size: 3221225472,
terraform_module_max_file_size: 1073741824,
helm_max_file_size: 5242880,
ci_registered_group_runners: 1000,
ci_registered_project_runners: 1000,
ci_daily_pipeline_schedule_triggers: 0,
ci_max_artifact_size_cluster_image_scanning: 0,
ci_jobs_trace_size_limit: "[FILTERED]",
pages_file_entries: 200000,
dast_profile_schedules: 1,
external_audit_event_destinations: 5,
dotenv_variables: "[FILTERED]",
dotenv_size: 5120,
pipeline_triggers: 25000,
project_ci_secure_files: 100,
repository_size: 0,
security_policy_scan_execution_schedules: 0,
web_hook_calls_mid: 0,
web_hook_calls_low: 0,
project_ci_variables: "[FILTERED]",
group_ci_variables: "[FILTERED]",
ci_max_artifact_size_cyclonedx: 1,
rpm_max_file_size: 5368709120,
pipeline_hierarchy_size: 1000,
ci_max_artifact_size_requirements_v2: 0,
enforcement_limit: 0,
notification_limit: 0,
dashboard_limit_enabled_at: nil,
web_hook_calls: 0,
project_access_token_limit: 0,
google_cloud_logging_configurations: 5,
ml_model_max_file_size: 10737418240,
limits_history: {},
audit_events_amazon_s3_configurations: 5
Certaines valeurs de limite s'affichent sous la forme [FILTERED] dans la liste en raison du filtrage dans la console Rails.