1.9 KiB
1.9 KiB
Tasks: 009-ops-audit-overview
Phase A — Schema & Store
- T001 SQLite migrations
audit_domains,audit_checkseminit_db() - T002 Módulo
audit_store.py— upsert checks, list domains, aggregate score - T003 Job auto-register domains from
webhook_events(account.created)
Phase B — Collectors
- T004
collectors/vm112.py— carbonio, nginx_vhost, cert_le via portal API - T005
collectors/dns.py— mx, spf, dkim, dmarc - T006
collectors/webmail.py— HTTPS status mail.{domain} - T007
collectors/base.py— runnerrun_audit(tenant_id, domain) - T008 Unit smoke: run_audit domínio conhecido VM112
Phase C — API
- T009
GET /api/v1/audit/overview - T010
GET /api/v1/audit/tenants/{id}/scorecard?domain= - T011
POST /api/v1/audit/run/{tenant_id}?domain=(manual trigger)
Phase D — Worker
- T012
worker/audit_runner.py— ciclo periódico - T013 Env
AUDIT_INTERVAL_SEC=600docker-compose VM122 - T014 Integrar runner no worker existente (Redis ou loop)
Phase E — UI
- T015 Nav tab Overview + view container
- T016 Grid cards tenant (status, score, issues)
- T017 Drill-down scorecard panel (8 checks)
- T018 CSS health grid (healthy/degraded/critical badges)
- T019 Merge dashboard: funil 004 + overview 009 + tickets (se 004 pronto)
Phase F — Validação & Deploy
- T020 Script
scripts/verify-audit-overview.sh - T021 Deploy VM122 + confirmar worker cycle
- T022 Documentar domínio seed e intervalo em quickstart
Dependencies
- T009-T011 dependem de T001-T008
- T012-T014 dependem de T007
- T015-T019 dependem de T009-T010
- T019 opcional até feature 004 UI funil existir
Parallel with 004
| 004 | 009 | Paralelo? |
|---|---|---|
| Ops funnel API | Schema + collectors | ✅ |
| Portal hooks | Worker | ✅ |
| UI funil | UI overview | ⚠️ sequencial ou merge final dashboard |