Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Cai <jcai@gitlab.com>2022-10-31 20:03:39 +0300
committerJohn Cai <jcai@gitlab.com>2022-11-02 17:10:01 +0300
commit5d6dd8ff64998f1eb0ef434fa23658bf7c430230 (patch)
treea776ee50b7fb8a75048f10f36c7af4041a3e176b
parent5886ff8b850be199762d35e658f478b3f5dd4f7b (diff)
PROCESS: Instruct gradual rollout for feature flags
When we roll out feature flags, we always want to roll out gradually rather than all at once. Additionally, when turning on feature flags, we should use certain Slack channels for maximum visibility. Explicitly include these instructions in the PROCESS.md doc.
-rw-r--r--doc/PROCESS.md18
1 files changed, 13 insertions, 5 deletions
diff --git a/doc/PROCESS.md b/doc/PROCESS.md
index c7b190b48..dd7a477c6 100644
--- a/doc/PROCESS.md
+++ b/doc/PROCESS.md
@@ -152,7 +152,7 @@ repository, and manually test from there.
Manually use the feature in whatever way exercises the code paths
being enabled.
-Then enable `X` on staging, with:
+Then enable `X` on staging, run the following in the `#staging` Slack channel:
```shell
/chatops run feature set gitaly_X --staging
@@ -176,12 +176,20 @@ environment? Good!
#### Steps
-To enable your `X` feature at 5/25/50 percent, run:
+Feature flags must be rolled out in production systems gradually to
+reduce risk of incidents. Use percentage based actors instead of enabling a
+feature flag fully. The concrete percentages depend on the scope of the feature
+flag as well as its inherent risk. In general, add more fine-grained steps the
+higher the risk and the broader the scope of the gated feature.
+
+To enable your `X` feature at 5/25/50 percent, run the following in the
+`#production` Slack channel. As Gitaly does not reliably support feature
+flag actors, you need to do a fully-randomized rollout:
```shell
-/chatops run feature set gitaly_X 5
-/chatops run feature set gitaly_X 25
-/chatops run feature set gitaly_X 50
+/chatops run feature set gitaly_X 5 --random
+/chatops run feature set gitaly_X 25 --random
+/chatops run feature set gitaly_X 50 --random
```
And then finally when you're happy it works properly do: