Mirroring dimmer switch for graceful failure
Description
Enabling graceful failures.
Proposal
Dimmers
There needs to be a set of switches on the site to allow for graceful failure. These switches, collectively called dimmers, will allow us to start turning down intensive features on the site. We could have a set of I/O and set of DB specific dimmers.
The first dimmer should be the ability to disable mirroring (both push and pull) With a toggle, possible in the admin panel, we would be able to disable mirroring, but push and pull.
A notification would need to be enable when this dimmer is set, either a site wide banner notifying mirroring is temporarily disabled, or a banner in specific repositories that have mirroring enabled.
While this dimmer is enabled, no mirroring is enabled (push/pull), including the setup of new mirrors is allowed. Adjustment of existing mirrors should be allowed.
Links / references
Documentation blurb
Overview
What is it? Toggles to allow for graceful failures. Why should someone use this feature? Site is under heavy stress and to selectively take out parts of the site , allowing the whole to stay online What is the underlying (business) problem? Site availability and performance. How do you use this feature? Log in to the admin panel and select the part of the site you with to disable.
Use cases
Who is this for? gitlab.com and gitlab installs that receive heavy traffic.
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml