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
56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
# 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 they’re 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`
|