Add VPN configuration tools and agent documentation
Created comprehensive VPN setup tooling for Peaceful Spirit L2TP/IPsec connection and enhanced agent documentation framework. VPN Configuration (PST-NW-VPN): - Setup-PST-L2TP-VPN.ps1: Automated L2TP/IPsec setup with split-tunnel and DNS - Connect-PST-VPN.ps1: Connection helper with PPP adapter detection, DNS (192.168.0.2), and route config (192.168.0.0/24) - Connect-PST-VPN-Standalone.ps1: Self-contained connection script for remote deployment - Fix-PST-VPN-Auth.ps1: Authentication troubleshooting for CHAP/MSChapv2 - Diagnose-VPN-Interface.ps1: Comprehensive VPN interface and routing diagnostic - Quick-Test-VPN.ps1: Fast connectivity verification (DNS/router/routes) - Add-PST-VPN-Route-Manual.ps1: Manual route configuration helper - vpn-connect.bat, vpn-disconnect.bat: Simple batch file shortcuts - OpenVPN config files (Windows-compatible, abandoned for L2TP) Key VPN Implementation Details: - L2TP creates PPP adapter with connection name as interface description - UniFi auto-configures DNS (192.168.0.2) but requires manual route to 192.168.0.0/24 - Split-tunnel enabled (only remote traffic through VPN) - All-user connection for pre-login auto-connect via scheduled task - Authentication: CHAP + MSChapv2 for UniFi compatibility Agent Documentation: - AGENT_QUICK_REFERENCE.md: Quick reference for all specialized agents - documentation-squire.md: Documentation and task management specialist agent - Updated all agent markdown files with standardized formatting Project Organization: - Moved conversation logs to dedicated directories (guru-connect-conversation-logs, guru-rmm-conversation-logs) - Cleaned up old session JSONL files from projects/msp-tools/ - Added guru-connect infrastructure (agent, dashboard, proto, scripts, .gitea workflows) - Added guru-rmm server components and deployment configs Technical Notes: - VPN IP pool: 192.168.4.x (client gets 192.168.4.6) - Remote network: 192.168.0.0/24 (router at 192.168.0.10) - PSK: rrClvnmUeXEFo90Ol+z7tfsAZHeSK6w7 - Credentials: pst-admin / 24Hearts$ Files: 15 VPN scripts, 2 agent docs, conversation log reorganization, guru-connect/guru-rmm infrastructure additions Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
653
projects/msp-tools/guru-rmm/docs/FEATURE_ROADMAP.md
Normal file
653
projects/msp-tools/guru-rmm/docs/FEATURE_ROADMAP.md
Normal file
@@ -0,0 +1,653 @@
|
||||
# GuruRMM Feature Roadmap
|
||||
|
||||
This document tracks potential features for consideration. Features are categorized by area and marked with priority/status as planning progresses.
|
||||
|
||||
## Legend
|
||||
- [ ] Not started
|
||||
- [~] In consideration
|
||||
- [x] Implemented
|
||||
- Priority: P1 (critical), P2 (important), P3 (nice-to-have)
|
||||
|
||||
---
|
||||
|
||||
## Core Agent Features
|
||||
|
||||
### Monitoring & Metrics
|
||||
- [ ] CPU, RAM, disk usage (basic) - P1
|
||||
- [ ] Process monitoring (top processes by resource) - P2
|
||||
- [ ] Service status monitoring - P1
|
||||
- [ ] Disk health (SMART data) - P2
|
||||
- [ ] Network interface stats - P2
|
||||
- [ ] Custom metric collectors (plugin system) - P3
|
||||
- [ ] Windows Event Log monitoring - P2
|
||||
- [ ] Linux syslog/journald monitoring - P2
|
||||
- [ ] Application-specific monitors (SQL Server, IIS, Apache, etc.) - P3
|
||||
|
||||
### Remote Commands
|
||||
- [ ] Execute shell commands - P1
|
||||
- [ ] PowerShell support (Windows) - P1
|
||||
- [ ] Bash support (Linux/Mac) - P1
|
||||
- [ ] Command templates (reusable scripts) - P2
|
||||
- [ ] Scheduled commands (cron-like) - P2
|
||||
- [ ] Command approval workflow - P3
|
||||
- [ ] Command audit logging - P1
|
||||
|
||||
### File Operations
|
||||
- [ ] File transfer (push/pull) - P2
|
||||
- [ ] File browser - P3
|
||||
- [ ] Configuration file management - P2
|
||||
- [ ] Backup file retrieval - P3
|
||||
|
||||
### Software Management
|
||||
- [ ] Installed software inventory - P2
|
||||
- [ ] Software deployment (silent install) - P2
|
||||
- [ ] Patch management integration - P3
|
||||
- [ ] Windows Update status - P2
|
||||
- [ ] Package manager integration (apt, yum, chocolatey, winget) - P3
|
||||
|
||||
### Agent Updates
|
||||
- [ ] Built-in update handler (not shell script based) - P1
|
||||
- [ ] Server sends update command with version, URL, checksum - P1
|
||||
- [ ] Download to temp, verify SHA256, replace binary - P1
|
||||
- [ ] Platform-specific restart logic - P1
|
||||
- [ ] Backup previous binary for rollback - P2
|
||||
- [ ] Auto-rollback if new version fails to connect - P2
|
||||
- [ ] Version tracking in server database - P1
|
||||
- [ ] Fleet-wide version dashboard - P2
|
||||
- [ ] Staged rollouts (% of agents at a time) - P3
|
||||
- [ ] Update scheduling (maintenance windows) - P2
|
||||
|
||||
### White-Labeling / Branding
|
||||
MSPs need to brand the agent with their company identity.
|
||||
|
||||
#### Install-Time Branding
|
||||
- [ ] Custom service name (`--service-name "AcmeTech Agent"`) - P2
|
||||
- [ ] Custom display name (`--display-name "AcmeTech Monitor"`) - P2
|
||||
- [ ] Custom install path (`--install-path "C:\Program Files\AcmeTech"`) - P2
|
||||
- [ ] Custom binary name (rename on install) - P3
|
||||
- [ ] Branding config file (alternative to CLI flags) - P2
|
||||
|
||||
#### Runtime Branding (Server-Managed)
|
||||
- [ ] Branding config pushed from server - P2
|
||||
- [ ] MSP logo/icon URL - P2
|
||||
- [ ] Support contact info (phone, email, URL) - P2
|
||||
- [ ] Custom "About" dialog content - P2
|
||||
- [ ] Per-customer branding overrides - P3
|
||||
|
||||
### System Tray / End-User Self-Service (Windows/macOS)
|
||||
Interactive tray icon for end users to access self-service features.
|
||||
|
||||
#### Tray Infrastructure
|
||||
- [ ] System tray icon (Windows) - P2
|
||||
- [ ] Menu bar icon (macOS) - P2
|
||||
- [ ] Custom icon support (MSP branding) - P2
|
||||
- [ ] Connection status indicator (connected/disconnected) - P2
|
||||
- [ ] Tooltip with basic info (hostname, status) - P2
|
||||
|
||||
#### Built-In Actions
|
||||
- [ ] Show System Info dialog (hostname, IP, OS, agent version) - P2
|
||||
- [ ] Create Support Ticket (opens form or portal link) - P2
|
||||
- [ ] Screenshot to Ticket (capture screen, attach to new ticket) - P2
|
||||
- [ ] About dialog (version, MSP branding, support contact) - P2
|
||||
|
||||
#### Admin-Definable Custom Actions
|
||||
Server pushes custom tray menu items that execute predefined commands.
|
||||
- [ ] Custom action data model (label, icon, command, elevation, confirm) - P2
|
||||
- [ ] Action types: RunCommand, RestartService, OpenUrl, RunScript - P2
|
||||
- [ ] Confirmation dialogs ("Are you sure?") - P2
|
||||
- [ ] Elevation support (run as admin) - P2
|
||||
- [ ] Per-customer action sets - P2
|
||||
- [ ] Action categories/submenus - P3
|
||||
- [ ] Success/failure notifications - P2
|
||||
|
||||
#### Example Custom Actions
|
||||
```
|
||||
├── Quick Actions
|
||||
│ ├── Restart Print Spooler
|
||||
│ ├── Clear Temp Files
|
||||
│ ├── Restart Network Adapter
|
||||
│ ├── Flush DNS Cache
|
||||
│ └── (admin-defined...)
|
||||
```
|
||||
|
||||
#### Security
|
||||
- [ ] Actions are server-defined only (users can't add) - P1
|
||||
- [ ] Audit logging of tray action executions - P2
|
||||
- [ ] Optional PIN/password for sensitive actions - P3
|
||||
|
||||
---
|
||||
|
||||
## Server/API Features
|
||||
|
||||
### Authentication & Authorization
|
||||
- [ ] JWT authentication - P1
|
||||
- [ ] API keys for agents - P1
|
||||
- [ ] Role-based access control (RBAC) - P2
|
||||
- [ ] Multi-tenant support - P3
|
||||
- [ ] SSO integration (SAML, OAuth) - P3
|
||||
- [ ] 2FA/MFA support - P2
|
||||
|
||||
### Agent Management
|
||||
- [ ] Agent registration/enrollment - P1
|
||||
- [ ] Agent grouping/tagging - P2
|
||||
- [ ] Agent policies (config profiles) - P2
|
||||
- [ ] Bulk operations - P2
|
||||
- [ ] Agent health monitoring - P1
|
||||
- [ ] Auto-update agents - P2
|
||||
|
||||
### Site Proxy / Local Node
|
||||
- [ ] Agent can operate as site proxy/hub - P2
|
||||
- [ ] Local agents connect to proxy instead of cloud - P2
|
||||
- [ ] Proxy aggregates metrics and forwards to server - P2
|
||||
- [ ] Store-and-forward when WAN is unavailable - P2
|
||||
- [ ] Local command relay (proxy executes commands on local agents) - P2
|
||||
- [ ] Reduced WAN bandwidth (batched/compressed uploads) - P3
|
||||
- [ ] Failover between multiple proxies at site - P3
|
||||
- [ ] Proxy discovery (agents auto-find local proxy) - P3
|
||||
- [ ] Mesh communication between proxies - P3
|
||||
- [ ] Local caching of scripts/files for faster deployment - P2
|
||||
- [ ] Site-level alerting (proxy can alert locally if WAN down) - P3
|
||||
|
||||
### Alerting
|
||||
- [ ] Threshold-based alerts - P1
|
||||
- [ ] Alert escalation - P2
|
||||
- [ ] Alert suppression/maintenance windows - P2
|
||||
- [ ] Email notifications - P1
|
||||
- [ ] SMS notifications - P3
|
||||
- [ ] Webhook notifications - P2
|
||||
- [ ] PagerDuty/Opsgenie integration - P3
|
||||
- [ ] Slack/Teams integration - P2
|
||||
|
||||
### Reporting & Analytics
|
||||
- [ ] Unified reporting engine (works across RMM, PSA, all modules) - P1
|
||||
- [ ] Clean, modern report templates - P1
|
||||
- [ ] Custom report builder (drag-and-drop) - P2
|
||||
- [ ] Scheduled report delivery (email, portal) - P2
|
||||
- [ ] White-label/branding support - P2
|
||||
- [ ] Export formats: PDF, Excel, CSV, HTML - P1
|
||||
- [ ] Executive summary dashboards - P2
|
||||
- [ ] Uptime/SLA reports - P2
|
||||
- [ ] Resource usage trends with visualizations - P2
|
||||
- [ ] Ticket metrics (response time, resolution time, volume) - P2
|
||||
- [ ] Technician performance/utilization - P2
|
||||
- [ ] Customer health scores - P3
|
||||
- [ ] Revenue/profitability by customer - P3
|
||||
- [ ] Report templates library (pre-built, shareable) - P2
|
||||
|
||||
#### Data Granularity & Flexible Calculations
|
||||
The data model must support arbitrary business logic, not just canned reports.
|
||||
|
||||
- [ ] Granular time entry data (tech, client, ticket, service type, rate plan) - P1
|
||||
- [ ] Effective rate tracking per client/plan (block rate vs hourly vs plan) - P2
|
||||
- [ ] Calculated fields / custom formulas in reports - P2
|
||||
- [ ] Multi-variable calculations (hours × effective rate × commission %) - P2
|
||||
- [ ] Aggregation at any level (tech, client, service type, date range) - P2
|
||||
- [ ] Rate plan / contract type as first-class data dimension - P2
|
||||
- [ ] Historical rate tracking (rate was X on this date) - P2
|
||||
- [ ] Payroll-ready exports (base + commission breakdown) - P2
|
||||
- [ ] Custom metrics definition (define your own KPIs) - P2
|
||||
- [ ] Formula builder for complex business rules - P3
|
||||
- [ ] Drill-down from summary to line-item detail - P2
|
||||
- [ ] Data warehouse / OLAP cube for complex analytics - P3
|
||||
- [ ] API access to raw data for external BI tools - P2
|
||||
|
||||
---
|
||||
|
||||
## Dashboard Features
|
||||
|
||||
### Views
|
||||
- [ ] Agent list with status - P1
|
||||
- [ ] Agent detail view - P1
|
||||
- [ ] Real-time metrics charts - P2
|
||||
- [ ] Map view (geographic) - P3
|
||||
- [ ] Network topology view - P3
|
||||
- [ ] Custom dashboards - P3
|
||||
|
||||
### Remote Access
|
||||
- [ ] Remote terminal (web-based) - P2
|
||||
- [ ] Remote desktop (RDP/VNC proxy) - P3
|
||||
- [ ] File manager UI - P3
|
||||
|
||||
### Direct Agent Connection (Admin Tunnel)
|
||||
- [ ] On-demand reverse tunnel to agent - P2
|
||||
- [ ] Live interactive shell session (not queued commands) - P2
|
||||
- [ ] Direct command pipe (real-time stdin/stdout/stderr) - P2
|
||||
- [ ] Point-to-point encrypted tunnel (WireGuard/custom) - P3
|
||||
- [ ] Tunnel enables direct SSH/RDP through agent - P3
|
||||
- [ ] Credential/role-based access (only authorized admins) - P1
|
||||
- [ ] Agent classification determines tunnel capability - P2
|
||||
- [ ] Session recording for audit - P2
|
||||
- [ ] Idle timeout and forced disconnect - P2
|
||||
- [ ] Concurrent session limits - P3
|
||||
- [ ] Tunnel through site proxy (when agent behind NAT) - P3
|
||||
- [ ] Local port forwarding through tunnel - P3
|
||||
|
||||
### User Experience & Interface Design
|
||||
|
||||
#### Design Philosophy
|
||||
- Beautiful AND functional - no compromise, no "ugly but it works"
|
||||
- Clean, modern aesthetic with purposeful whitespace
|
||||
- Information density without clutter
|
||||
- Consistent design language across all modules
|
||||
- Accessibility (WCAG compliance, screen readers, keyboard nav)
|
||||
|
||||
#### Customization
|
||||
- [ ] Dark/light/system theme - P2
|
||||
- [ ] Customizable dashboard layouts (drag-and-drop widgets) - P2
|
||||
- [ ] User-defined color accents/branding - P2
|
||||
- [ ] Configurable data density (compact/comfortable/spacious) - P2
|
||||
- [ ] Saved views and workspace layouts - P2
|
||||
- [ ] Per-user preferences synced across devices - P2
|
||||
- [ ] Custom CSS injection for white-label deployments - P3
|
||||
|
||||
#### Real-Time Updates
|
||||
- [ ] WebSocket-based live data (no page refresh) - P1
|
||||
- [ ] Real-time agent status changes - P1
|
||||
- [ ] Live metric updates on dashboards - P1
|
||||
- [ ] Instant alert notifications (toast/badge) - P1
|
||||
- [ ] Collaborative indicators (who else is viewing this ticket) - P3
|
||||
- [ ] Optimistic UI updates (instant feedback, sync in background) - P2
|
||||
|
||||
#### Third-Party Module Integration
|
||||
- [ ] Plugin/module API for UI extensions - P2
|
||||
- [ ] Dashboard widget SDK (third parties can add widgets) - P2
|
||||
- [ ] Panel embedding (iframe or native component) - P2
|
||||
- [ ] Unified navigation (third-party modules appear native) - P2
|
||||
- [ ] Shared authentication context - P2
|
||||
- [ ] Event bus for cross-module communication - P2
|
||||
- [ ] Style guide/component library for consistent third-party UI - P2
|
||||
|
||||
#### Core UX
|
||||
- [ ] Mobile responsive (PWA capable) - P2
|
||||
- [ ] Keyboard shortcuts with command palette (Cmd+K) - P2
|
||||
- [ ] Saved searches/filters - P2
|
||||
- [ ] Bulk selection and actions - P2
|
||||
- [ ] Contextual right-click menus - P3
|
||||
- [ ] Undo/redo for destructive actions - P2
|
||||
- [ ] Breadcrumb navigation - P1
|
||||
- [ ] Global search (agents, tickets, customers, docs) - P1
|
||||
|
||||
### Customer Portal (End-User Facing)
|
||||
- [ ] Branded portal per customer (white-label) - P2
|
||||
- [ ] Ticket submission and tracking - P1
|
||||
- [ ] View open/closed ticket history - P1
|
||||
- [ ] Asset inventory view (their devices) - P2
|
||||
- [ ] Service status dashboard (are things healthy?) - P2
|
||||
- [ ] Meaningful metrics (uptime, response times, SLA status) - P2
|
||||
- [ ] Invoice/billing history - P3
|
||||
- [ ] Knowledge base / self-service articles - P2
|
||||
- [ ] Scheduled maintenance notifications - P2
|
||||
- [ ] Contact directory (who to call for what) - P2
|
||||
- [ ] Document library (contracts, policies, procedures) - P3
|
||||
- [ ] Approval workflows (quote approvals, change requests) - P3
|
||||
- [ ] Mobile-friendly / PWA - P2
|
||||
|
||||
---
|
||||
|
||||
## Integration Features
|
||||
|
||||
### PSA/Ticketing Integration (External)
|
||||
- [ ] ConnectWise Manage - P3
|
||||
- [ ] Autotask - P3
|
||||
- [ ] HaloPSA - P3
|
||||
- [ ] Generic webhook for tickets - P2
|
||||
- [ ] Pluggable PSA adapter architecture - P2
|
||||
|
||||
### GuruPSA (Companion CRM/PSA) - Separate Project
|
||||
- [ ] Core ticketing system - P1
|
||||
- [ ] Customer/company management - P1
|
||||
- [ ] Contact management - P1
|
||||
- [ ] Asset linking (from RMM) - P1
|
||||
- [ ] Time tracking - P2
|
||||
- [ ] Contracts/SLA management - P2
|
||||
- [ ] Quoting/proposals - P3
|
||||
- [ ] Project management - P3
|
||||
- [ ] Knowledge base - P2
|
||||
- [ ] Technician mobile app - P3
|
||||
- [ ] Calendar/scheduling - P3
|
||||
- [ ] Email integration (ticket from email) - P1
|
||||
- [ ] Alert-to-ticket automation - P1
|
||||
- [ ] Shared reporting engine with RMM - P1
|
||||
|
||||
### Automated Usage-Based Billing (GuruPSA + RMM Integration)
|
||||
No more manual agent counting. Usage data flows automatically to invoices.
|
||||
|
||||
#### Core Billing Engine
|
||||
- [ ] Recurring invoice generation - P2
|
||||
- [ ] Usage metering framework (count anything, bill for it) - P2
|
||||
- [ ] Billing rules engine (per-agent, per-user, tiered, flat) - P2
|
||||
- [ ] Proration for mid-cycle changes - P2
|
||||
- [ ] Invoice approval workflow (review before send) - P2
|
||||
- [ ] Multi-currency support - P3
|
||||
- [ ] Tax calculation / integration - P3
|
||||
- [ ] Payment gateway integration (Stripe, QuickBooks, etc.) - P2
|
||||
|
||||
#### RMM-to-Invoice Automation
|
||||
- [ ] Live agent count per customer - P1
|
||||
- [ ] Auto-sync agent count to invoice line items - P2
|
||||
- [ ] Agent add/remove reflected immediately in billing - P2
|
||||
- [ ] Billable vs non-billable agent classification - P2
|
||||
- [ ] Per-agent-type pricing (server vs workstation) - P2
|
||||
- [ ] Audit trail (agent added on X date, removed on Y) - P2
|
||||
- [ ] Usage snapshots for billing period - P2
|
||||
- [ ] Dispute resolution (customer says "I only had 10") - P2
|
||||
|
||||
#### Third-Party Usage Integration
|
||||
- [ ] Generic API adapter for usage data - P2
|
||||
- [ ] MSP Backup integration (licenses, storage used) - P2
|
||||
- [ ] Microsoft 365 license count (via Graph API) - P2
|
||||
- [ ] Google Workspace license count - P3
|
||||
- [ ] DNS/domain registrar counts - P3
|
||||
- [ ] Security product license counts - P3
|
||||
- [ ] Storage/bandwidth metering - P3
|
||||
- [ ] Custom API connector builder - P3
|
||||
|
||||
#### Billing Intelligence
|
||||
- [ ] Usage trending (predict next invoice) - P3
|
||||
- [ ] Anomaly alerts (sudden agent spike/drop) - P2
|
||||
- [ ] Margin analysis per customer - P3
|
||||
- [ ] Contract vs actual usage comparison - P2
|
||||
- [ ] Unbilled usage warnings - P2
|
||||
|
||||
### Unified API Architecture
|
||||
- [ ] RESTful API for all RMM functions - P1
|
||||
- [ ] RESTful API for all PSA functions - P1
|
||||
- [ ] OpenAPI/Swagger documentation - P1
|
||||
- [ ] Webhook system (outbound events) - P2
|
||||
- [ ] API versioning strategy - P1
|
||||
- [ ] Rate limiting and quotas - P2
|
||||
- [ ] API key management - P1
|
||||
- [ ] OAuth2 for third-party integrations - P2
|
||||
- [ ] GraphQL endpoint (optional) - P3
|
||||
- [ ] Event-driven architecture (pub/sub) - P2
|
||||
- [ ] Integration SDK/client libraries - P3
|
||||
|
||||
### Documentation
|
||||
- [ ] IT Glue integration - P3
|
||||
- [ ] Hudu integration - P3
|
||||
- [ ] Auto-document discovered info - P3
|
||||
|
||||
### Backup
|
||||
- [ ] Veeam status monitoring - P3
|
||||
- [ ] Datto status monitoring - P3
|
||||
- [ ] Generic backup job monitoring - P2
|
||||
|
||||
### Network
|
||||
- [ ] SNMP monitoring - P3
|
||||
- [ ] Network device discovery - P3
|
||||
- [ ] Bandwidth monitoring - P3
|
||||
|
||||
---
|
||||
|
||||
## Security Features
|
||||
|
||||
### Endpoint Security
|
||||
- [ ] Antivirus status monitoring - P2
|
||||
- [ ] Windows Defender management - P2
|
||||
- [ ] Firewall status - P2
|
||||
- [ ] Security baseline compliance - P3
|
||||
- [ ] Vulnerability scanning integration - P3
|
||||
|
||||
### Audit & Compliance
|
||||
- [ ] Full audit trail - P1
|
||||
- [ ] Session recording - P3
|
||||
- [ ] Compliance reporting (SOC2, etc.) - P3
|
||||
- [ ] Data retention policies - P2
|
||||
|
||||
### Agent Security Hardening (P1 post-alpha)
|
||||
- [ ] Dependency vulnerability scanning (CI/CD pipeline) - P1
|
||||
- [ ] Automated CVE monitoring for all dependencies - P1
|
||||
- [ ] Regular security audits of agent codebase - P1
|
||||
- [ ] Minimal attack surface (no unnecessary open ports) - P1
|
||||
- [ ] Code signing for agent binaries - P1
|
||||
- [ ] Secure update mechanism (signed updates only) - P1
|
||||
- [ ] Memory-safe language benefits (Rust) - P1
|
||||
- [ ] Principle of least privilege (drop privs where possible) - P1
|
||||
- [ ] Certificate pinning for server communication - P2
|
||||
- [ ] Tamper detection (agent integrity monitoring) - P2
|
||||
- [ ] Sandboxed command execution option - P3
|
||||
- [ ] Security disclosure program / responsible disclosure policy - P2
|
||||
- [ ] Penetration testing (periodic) - P2
|
||||
- [ ] SBOM (Software Bill of Materials) for transparency - P2
|
||||
- [ ] Rapid patch deployment capability - P1
|
||||
|
||||
---
|
||||
|
||||
## Infrastructure
|
||||
|
||||
### Deployment
|
||||
|
||||
#### Development/Small Scale
|
||||
- [ ] Docker Compose deployment - P1
|
||||
- [ ] Single-server setup (dev, small MSP <500 agents) - P1
|
||||
|
||||
#### Production/Cloud Scale
|
||||
- [ ] Kubernetes deployment - P2
|
||||
- [ ] Cloud-native architecture (AWS, Azure, GCP) - P2
|
||||
- [ ] Horizontal scaling (stateless API servers) - P2
|
||||
- [ ] Auto-scaling based on load - P2
|
||||
- [ ] High availability (multi-zone, failover) - P2
|
||||
- [ ] Load balancing (API, WebSocket, dashboard) - P2
|
||||
- [ ] Geographic distribution (multi-region) - P3
|
||||
- [ ] CDN for dashboard/static assets - P2
|
||||
- [ ] Managed database services (RDS, Cloud SQL) - P2
|
||||
- [ ] Message queue for agent check-ins (Redis, RabbitMQ, SQS) - P2
|
||||
- [ ] Connection pooling for 50k+ concurrent agents - P2
|
||||
- [ ] Read replicas for reporting/analytics queries - P2
|
||||
- [ ] Tenant isolation (multi-tenant SaaS) - P3
|
||||
|
||||
### Code Signing & Distribution (Pre-Release)
|
||||
- [ ] Windows EV Code Signing Certificate - P1 (pre-release)
|
||||
- Required for SmartScreen reputation
|
||||
- ~$400-600/year (DigiCert, Sectigo, GlobalSign)
|
||||
- Hardware token required for private key
|
||||
- [ ] Apple Developer Program enrollment - P1 (pre-release)
|
||||
- $99/year - covers macOS signing and notarization
|
||||
- Required for Gatekeeper approval on macOS 10.15+
|
||||
- [ ] Signing pipeline integration (CI/CD) - P1 (pre-release)
|
||||
- [ ] Notarization workflow for macOS builds - P1 (pre-release)
|
||||
- [ ] Secure key storage (HSM or hardware token) - P1 (pre-release)
|
||||
|
||||
### Data
|
||||
- [ ] PostgreSQL backend - P1
|
||||
- [ ] Redis caching - P2
|
||||
- [ ] Time-series DB for metrics (InfluxDB/TimescaleDB) - P2
|
||||
- [ ] Data archival/retention - P2
|
||||
- [ ] Backup/restore - P1
|
||||
|
||||
---
|
||||
|
||||
## Platform Support
|
||||
|
||||
### Agent Platforms
|
||||
- [ ] Windows (x64) - P1
|
||||
- [ ] Windows (ARM64) - P3
|
||||
- [ ] Linux (x64) - P1
|
||||
- [ ] Linux (ARM64) - P2
|
||||
- [ ] macOS (Intel) - P2
|
||||
- [ ] macOS (Apple Silicon) - P2
|
||||
- [ ] FreeBSD - P3
|
||||
|
||||
### Mobile Device Management (MDM)
|
||||
- [ ] iOS/iPadOS agent (MDM profile-based) - P2
|
||||
- [ ] Android agent (Work Profile / Device Admin) - P2
|
||||
- [ ] Mobile device inventory - P2
|
||||
- [ ] App deployment/management - P3
|
||||
- [ ] Remote lock/wipe - P2
|
||||
- [ ] Location tracking (with consent) - P3
|
||||
- [ ] Compliance policies (PIN, encryption) - P2
|
||||
- [ ] BYOD vs corporate device handling - P3
|
||||
- [ ] Apple Business Manager integration - P3
|
||||
- [ ] Android Enterprise integration - P3
|
||||
- [ ] Mobile management dashboard - P2
|
||||
- [ ] Push notification for alerts - P2
|
||||
|
||||
### Appliance/NAS Agents
|
||||
- [ ] Unraid plugin - P2
|
||||
- [ ] Synology package (DSM) - P2
|
||||
- [ ] QNAP package (QTS) - P3
|
||||
- [ ] TrueNAS plugin - P3
|
||||
- [ ] Netgear ReadyNAS (limited/polling) - P3
|
||||
- [ ] Docker container agent (for containerized appliances) - P2
|
||||
- [ ] SNMP-based monitoring (for appliances without agent support) - P2
|
||||
- [ ] Proxmox integration - P2
|
||||
- [ ] ESXi/vSphere monitoring - P3
|
||||
|
||||
### Appliance-Specific Metrics
|
||||
- [ ] RAID/array health status - P2
|
||||
- [ ] Drive temperatures and SMART data - P2
|
||||
- [ ] Share/volume utilization - P2
|
||||
- [ ] Replication/sync job status - P3
|
||||
- [ ] UPS status (NUT integration) - P2
|
||||
- [ ] Docker container status (for Unraid/NAS) - P2
|
||||
- [ ] VM status (Proxmox/ESXi) - P3
|
||||
- [ ] Backup job status - P2
|
||||
|
||||
### Installation Methods
|
||||
- [ ] MSI installer (Windows) - P1
|
||||
- [ ] DEB package (Debian/Ubuntu) - P2
|
||||
- [ ] RPM package (RHEL/Fedora) - P2
|
||||
- [ ] Homebrew (macOS) - P3
|
||||
- [ ] One-liner install script - P1
|
||||
|
||||
---
|
||||
|
||||
## Future Considerations
|
||||
|
||||
### AI/Automation
|
||||
|
||||
#### Ticket Intelligence (P2)
|
||||
- [ ] Grammar/spelling correction for technician notes
|
||||
- [ ] Professional tone enhancement (convert shorthand to proper language)
|
||||
- [ ] Auto-summarization of long ticket threads
|
||||
- [ ] Smart ticket categorization/tagging based on content
|
||||
- [ ] Duplicate/related ticket detection (3 people report same issue → merge offer)
|
||||
|
||||
#### Troubleshooting Assistant (P2)
|
||||
- [ ] Suggest solutions based on similar past tickets
|
||||
- [ ] Pattern matching on ticket subject/description
|
||||
- [ ] Alert-to-resolution correlation (what fixed this alert before?)
|
||||
- [ ] Knowledge base article suggestions
|
||||
- [ ] "This issue was resolved X times before by doing Y"
|
||||
|
||||
#### Proactive Intelligence (P3)
|
||||
- [ ] Anomaly detection (ML-based)
|
||||
- [ ] Auto-remediation scripts (with approval workflow)
|
||||
- [ ] Natural language queries ("show me servers with high CPU this week")
|
||||
- [ ] Predictive alerting (disk will be full in 3 days based on trend)
|
||||
|
||||
### Advanced Features
|
||||
- [ ] Asset lifecycle management - P3
|
||||
- [ ] License management - P3
|
||||
- [ ] Cost tracking/billing - P3
|
||||
- [ ] API for third-party integrations - P2
|
||||
|
||||
(White-labeling moved to Core Agent Features → White-Labeling / Branding)
|
||||
|
||||
---
|
||||
|
||||
## Development Phases
|
||||
|
||||
### Phase 1: Foundation (MVP)
|
||||
Core RMM functionality - enough to monitor your own clients.
|
||||
- Agent: heartbeat, basic metrics (CPU, RAM, disk), Windows + Linux
|
||||
- Server: agent registration, API, database
|
||||
- Dashboard: agent list, status, basic metrics view
|
||||
- Alerts: threshold-based, email notification
|
||||
|
||||
### Phase 2: Operational
|
||||
Day-to-day MSP operations.
|
||||
- Remote commands, PowerShell/Bash execution
|
||||
- Patch status, software inventory
|
||||
- Alert escalation, maintenance windows
|
||||
- Basic reporting
|
||||
|
||||
### Phase 3: PSA Integration
|
||||
GuruPSA companion or third-party PSA.
|
||||
- Ticketing, customer management
|
||||
- Alert-to-ticket automation
|
||||
- Time tracking, basic billing
|
||||
- Customer portal
|
||||
|
||||
### Phase 4: Scale & Polish
|
||||
Production-ready for broader use.
|
||||
- Cloud deployment, horizontal scaling
|
||||
- Advanced reporting, usage-based billing
|
||||
- UI polish, customization
|
||||
- Third-party integrations, plugin SDK
|
||||
|
||||
### Phase 5: Intelligence
|
||||
Differentiation features.
|
||||
- AI ticket enhancement, troubleshooting suggestions
|
||||
- Anomaly detection, predictive alerting
|
||||
- Advanced analytics
|
||||
|
||||
---
|
||||
|
||||
## Design Principles
|
||||
|
||||
### True Integration, Not API Checkboxes
|
||||
Unlike vendors who claim "API integration" but deliver siloed products that barely talk to each other, GuruRMM and GuruPSA must be designed as a unified system:
|
||||
|
||||
- **Single Action, Full Workflow**: When an admin initiates an EDR scan from the RMM, the PSA should automatically:
|
||||
- Create/update a ticket with scan status
|
||||
- Log the action against the asset
|
||||
- Update documentation with findings
|
||||
- Trigger alerts/escalations based on results
|
||||
- No manual steps, no copy-paste, no "check the other product"
|
||||
|
||||
- **Bidirectional Context**: A technician viewing a ticket should see:
|
||||
- Real-time agent status
|
||||
- Recent alerts and metrics
|
||||
- One-click remote access
|
||||
- Full asset history
|
||||
- Not just a link to "go look it up in the RMM"
|
||||
|
||||
- **Event-Driven Architecture**: Actions in one product automatically trigger appropriate responses in others. Not "you can build it yourself with the API" - it works out of the box.
|
||||
|
||||
- **Shared Data Model**: Assets, customers, contacts, and history exist once and are referenced everywhere. No sync conflicts, no duplicate data entry.
|
||||
|
||||
### Avoid the Datto Anti-Pattern
|
||||
Datto owns ITGlue, Autotask, DattoRMM, and EDR - yet they operate as separate products that happen to have APIs. Example failures to avoid:
|
||||
- EDR scan results don't auto-create tickets
|
||||
- RMM alerts require manual ticket creation
|
||||
- Documentation requires separate manual updates
|
||||
- "Integration" means "we have an API, build it yourself"
|
||||
|
||||
GuruRMM/GuruPSA should feel like one product with different views, not two products bolted together.
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
Add feature ideas and notes here as they come up:
|
||||
|
||||
- GuruPSA will be a separate repo but designed to integrate seamlessly with GuruRMM
|
||||
- API-first design: both products should be fully controllable via API
|
||||
- Users can use GuruRMM standalone, GuruPSA standalone, or both together
|
||||
- Third-party PSA users get first-class integration via pluggable adapters
|
||||
- Consider shared authentication/SSO between RMM and PSA
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
GuruRMM (this repo)
|
||||
├── agent/ - Rust agent for endpoints
|
||||
├── server/ - Rust API server
|
||||
├── dashboard/ - React web dashboard
|
||||
└── docs/ - Documentation
|
||||
|
||||
GuruPSA (future repo)
|
||||
├── server/ - API server (Rust or Node?)
|
||||
├── dashboard/ - React web dashboard
|
||||
├── portal/ - Customer portal
|
||||
└── docs/ - Documentation
|
||||
|
||||
Shared
|
||||
├── guru-api-sdk/ - Client libraries for API
|
||||
└── guru-common/ - Shared types/utilities
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Last updated: 2025-12-15*
|
||||
Reference in New Issue
Block a user