Draft: [skip ci] Show the new dependency firewall dashboard on group pages
What does this MR do and why?
Part 7 of 7 for https://gitlab.com/gitlab-org/gitlab/-/work_items/631890.
This MR updates the group dependency firewall page to use the new dashboard and summary data built up through the rest of this stack.
Group pages render the new dashboard when both dependency_firewall_dashboard_v2 and dependency_firewall_group_prevented_stats are on for the top-level group, surfaced through Availability.group_dashboard_v2_enabled?. Otherwise, the current dashboard renders as it does today, so nothing changes for groups that have not opted in.
Separately, in the Active Policies table, a policy defined in a project or subgroup below the current group now reads "Defined in " with a link to that namespace's policies, instead of the generic "This group". This makes it clearer where a policy actually originates when it was not defined directly on the group being viewed, which previously was not distinguishable from policies defined locally.
It targets part 1 only; the cards show group numbers once parts 2 to 5 are merged as well. The dashboard's own flag rollout is tracked separately at #631486.
Stack
| Part | MR | Targets |
|---|---|---|
| 1 | Summary table and flag !261477 (merged) | master |
| 2 | Paged group refresh service and refresh job !261478 | part 1 |
| 3 | Affected-group lookup and refresh scheduling on flush and transfers !261479 | part 2 |
| 4 | Daily refresh !261485 | part 2 |
| 5 | Group read path !261481 | part 2 |
| 6 | ClickHouse reads !261486 | part 5 |
| 7 | Group page !261483 | part 1 |
How to set up and validate locally
Enable both dependency_firewall_dashboard_v2 and dependency_firewall_group_prevented_stats, then open the group's Secure > Dependency firewall page. Run:
yarn jest ee/spec/frontend/dependency_firewall
bin/rspec ee/spec/requests/groups/security/dependency_firewall_controller_spec.rb ee/spec/lib/security/dependency_firewall/availability_spec.rbMR 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.
References
- Issue: https://gitlab.com/gitlab-org/gitlab/-/work_items/631890
- PoC (all parts together, tested end to end): !260820
- Dashboard flag rollout: #631486