Extend Duo Self-Hosted models user interface condition

What does this MR do and why?

Only show Duo Self-Hosted models card when there is a Duo Enterprise for Self-Managed. Previously also a namespace Duo Enterprise add-on purchase was sufficient to show the Duo Self-Hosted model card for the admin area. This is something that is mostly helping engineers locally for development.

References

Screenshots or screen recordings

Before After
image.png image.png

How to set up and validate locally

Requirements

  • Locale GitLab instance
  • Applied Ultimate Self-Managed license
  • Ensure you have activated the feature flag allow_duo_base_access

Self-Managed

  1. Ensure you have a Duo Core add-on locally, and remember the ID (DUO-CORE-ID) for creating add-on purchases.

    • Check if you receive an add-on with:
      • GitlabSubscriptions::AddOn.duo_core
    • If you don't have an add-on yet, then you can create one:
      • GitlabSubscriptions::AddOn.create!(name: "duo_core", description: "Add-on for Gitlab Duo Core.")
  2. Create a Self-Managed add-on purchase.

    GitlabSubscriptions::AddOnPurchase.create!(subscription_add_on_id: <DUO-CORE-ID>, namespace_id: nil, quantity: 100, expires_on: 1.year.from_now, started_at: 1.year.ago, organization_id: 1, purchase_xid: "A-S2")
  3. Validate the screenshots above for Self-Managed with Duo Core.

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 Lukas Wanko

Merge request reports

Loading