TenantAtlas/specs/099-alerts-v1-teams-email/quickstart.md
ahmido 3ed275cef3 feat(alerts): Monitoring cluster + v1 resources (spec 099) (#121)
Implements spec `099-alerts-v1-teams-email`.

- Monitoring navigation: Alerts as a cluster under Monitoring; default landing is Alert deliveries.
- Tenant panel: Alerts points to `/admin/alerts` and the cluster navigation is hidden in tenant panel.
- Guard compliance: removes direct `Gate::` usage from Alert resources so `NoAdHocFilamentAuthPatternsTest` passes.

Verification:
- Full suite: `1348 passed, 7 skipped` (EXIT=0).

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #121
2026-02-18 15:20:43 +00:00

1.2 KiB
Raw Blame History

Quickstart — 099 Alerts v1 (Teams + Email)

This quickstart is for developers working on the Alerts v1 implementation.

Prereqs

  • Start Sail: vendor/bin/sail up -d
  • Install deps (if needed): vendor/bin/sail composer install

Database

  • Run migrations: vendor/bin/sail artisan migrate

Queue

Alerts delivery is queued. Ensure a worker is running:

  • vendor/bin/sail artisan queue:work

Default queue connection is database (see config/queue.php).

Email configuration

Configure mail in .env (examples):

  • MAIL_MAILER=smtp
  • MAIL_HOST=...
  • MAIL_PORT=...
  • MAIL_USERNAME=...
  • MAIL_PASSWORD=...
  • MAIL_ENCRYPTION=tls
  • MAIL_FROM_ADDRESS=...
  • MAIL_FROM_NAME=TenantPilot

Teams webhook configuration

Create a Teams incoming webhook URL and store it via the Alerts → Targets UI.

Note: Webhook URLs are treated as secrets and must not appear in logs or audits.

Running tests

Run focused tests as theyre added:

  • vendor/bin/sail artisan test --compact --filter=Alerts

Or by file:

  • vendor/bin/sail artisan test --compact tests/Feature/...

Formatting

Before finalizing changes:

  • vendor/bin/sail bin pint --dirty