Geo Status API: Support Configuration Check

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Why are we doing this work

Geo Site's Health Status can be a bit misleading. The API simply returns a Boolean healthy that appears to denote if this the entire site is healthy. However, there are scenarios where this site health check can return healthy: true even when Replication is not working. This is quite misleading to our customers.

The reality is the backend logic that is powering this Boolean is actually more of a Configuration check. In other words it is attempting to verify that the Sites are configured properly but there are plenty of scenarios where a site could be configured correctly while still not functioning properly.

To try and make things a bit more clear as to what the status is reflecting we should create a separation between configuration and health check in the short term so that we can then provide a more conclusive health check together with configuration checks in Geo Status API: Create a SSoT for Geo Site Heal... (#381310)

Proposal

  1. Below in the discussions we considered adding error severities to the various configuration issues ie success|warning|failure but maybe we could go a step further and include links to the associated documentation for said errors. Resulting in a response like:

Success

{
  configuration_check: {
    status: 'success'
    message: null
    troubleshooting_link: null
  }
}

Warning

{
  configuration_check: {
    status: 'warning'
    message: 'Last site update was more than 1 hour ago.',
    troubleshooting_link: 'https://docs.gitlab.com/administration/geo/replication/troubleshooting/common/#check-the-health-of-the-geo-sites'
}

Failure

{
  configuration_check: {
    status: 'failure'
    message: 'Geo database configuration file is missing.',
    troubleshooting_link: 'https://docs.gitlab.com/administration/geo/replication/configuration/'
}
  1. As part of this change we won't make any changes to the actual health check. Rather we should expand on this configuration check into the expanded health check as part of Geo Status API: Create a SSoT for Geo Site Heal... (#381310)

Relevant links

Screenshots

Current API Response

Screenshot_2025-08-22_at_3.20.53_PM

Implementation plan

TBD

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by Zack Cuddy