Schedule Projects Exports to External storage/buckets

Release notes

Problem to solve

This issue has some background context that can be read in the following issues:

As of right now, we don't have a clean way that allows customers to create regular backups of their projects, particularly with GitLab.com. We already have a project export API and we also already have rate-limits configured in place. We also have delayed project deletion. However, accidents happen and it is very difficult and time consuming to try to restore a project, and it requires a lot of time from our infrastructure team.

If we gave customers the ability to easily export projects to their own buckets or storage, we could potentially save customers from complete disasters. I would consider this a lean back-up feature and an expansion of our Project Export features. We would need:

  1. The ability to schedule project exports
  2. Solve some issues with exporting large projects or allow for better error reporting.
  3. The ability to input credentials for S3 Buckets or similar storage methods.

Intended users

This feature would be primarily aimed at group Owners and project Owners who wish to take regular scheduled project exports for backup purposes. This can also enable administrators to help project owners.

User experience goal

Proposal

Further details

Permissions and Security

Documentation

Availability & Testing

What does success look like, and how can we measure that?

If we can reduce the need for infrastructure to restore projects and reduce customer energy spent on custom scripted solutions for project exports, this would be successful.

What is the type of buyer?

Is this a cross-stage feature?

Links / references

Edited by Cleveland Bledsoe Jr