Allow administrative locking of a project
Description
There are cases where it would be beneficial to allow an admin to lock a project to all changes. This would mean that for the duration of the lock, only admins have access to read anything - code, issues, merge requests. There should also be a notes field, similar to a user's 'admin notes' so a message can be saved about why the project is locked.
Proposal
We receive an increasing number of DMCA requests on GitLab.com. Currently we are forced to either mark the project as private (which then allows the user to re-publish the allegedly infringing content), or block the entire user account. The side-effect is that the user's other projects, which are not in question, are also unavailable if we block the whole account.
By allowing an admin to lock a particular project, we could restrict access to the allegedly infringing content indefinitely, or until a counter claim is filed and the expiration time has elapsed.
This is only an interesting feature for GitLab.com and others running public GitLab instances (there are others out there running open/public community sites that could benefit from this).
This should be a fairly minimal undertaking. We may need some UI/UX help.
- I envision this as an option only visible when looking at the project in the admin area.
- We would need to add two columns to
projects
-admin_locked
(boolean) andadmin_notes
(text). - Then we need to effectively remove the project from all member's
authorized_projects
and display a 404 for all users, except admins.
The last piece may be the most challenging - I'll have to investigate further.