Skip to content

Pages | Create files-per-project limit for free tier

Issue Context

Currently, the total number of file entries (including directories and symlinks) is limited to 200,000 per GitLab Pages website (reference).

Proposal

This solution was proposed by @ngala and can be read more about in this thread.

Proposal: Pages | Create Files-Per-Project Limit by Tier

To optimise the Pages infrastructure and align usage with tiered plans, we propose introducing differentiated limits on the number of files allowed per project based on the subscription tier. The current universal limit of 200,000 files per project is not tailored to the varying needs and value offered to Free, Premium, and Ultimate users.

Proposed Limits by Tier

Tier Proposed Limit (Files per Project) Rationale
Free 30,000 Encourages appropriate usage of resources while mitigating abuse and infrastructure costs.
Premium 100,000 Supports mid-size projects with a reasonable allocation of resources suitable for most use cases.
Ultimate 200,000 Provides greater flexibility for enterprise-level projects, reflecting the highest subscription tier value.

Key Considerations

  1. Infrastructure Savings:
    Reducing the file limit for the Free tier will help mitigate infrastructure abuse, lowering storage and processing costs while ensuring equitable resource allocation for all users.
  2. User Experience and Scalability:
    The proposed limits align with the complexity and needs of projects typically hosted in each tier. Ultimate users, who work on more complex and large-scale projects, are given higher limits to accommodate their requirements.
  3. Abuse Mitigation:
    The Free tier, being the most accessible, is more prone to abuse. By limiting the maximum files per project, we can reduce the likelihood of misuse without impacting legitimate users significantly.
  4. Implementation and Transition:
    • Apply the new limits only to newly created projects after a specified release date.
    • Existing projects exceeding the proposed limits will remain unaffected but will receive notifications encouraging users to optimize their repositories.
    • Future updates could enforce the limits on all projects, providing users ample time to adjust.

This tiered limit system ensures fair usage, aligns with tier-specific needs, and contributes to the sustainability of the GitLab Pages infrastructure.

Edited by Matthew Macfarlane