Skip to content

Feature Flag Rollout - Corpus Management flag UI Flag

Feature

This is the feature uses the :corpus_management_ui feature flag!

This the frontend feature flag to compliment the backend feature flag :corpus_management here #328418 (closed)

Why two feature flags?

The existing corpus_management feature flag controls both backend (graphql/REST) endpoints and frontend. We are forced to use a global feature flag scope for backend.

Because graphQL query feature flags run before the database context is loaded. We can't use any kind of permissions based feature flag logic to scope the flag to a project, group or user.

Instead, we enable the graphQL endpoint globally with the existing feature flag, and then enable the frontend feature flag in production for a particular project.

Order of operations for both feature flags

  1. Enable :corpus_management #328418 (closed) globally in production
  2. Enable :corpus_management_ui #349014 (closed) on a demo project in production
  3. If everything works as expected, Enable :corpus_management_ui globally

Owners

  • Team: Secure:Fuzzing
  • Most appropriate slack channel to reach out to: #g_secure-fuzz-testing
  • Best individual to reach out to: @farias-gl
  • PM: @derekferguson

Stakeholders

The Rollout Plan

  • Partial Rollout on GitLab.com to gitlab-examples/security/security-reports project
  • Rollout on GitLab.com until feature feels stable
  • Rollout Feature for everyone as soon as it's ready

Expectations

Rollout Timeline

  • Enable for gitlab-examples/security/security-reports project to demo to customers
  • Enable for Gitlab.com
  • Enable for self managed

Initial Rollout

Preparation Phase

  • Enable on staging (/chatops run feature set feature_name true --staging)

  • Test on staging

  • Ensure that documentation has been updated (More info)

  • Announce on the issue an estimated time this will be enabled on GitLab.com

  • Announce on the issue that the flag has been enabled

2 Feature flag cleanup

  1. Remove :corpus_management(backend) feature flag as described in the cleanup section of #347187 (closed)
  2. Remove :corpus_management_ui(frontend) feature flag as described in the cleanup section of #347187 (closed)
Edited by -