Skip to content

feat(ui): add cloud-gated custom alerts#11003

Merged
alejandrobailo merged 24 commits into
masterfrom
feat/PROWLER-1418-custom-alerts-oss
May 8, 2026
Merged

feat(ui): add cloud-gated custom alerts#11003
alejandrobailo merged 24 commits into
masterfrom
feat/PROWLER-1418-custom-alerts-oss

Conversation

@alejandrobailo

@alejandrobailo alejandrobailo commented May 5, 2026

Copy link
Copy Markdown
Contributor

Context

This PR is the umbrella for the cloud-gated custom alerts UI stack. Chained PRs target this feature branch and merge here first. The final merge to master should only happen after all chained PRs are reviewed and merged into this branch.

Description

The branch delivers the custom alerts management UI for Prowler Cloud, gated so OSS builds keep the feature hidden:

  • New /alerts page with list, create, edit, enable/disable, delete and live preview of alert rules.
  • Seed-from-Findings flow: a "Create Alert" button on the Findings page builds a portable alert condition from the current filter bag.
  • Cloud-gated sidebar navigation: the Alerts entry is highlighted and disabled with an "Available in Prowler Cloud" tooltip in OSS, the /alerts route redirects to /.
  • Public confirm/unsubscribe pages for recipient consent links, kept behind the same Cloud gate.
  • Server actions aligned with the existing handleApiResponse / handleApiError pattern from ui/lib/server-actions-helper.ts, no custom wrapper.
  • Generalized CloudFeatureBadge into a reusable MenuFeatureBadge (variants cloud / new, sizes default / sm) consumed by sidebar items.

Chain Overview

feat/PROWLER-1418-custom-alerts-oss
├── refactor/PROWLER-1418-alerts-shared-ui-foundation
├── feat/PROWLER-1418-alerts-contracts-actions
├── feat/PROWLER-1418-alerts-management-ui
├── feat/PROWLER-1418-alerts-findings-seeding
└── feat/PROWLER-1418-alerts-navigation-tests

Steps to review

  1. Review and merge each chained PR into this feature branch in order (top to bottom of the chain overview).
  2. Keep this PR labeled no-merge until the full chain is merged.
  3. Remove no-merge only when the feature branch contains all chained PRs and CI is green.
  4. Smoke check in Cloud env (NEXT_PUBLIC_IS_CLOUD_ENV=true): /alerts lists alerts, edit modal saves, dropdown enables/disables, seed from /findings opens the create modal with prefilled chips.
  5. Smoke check in OSS env (NEXT_PUBLIC_IS_CLOUD_ENV=false): sidebar shows Alerts disabled with tooltip, /alerts redirects to /, public confirm/unsubscribe pages return 404.
  6. Run cd ui && pnpm run healthcheck on the final feature branch.

Checklist

  • Chained PRs merged in order
  • cd ui && pnpm run healthcheck passes in final feature branch
  • No alerts fetch runs before Cloud gating

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@alejandrobailo alejandrobailo added the no-merge Please, DO NOT MERGE this PR. label May 5, 2026
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

@alejandrobailo alejandrobailo requested a review from a team as a code owner May 5, 2026 13:50
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler-ui:7305f0a
Last scan: 2026-05-08 08:09:58 UTC

📊 Vulnerability Summary

Severity Count
🔴 Critical 2
Total 2

2 package(s) affected

⚠️ Action Required

Critical severity vulnerabilities detected. These should be addressed before merging:

  • Review the detailed scan results
  • Update affected packages to patched versions
  • Consider using a different base image if updates are unavailable

📋 Resources:

@alejandrobailo alejandrobailo self-assigned this May 5, 2026
@alejandrobailo alejandrobailo added no-changelog Skip including change in changelog/release notes and removed no-merge Please, DO NOT MERGE this PR. labels May 5, 2026
Comment thread ui/app/(prowler)/alerts/_actions/alerts.ts Dismissed
Comment thread ui/app/(prowler)/alerts/_actions/alerts.ts Dismissed
Comment thread ui/app/(prowler)/alerts/_actions/alerts.ts Dismissed
Comment thread ui/app/(prowler)/alerts/_actions/alerts.ts Dismissed
Comment thread ui/app/(prowler)/alerts/_actions/alerts.ts Dismissed
@prowler-cloud prowler-cloud deleted a comment from github-actions Bot May 8, 2026
@alejandrobailo alejandrobailo merged commit 4216a3e into master May 8, 2026
26 checks passed
@alejandrobailo alejandrobailo deleted the feat/PROWLER-1418-custom-alerts-oss branch May 8, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/ui no-changelog Skip including change in changelog/release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants