Skip to content

Latest commit

 

History

History
177 lines (162 loc) · 5.92 KB

File metadata and controls

177 lines (162 loc) · 5.92 KB

SAMA Development Roadmap

MVP Phases

Phase 1: Core Monolith (MVP)

Goal: Functional monitoring system with local authentication and built-in checks only.

Deliverables

  • Project structure and solution setup
  • Database schema implementation (EF Core)
    • Entity models (12 entities)
    • PostgreSQL migrations
    • Encryption infrastructure
  • Authentication & Authorization
    • ASP.NET Core Identity setup
    • Role-based access control
    • User management UI
  • Core Domain Logic
    • Workspace management
    • Check configuration models
    • Alert configuration models
    • Check execution engine
    • Alert processing engine
    • Service layer implementations
  • Built-in Check Implementations (SAMA.Shared)
    • HTTP/HTTPS check
    • TCP port check
    • ICMP ping check
    • DNS resolution check
    • SSL certificate check
    • Script execution check
  • Notification Channel Implementations (SAMA.Shared)
    • Email (SMTP)
    • Slack webhook
    • Microsoft Teams webhook
    • Discord webhook
    • Script invocation
    • Azure Event Grid (bonus)
  • Background Services
    • Quartz.NET setup
    • Check scheduler job
    • Check executor job
    • Alert processor job
    • Data retention cleanup job
  • Web UI (Razor Pages + HTMX)
    • Dashboard (status grid, active alerts)
    • Workspace management pages
    • Notification channel management pages
    • Check CRUD pages
    • Alert CRUD pages
    • Historical data views
    • Response time charts (Chart.js)
    • User management pages
    • Event subscription pages (bonus)
  • Observability
    • Serilog structured logging
    • Health check endpoint
  • Configuration
    • appsettings.json structure
    • Environment variable support
    • Data encryption setup
  • Testing
    • Unit tests (MSTest) - core logic
    • Integration tests - database operations
  • Documentation
    • README with setup instructions

Phase 2: Distributed Agents & Enterprise Authentication

Goal: Add agent support for geo-distributed monitoring, advanced checks, and enterprise SSO.

Note, these are all subject to change.

Deliverables

  • Agent Infrastructure
    • Agent registration in database
    • API key generation and management
    • Agent management UI
    • Agent health monitoring
    • Heartbeat mechanism
  • Agent API (REST)
    • Check assignment endpoint
    • Result submission endpoint
    • Bulk result submission
    • Heartbeat endpoint
    • Configuration endpoint
    • API key authentication middleware
  • SAMA.Agent Application
    • Agent console application
    • Check polling service
    • Result reporter service
    • API key-based authentication
    • Configuration management
  • Advanced Check Types
    • Playwright-based web navigation
    • Database connectivity checks
  • Check Routing Logic
    • Assign checks to specific agents/regions
    • Fallback to local execution
    • Multi-region support
  • Agent Monitoring
    • Agent health dashboard
    • LastSeenAt tracking
    • Alert on agent disconnection
  • LDAP/Active Directory Integration
    • LDAP authentication handler
    • LDAP server configuration UI
    • Group membership queries
    • Testing with Active Directory and OpenLDAP
  • OIDC Integration
    • OIDC authentication handler
    • OIDC provider configuration UI
    • User claim mapping
    • Testing with common providers (Azure AD/Entra, Okta, Auth0)
  • Enhanced Authorization (LDAP)
    • WorkspaceGroupMappings table and UI
    • External group-to-workspace role mapping
    • Just-in-time user provisioning on login
    • Auto-sync workspace access based on IdP groups
  • Account Management (LDAP)
    • Local vs external account handling
    • Account linking
    • Profile management
  • Docker Support
    • Dockerfile for main app
    • Dockerfile for agent
    • Docker Compose configuration
    • GHCR publishing workflow
  • Testing
    • System tests - end-to-end scenarios (SAMA.Tests.System)
    • Agent API integration tests
    • Agent application tests
    • Multi-region scenario tests
    • LDAP/AD authentication tests
    • OIDC flow tests
    • Multi-provider tests
  • Documentation
    • Agent deployment guide
    • Agent API documentation
    • API key setup guide
    • LDAP/AD setup guide
    • OIDC setup guide
    • Common IdP configurations

Future Enhancements (Post-MVP)

Note, these are all subject to change.

High Priority

  • Maintenance Windows: Pause checks during scheduled maintenance
  • Alert Suppression: Throttle repeated alerts for flapping services
  • REST API: Full REST API for external integrations
  • Mobile PWA: Progressive Web App for mobile devices

Medium Priority

  • Advanced Reporting: Scheduled reports via email
  • Export Capabilities: CSV/JSON export of historical data
  • Check Dependencies: Don't alert if dependent check is down
  • Custom Dashboards: User-configurable dashboard views
  • Grafana Integration: Export metrics to Grafana
  • Incident Management: Enhanced incident tracking and notes
  • DNS-over-HTTPS/TLS: Add support for custom servers, including DoH and DoT in DNS checks, maybe using the DnsClientX package

Low Priority

  • Alert Acknowledgment: Workflow for acknowledging and resolving alerts
  • Multi-Tenancy: Support multiple isolated tenants
  • API Versioning: Versioned REST API
  • Webhook Receivers: Trigger checks from external events
  • Configuration Import/Export: Export/import workspaces with checks, channels, and alerts
  • Advanced Analytics: ML-based anomaly detection
  • Mobile Apps: Native iOS/Android apps
  • Internationalization: Multi-language UI support