Router NetFlow, Operational Alerts, and CRUD Polish
This release expands router observability with MikroTik NetFlow support and cleans up browser form flows across core CRUD screens.
Added
- MikroTik NetFlow configuration on routers, including collector host, port, version, interfaces, and sampling settings.
- RouterOS Traffic Flow setup service for enabling NetFlow and creating or updating MikroTik export targets through the RouterOS API.
- Python-based NetFlow collector command, exposed through php artisan netflow:collect, for parsing flow exports and storing normalized records.
- Tenant-scoped NetFlow flow storage, model, factory, migrations, and router summary service.
- Router show-page NetFlow panel with setup status, test connection action, throughput, top sources, top destinations, protocols, and latest flows.
- Focused NetFlow feature tests covering MikroTik setup, non-MikroTik rejection, packet test status, and tenant-scoped summary data.
- Reusable admin flash alert component for success and error messages across create and edit flows.
- LDAP diagnostic command and richer LDAP connection/sync logging for skipped entries and connection tests.
Changed
- Router create and edit screens now include NetFlow settings for MikroTik deployments.
- Router create, update, and delete actions now redirect browser form submissions with flash messages while preserving JSON responses for AJAX requests.
- Subscription create, update, and delete actions now provide browser redirect fallbacks while keeping existing JSON behavior for JavaScript flows.
- Admin layout now renders shared flash alerts, reducing duplicated success/error blocks in individual pages.
- Router validation now uses typed unique rules to avoid malformed validation strings during edits.
- Environment example now documents NetFlow collector configuration values.
Fixed
- Router edit no longer displays raw JSON after a browser form submit.
- Router IP validation no longer throws an internal Laravel validation error when editing an existing router.
- Duplicate success banners were removed from router, settings, and VPN user screens now covered by the shared alert component.