Hide "Purchase Seats" button in GitLab Duo Admin Area page depending on add-on combination

What does this MR do and why?

For self-managed instances, in the GitLab Duo Admin Area page (/admin/gitlab_duo), we currently have a "Purchase seats" button under the "Seat utilization" card:

This button is present only when the instance has a Duo Pro add-on as the primary Duo add-on (see this order of precedence). However, we don't want to show this button if other specific add-ons are present, as we do not support self-service for them yet. (See the relevant issue below for more information.)

This MR adds the logic necessary to selectively hide the button. This is supported for all self-managed instances on any type of license (online/offline cloud-activated and legacy).

References

Screenshots or screen recordings

Case Before After
Duo Pro + Duo Self-Hosted Screenshot_2025-06-13_at_14.59.48 Screenshot_2025-06-13_at_15.00.30
Duo Pro only Screenshot_2025-06-13_at_14.59.48 No change
Another Duo tier (e.g. Duo Enterprise) Screenshot_2025-06-13_at_15.00.30 No change

How to set up and validate locally

  1. Start GDK, CDot, and ZSim.
  2. Enable this feature flag on CustomersDot.
  3. Create three Ultimate licenses: one with Duo Enterprise; one with Duo Pro; and one with Duo Pro and Duo Self-Hosted.
  4. Log in as an admin on GDK and navigate to /admin/gitlab_duo.
  5. For each license: apply it to the instance, then refresh the Admin Area page and confirm the following:
    • The "Purchase seats" button should not be visible for Duo Enterprise and Duo Pro and Duo Self-Hosted.
    • The "Purchase seats" button should be visible for Duo Pro.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Mohamed Moustafa

Merge request reports

Loading