Show DAP settings for free-tier namespaces with gitlab_credits add-on

What does this MR do and why?

Makes DAP settings visible for free-tier namespaces with an active gitlab_credits add-on, and hides ultimate-only features from non-Ultimate namespaces in the settings UI.

  • settings_helper.rb — filters ultimate-only foundational flows and agents out of the group settings page for non-Ultimate namespaces
  • projects_helper.rb — passes ultimateFeaturesAvailable to the project Duo settings component
  • gitlab_duo_settings.vue — hides SAST false positive detection and vulnerability resolution workflow settings when Ultimate features are not available
  • ai_group_settings.vue — replaces duoWorkflowAvailable with the more specific duoWorkflowMcpAvailable to gate MCP settings behind :ai_features

MR series

References

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Run GDK in SaaS mode GITLAB_SIMULATE_SAAS=1 gdk start
  2. Create new group (namespace) don't add a license
  3. Within the group create a project
  4. In Rails console enable the feature flag and credits
  Feature.enable(:dap_free_tier_gitlab_credits)
  Feature.enable(:service_accounts_available_on_free_or_unlicensed)
  group = Group.find_by_full_path('your-group-name')
  add_on = GitlabSubscriptions::AddOn.find_or_create_by_name(:gitlab_credits)
  GitlabSubscriptions::AddOnPurchase.create!(
    add_on: add_on,
    namespace: group,
    organization: group.organization,
    quantity: 1,
    started_at: 1.day.ago,
    expires_on: 1.year.from_now,
    purchase_xid: SecureRandom.hex(16)
  )
  1. Within the group settings, GitLab Duo, enable DAP and onboard the Flows
  2. Observe that DAP feature are available
  3. In your group visit Settings > GitLab Duo > Change Configuration
    1. Enable "Turn on experiment and beta GitLab Duo features" and foundational flows below

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 Fred de Gier

Merge request reports

Loading