[Frontend] Support custom Secret Detection profiles in existing UI

designs: Design: Advanced Configuration Profiles management (gitlab-org#23403)
prototype: https://security-coverage-prototype-0b2bbb.gitlab.io/security-inventory-profiles/#/security-configuration/enable-scanners


pre-spike description

  • Spike — create a custom Secret Detection profile via GraphiQL with configurable_security_scan_profiles on, then walk every surface that renders profiles plus the wizard apply path
    • Fix must-haves here, file nice-to-haves to #624194
    • Surfaces, under ee/app/assets/javascripts/:
      • security_configuration/components/enable_scanners_wizard/{select_scanners,review}.vue
      • security_configuration/components/scan_profiles/{group_scanners_overview,scanner_details,source_cell,scan_profile_configuration}.vue
      • security_inventory/components/bulk_scanners_update_drawer.vue
  • Known must-haves
    • Make sure that the default profile appears first in any dropdowns
    • Badge recommended vs custom in the wizard dropdown — gitlabRecommended is already in scan_profile.fragment.graphql
  • Show configuration in scan_profiles/scan_profile_details_modal.vue
    • Extend the query to triggerSettings { configuration { ... on SecretDetectionConfiguration } }
    • Render read-only: secure_analyzers_prefix, image_suffix, historic_scan, log_options, excluded_paths, ruleset_git_reference — closed schema, so that is all of them
    • Hide the section when the resolved configuration is empty
Edited by Miranda Fluharty