A Singapore Government Agency Website

GitLab policies

GitLab global default settings

The global level settings had been pre-defined for all users. GitLab fair usage policy

S.No. Setting Limit/Size
1 artefacts expiration 14 days
2 artefact storage limitation 1 GB. To increase this limit, raise a service request and note that this is subject to approval.
3 Repo Size limit per repository (MB) 2000
4 Maximum import size (MB) 2000
5 Maximum allowable lifetime for Personal, Group and Project access tokens (days) 365 (From 15 Oct ‘24 onwards this will be 180 days. To know more, refer to GitLab token expiry.)
6 Dormant users-Deactivated after (days) of inactivity 90
7 Enable automatic repository housekeeping for repository Git repack period:
- Incremental: 10 pushes
- Full: 50 pushes

Git GC period:
- 200 pushes
8 Maximum attachment size (MB) 10

GitLab token expiry

To enhance security, ensure compliance, and manage risk, SHIP-HATS is reducing the default expiry period for GitLab tokens from 365 days to 180 days. This change will take effect on 15 October 2024.

Before taking any action, please refer to the use cases outlined in the GitLab FAQs for a clearer understanding.

Action required for GitLab tokens

If you have existing Personal, Group and Project access tokens, complete the following before 15 October 2024:

  1. Review the expiry date of your tokens.
  2. If your token’s remaining expiry date is more than 180 days on 15 October 2024, generate a new token that adheres to the 180-day expiry policy. If not, as per our new token expiry policy, this existing token will become invalid from 15 October 2024.
  3. If your token’s remaining expiry date is 180 days or less on 15 October 2024, no action is required until the token expires.

GitLab fair usage policy

We strive to ensure consistent availability to all users and improve our service capability and operation efficiency, we would like to seek your co-operation to adhere to the following guidelines.

Storage

  • GitLab personal namespace: Each user can create up to 10 projects in their GitLab personal namespace.
  • GitLab storage (SHIP-HATS Subscription): Each SHIP-HATS subscription gets 10 GB of storage per GitLab user. For example, if a SHIP-HATS subscription has 5 GitLab licensed users, the total storage limit for that subscription is 50 GB (10 GB × 5 users).

Therefore, agencies must perform regular housekeeping.

Housekeeping

A periodical review and maintenance are encouraged to ensure that the your subscriptions’ GitLab storage is kept within the allocated size.

You may back up and store the following components in your own S3 bucket/storage services as required:

  • Repository
  • artefacts
  • Container Registry
  • Package Registry
  • Pipeline Results

Shared runners

  • Shared runners should not be used to perform load testing. Agencies that need to conduct performance or load testing, please run the load test using your own dedicated runner.
  • Shared runners will have a default timeout if idling for more than 10 minutes. This is to avoid impacting the availability of the shared resources.

Jobs

  • Schedule jobs only when necessary and during low peak hours (1.00 am - 8.00 am).

GitLab Terms and Policies

  • For the services and resources provided with SHIP-HATS 2.0, the Agency will be responsible ensure that they avoid actions that will impose an unreasonable or disproportionately large load on the services.
  • GovTech shall have the right to immediately stop, suspend, terminate, and/or withdraw such resources or access to the Agency without any prior notice if this responsibility is breached.
  • Agency (Tenant) is responsible for monitoring its usage of the Services. GovTech shall have the right to charge the Agency for any excess usage or breach of any quota and does not have to take into account any previous under utilisation of the Services by the Agency.
  • You may also refer to your Subscription Administrator for more details on the terms and conditions stipulated in the Service Sheet.
  • By default, GitLab projects under WOG folder/namespace are set as Private to safeguard government data. In addition, personal namespaces are configured such that they cannot be made Public by the users. This measure is in place to prevent misconfigurations that can increase the risk of accidental exposure of restricted source code to public internet.
    For more information, refer to GitLab Project Visibility.

FAQs

Activities such as importing projects from your vendor’s GitLab and accessing GitLab projects hosted by others depend on the user permissions and project settings of the individual GitLab projects. To know more about these policies to govern the usage of SHIP-HATS, refer to the following links:

Chat with me!
Bot Launcher