Skip to content

Add password complexity feature to Registration Features

What does this MR do and why?

Part of https://gitlab.com/gitlab-org/gitlab/-/issues/391535.

This adds password complexity requirements to the Registration Features program. This means that it's enabled as an incentive for self-managed instances that don't have a Premium license, if Service Ping is active.

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:
    • Make sure you're on a Premium/Ultimate plan GitLab GDK instance
    • Try to enter the sign-up restrictions section in the Admin Area (it should be enabled).
  2. When registration features are enabled:
    • Make sure you're on a free plan GitLab GDK instance (for example, remove current license or stub #current to return nil)
    • Make sure you have the registration features checkbox enabled (Admin -> Settings -> Metrics and profiling -> Usage statistics -> Enable Registration Features)
    • Try to enter the sign-up restrictions section in the Admin Area (it should be enabled and possible to add a new password complexity requirement).
  3. When registration features are disabled:
    • Make sure you're on a free plan GitLab GDK instance
    • Make sure you have the registration features checkbox disabled (Admin -> Settings -> Metrics and profiling -> Usage statistics -> Enable Registration Features)
    • Try to enter the sign-up restrictions section in the Admin Area (it should be disabled).
  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 Piotr Skorupa

Merge request reports