Skip to content

Add Geo support to definition of done

Sampath Ranasinghe requested to merge sranasinghe-master-patch-34113 into master

What does this MR do and why?

We want to make Geo replication and verification support for GitLab generated data a part of the definition of done.

We are making this part of the definition of done because DR is critical to our self-managed customers, dedicated and GitLab.com. Without making it part of the definition of done, we can't ensure that we don't expose customers to data loss. Routinely testing failovers is a best practice, and if a feature is not supported within Geo customers will experience regular data loss events, we aspire to do this on our SaaS services as well.

Geo forms the foundations for the GitLab disaster recovery solution. A robust disaster recovery solution must replicate all GitLab data such that all GitLab services can be successfully restored in their entirety without data loss in the event of a disaster. Therefore, it is essential that all GitLab stored data is replicable and verifiable via Geo and the self-service framework. All new GitLab generated data must support replication and verification across Geo sites.

As new data types are added to GitLab we must make sure Geo replication is supported for these data types. Relying on the Geo team to do so will introduce delay to the process. The team needs to be notified and the work needs to be scheduled into the roadmap and disrupt other activities the team have planned. The end result will be customer data loss during a disaster event due to lack or delayed support for the new data type.

The Geo team has invested in building a set of APIs that form the self-service framework which makes adding new data types easier and lowers the technical barrier for contributions from other teams. We've already had contributions from several teams outside of Geo (Add Geo support for Secure Files, Group Level Wiki: BE Support Geo replication) and for the best outcome for our customers it will be best for the onus to be on the team creating the new data type to add Geo support.

The Geo team is available to support and review contributions.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Joshua Lambert

Merge request reports