Geo 16.0 outlook
This is the current outlook for the 16.0 milestone. The Geo team schedules issues and works in a continuous Kanban manner, while still aligning with milestones. See our process page for more detail.
Last Updated: 10 April 2023
Move existing data types into the Self Service Framework
Who: Douglas, Javiera, Zack
Geo's Self Service Framework significantly simplifies Geo's codebase and ensures that all data types are replicated and verified. It also empowers other developers to contribute new data types. We've already moved over most data types but a few are still implemented using our legacy system. The remaining data types are
In %16.0 and the following milestones we should focus on finishing the migration of these data types so that we can increase the velocity of future feature develop and reduce the complexity of Geo.
Move Projects to Self-Service Framework priority1
Who: Douglas, Javiera, Zack
We hit a few snags on the way to completing this and had to revert some changes that were causing verification challenges for customers. We believe we are now past this and are making progress to completing this migration in this milestone.
GitLab Silent Mode priority1
Who: Mike
It is important to test disaster recovery mechanisms and procedures regularly to ensure successful recovery after a failover event. One way to achieve this is to promote a Geo secondary site and perform recovery testing against it while keeping the primary site operational and available to the business. Performing testing against a promoted Geo secondary in this fashion will cause it to generate outbound traffic such as emails, webhooks, push mirrors, etc. This is undesirable as it will cause confusion for users and disrupt upstream services. Silent mode will suppress outgoing communication from a GitLab instance.
This is a cross stage effort where the Geo team will co-ordinate with other stage groups to delivery this capability.
Improve backup and restore documentation for self-managed customers priority2
Who: Mike, Nick
Our backup and restore documentation has grown over the years and we have multiple solutions documented across multiple pages. We will consolidate the documentation and provide improved guidance on best approaches. We will also be enhancing the documentation for customers that are on large reference architectures with large datasets.
Fix timeouts when pushing via SSH to secondary priority2
Who: Mike, Igor
Currently there is 60 second timeout on the proxied push request from the secondary to the primary. For large push requests this is insufficient time for the request to complete and times out.
The solution will likely require a architectural change to how we handle SSH proxy requests and will be a significant effort.
The ultimate goal will be to remove the restriction on size of proxied SSH push requests.
- We will start with a POC proxying the SSH connection (Complete)
- Send authorization headers to Gitlab Shell to perform Git over HTTPS to Primary (In progress)
- Cleanup unused Git Proxy endpoints
External dependencies :
- Move HTTP to SSH conversion from Rails to Gitlab Shell (Completed)
- Perform Git over HTTP requests as a custom action instead of Proxy requests (Completed)
Allow verification of files in Object Storage priority3
Who: Gabriel
We already support GitLab managed object storage replication. However, we do not support object storage verification. To complete the circle we will add GitLab managed verification of object storage to compliment the replication.
Verify Group Wikis priority3
Who: Valery
Group wiki replication is already managed through the SSF framework. However, currently groups wikis are not verified. We will be adding this capability as we progress towards verifying 100% of the replicated data.