Skip to content

Add maintenance mode to registration features

Michał Wielich requested to merge michold-maintenance-reg-feat into master

What does this MR do and why?

Related to https://gitlab.com/gitlab-org/gitlab/-/issues/404705

We want to add maintenance mode to features available to users who have service ping data sharing enabled.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

How to set up and validate locally

  1. Testing previous behavior:
  2. When registration features are enabled:
    • Make sure you're on a non-Premium plan Gitlab gdk instance (for example, remove current license or stub #plan to return STARTER_PLAN)
    • Make sure you have the registration features checkbox enabled (Admin -> Settings -> Metrics and profiling -> Usage statistics -> Enable Registration Features)
    • try enabling maintenance mode with any of the three methods mentioned in our handbook. This should work as described in the handbook.
  3. When registration features are disabled:
    • Make sure you're on a non-Premium plan Gitlab gdk instance
    • Make sure you have the registration features checkbox disabled (Admin -> Settings -> Metrics and profiling -> Usage statistics -> Enable Registration Features)
    • try enabling maintenance mode with any of the three methods mentioned in our handbook. Enabling the maintenance mode should not be possible:
    • I There should be no "maintenance mode" setting in the admin area
    • II API curl call should not enable the maintenance mode and its attributes should not be exposed in the response
    • III The rails console way seems to forgo the validation and set the maintenance mode anyway. However, on master branch, the same behavior is happening. I added an issue for this.
  4. Make sure that the new text appears on the docs page:
    • run gdk restart gitlab-docs
    • go to _local_gitlab_docs_host_/ee/user/admin_area/settings/usage_statistics.html#registration-features-program and make sure the new section is on the page and the link works

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Michał Wielich

Merge request reports