Add checkbox for web based commit signing

What does this MR do and why?

This is a first MR in my implementation plan that you can find here: #580999 (comment 2960767445)

This MR introduces a reusable Web-based Commit Signing Checkbox component and refactors the Group Inheritance Popover to be shared across the application.

Key changes

  1. New Web-based Commit Signing Checkbox - Creates a new Vue component (checkbox.vue) that allows users to enable/disable web-based commit signing with proper group inheritance indicators
  2. Refactored Group Inheritance Popover - Moves the GroupInheritancePopover component from branch rules to a shared location (vue_shared/components/settings/) and makes it more generic by:
    • Converting injected dependencies to props (hasGroupPermissions, groupSettingsRepositoryPath)
    • Removing branch-specific i18n strings and using generic ones
    • Making it reusable across different settings contexts
  3. Updated all consumers - Updates all existing usages of GroupInheritancePopover in:
    • Branch rules protection components
    • Branch rule settings
    • Protection toggle components

Why these changes?

These components will be used in repository settings at both project and group levels to configure web-based commit signing, with proper inheritance indicators when settings are configured at the group level.

References

Screenshots or screen recordings

Before After
Screenshot_2026-01-08_at_17.26.41 Screenshot_2026-01-08_at_17.23.56
n/a Screenshot_2026-01-08_at_17.24.36
n/a Screenshot_2026-01-08_at_17.24.55

How to set up and validate locally

  1. Visit http://localhost:6006/?path=/docs/vue-shared-web-based-commit-signing-checkbox--docs to check the checkbox component
  2. Visit http://localhost:6006/?path=/docs/vue-shared-settings-group-inheritance-popover--docs to check the popover component
  3. Go to http://gdk.test:8080/groups/flightjs/-/settings/repository#js-protected-branches-settings and create a Protected branch
  4. Go to http://gdk.test:8080/flightjs/Flight/-/settings/repository#branch-rules and check the lock icon with popover on a rule that comes from the group level

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.

Related to #580999 (closed)

Edited by Paulina Sedlak-Jakubowska

Merge request reports

Loading