Commit Graph
100 Commits
Author SHA1 Message Date
Adam Outler a1a6c7e1cf Skill: Agents can auto-configure MCP. 2026-02-03 17:18:05 +00:00
Adam Outler 8211816b37 feat(mcp): Expose OpenAPI spec as a resource (netalertx://api/openapi.json) 2026-02-03 16:51:31 +01:00
Adam Outler 36d5f5b434 Fix for space after period. 2026-02-02 23:08:41 +00:00
Adam Outler a70354997d test(mcp): Update endpoints to remove obsolete /mcp/sse prefixes 2026-02-02 23:22:26 +01:00
Adam Outler 9ca5375652 fix(schema): Enhance MAC validation for sessions and events 2026-02-02 23:19:14 +01:00
Adam Outler f43517b9a5 chore(api): Cleanup schemas and update skills docs 2026-02-02 23:14:45 +01:00
Adam Outler 5095edd5d8 docs(mcp): Update tool descriptions, links, and standardize path parameters 2026-02-02 23:14:41 +01:00
Adam Outler dc6b57a581 feat(devcontainer): Auto-configure MCP settings for VSCode and Gemini 2026-02-02 23:08:45 +01:00
Adam Outler b2501d98a5 fix(mcp): Handle non-JSON responses and correct JSON errors 2026-02-02 23:08:39 +01:00
Adam Outler 92029badaa Merge branch 'main' of https://github.com/netalertx/NetAlertX into agentic-workflows
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2026-02-02 21:33:25 +01:00
Adam Outler 0ac0dccba1 enhance agent workflow for testing 2026-02-01 16:55:45 +00:00
Adam Outler d6457a53a0 Debian compatibility 2026-02-01 01:42:20 +00:00
Adam Outler 900e418be9 fix unrelated test not using root-entrypoint properly. 2026-02-01 01:17:24 +00:00
Adam Outler 9d0627c5c3 Unit tests for auto-subnet 2026-01-31 16:57:38 +00:00
Adam Outler 77fd017d90 Coderabbit requested changes 2026-01-31 16:52:30 +00:00
Adam Outler d3b3f8babb autoconfigure scan subnets 2026-01-31 15:53:20 +00:00
Adam Outlerandcoderabbitai[bot] 53962bc38b Update test/api_endpoints/test_docs.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-31 10:41:58 -05:00
Adam Outler d404c45843 Add basic unit tests 2026-01-31 15:30:01 +00:00
Adam Outler 53c7cea690 Add api redirect from / to /docs 2026-01-31 15:29:51 +00:00
Adam Outler 7aa547ed90 Fix Device Up 2026-01-31 03:09:20 +00:00
Adam Outler 5a49b97821 Fixes for Coderabbit review 2026-01-31 02:54:00 +00:00
Adam Outler 42be7c4263 Merge netalertx/main into openapi-mcp-improvements 2026-01-31 02:09:57 +01:00
Adam Outler cc8a695943 improve MCP spec 2026-01-30 14:25:05 +00:00
Adam Outler ed4e0388cc Improve OpenAPI specs 2026-01-30 00:15:49 +00:00
Adam Outler f54ba4817e remove unused script 2026-01-29 17:03:30 +00:00
Adam Outler a95b635601 move docker_tests script to better name/location 2026-01-29 17:03:30 +00:00
Adam Outler 1011652959 Fix fresh install script 2026-01-29 16:18:41 +00:00
Adam Outler 5dba6bf292 Add prerequisites to test 2026-01-28 12:07:54 +00:00
Adam Outler f202b506c3 Add timeouts for tests per coderabbit guideline 2026-01-28 03:41:08 +00:00
Adam Outler 6916cd7611 Set to /server default in UI 2026-01-28 02:52:40 +00:00
Adam Outler cc55e58efb Fix for docker test - exits earlier now. 2026-01-28 02:35:25 +00:00
Adam Outler f65aafa2c0 Docs on /server policy 2026-01-28 02:13:41 +00:00
Adam Outler 0b8f3887c0 Tests and test environment 2026-01-28 02:13:32 +00:00
Adam Outler 2bd80d19db http_sec_fetch with http_referrer fallback 2026-01-28 02:13:04 +00:00
Adam Outler 67b307f0e7 Address Coderabbit items. 2026-01-25 23:03:23 +00:00
Adam Outler 72c29a0d2d ENV Var test 2026-01-25 21:46:30 +00:00
Adam Outler fe6aa55419 ENV Var Docs 2026-01-25 21:46:19 +00:00
Adam Outler 973de8d407 Agent Skills 2026-01-25 21:45:57 +00:00
Adam Outler 1ec499dfb0 internal reverse proxy from 20212 to 20211/server 2026-01-25 00:41:31 +00:00
Adam Outler 44a7f15440 Update Docker Compose capabilities for root-entrypoint
Added necessary capabilities for root-entrypoint operations.
2026-01-22 22:08:36 -05:00
Adam OutlerandJokob @NetAlertX 319731b664 Update Dockerfile.debian
Co-authored-by: Jokob @NetAlertX <96159884+jokob-sk@users.noreply.github.com>
2026-01-21 16:32:36 -05:00
Adam Outler ea2c5184a9 Refactor Dockerfile for multi-stage build and hardening
Refactor Dockerfile to improve structure and security.
2026-01-21 13:09:58 -05:00
Adam Outler bb0c0e1c74 Coderabbit fixes:
- Mac
- Flask debug
- Threaded flask
- propagate token in GET requests
- enhance spec docs
- normalize MAC x2
- mcp disablement redundant private attribute
- run all tests imports
2026-01-19 01:12:48 +00:00
Adam Outler 640bbd95c1 Enhance API_TOKEN retrieval instructions in tests
Updated instructions for retrieving API_TOKEN in tests.
2026-01-18 16:02:48 -05:00
Adam Outler ecea1d1fbd feat(api): MCP, OpenAPI & Dynamic Introspection
New Features:
- API endpoints now support comprehensive input validation with detailed error responses via Pydantic models.
- OpenAPI specification endpoint (/openapi.json) and interactive Swagger UI documentation (/docs) now available for API discovery.
- Enhanced MCP session lifecycle management with create, retrieve, and delete operations.
- Network diagnostic tools: traceroute, nslookup, NMAP scanning, and network topology viewing exposed via API.
- Device search, filtering by status (including 'offline'), and bulk operations (copy, delete, update).
- Wake-on-LAN functionality for remote device management.
- Added dynamic tool disablement and status reporting.

Bug Fixes:
- Fixed get_tools_status in registry to correctly return boolean values instead of None for enabled tools.
- Improved error handling for invalid API inputs with standardized validation responses.
- Fixed OPTIONS request handling for cross-origin requests.

Refactoring:
- Significant refactoring of api_server_start.py to use decorator-based validation (@validate_request).
2026-01-18 18:16:18 +00:00
Adam Outler 100e67156e Remove buggy pytest extension 2026-01-18 15:13:30 +00:00
Adam Outler f8f1d6ef76 fix log location for xdebug 2026-01-18 00:49:17 +00:00
Adam Outler 5146d405a7 Add system pytest and use it instead 2026-01-17 23:30:13 +00:00
Adam Outler 4b69226f89 coderabbit parser and gemini instructions 2026-01-17 23:01:21 +00:00
Adam Outlerandcoderabbitai[bot] 15679a6a21 Update install/production-filesystem/services/config/php/php-fpm.d/www.conf
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-10 01:37:58 -05:00
Adam Outlerandcoderabbitai[bot] a52cf764d2 Update install/production-filesystem/services/config/php/php-fpm.d/www.conf
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-10 01:37:40 -05:00
Adam Outler 8452902703 enable nginx running as root 2026-01-10 04:42:30 +00:00
Adam Outler bdf89dc927 Enable PHP running as root 2026-01-10 04:42:22 +00:00
Adam Outler 29785ece48 Adjust PHP buffer sizes 2026-01-10 04:41:29 +00:00
Adam Outler 934b849ada Add selenium to devcontainer 2026-01-10 04:11:23 +00:00
Adam Outler 51e31d8854 Fixes for coderabbit. 2026-01-09 01:34:31 +00:00
Adam Outler 739f17474f Basic fixes for synology 2026-01-08 22:56:15 +00:00
Adam Outler e6194564b8 fixing for coderabbit and tests with stuck metadata 2026-01-06 13:56:37 +00:00
Adam Outler c86d0c8772 Handle more edge cases; more clear warnings 2026-01-06 00:43:48 +00:00
Adam Outler 16375abb51 revise excessive capabilties 2026-01-04 15:53:34 +00:00
Adam Outler 8426b9bc2e Synology does not support json-file logging 2026-01-04 15:20:51 +00:00
Adam Outler f549db3ea9 fix devcontainer starup issue. 2026-01-03 23:31:41 +00:00
Adam Outler 3cf856f1c2 coderabbit changes 2026-01-03 22:15:19 +00:00
Adam Outlerandcoderabbitai[bot] 850d93ed62 grammar-rabbit
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-02 20:36:19 -05:00
Adam Outlerandcoderabbitai[bot] 1932b2d03a grammar-rabbit
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-02 20:36:03 -05:00
Adam Outler 348002c3ab Docs 2026-01-03 01:14:10 +00:00
Adam Outler 19cc5b0406 Unit tests 2026-01-03 01:13:47 +00:00
Adam Outler c15f621ad4 New PUID startup sequence 2026-01-03 01:13:18 +00:00
Adam Outler 95e9315c88 Improving mount diagnostics 2025-12-22 02:08:50 +00:00
Adam Outler 24c806005f Coderabbit requested fixes. 2025-12-21 20:18:59 +00:00
Adam Outler 492c6e3883 Remove test file, add coderabbit timeout suggestions 2025-12-21 19:30:35 +00:00
Adam Outler df40116ed0 Fix for tests/coderabit. 2025-12-21 02:13:45 +00:00
Adam Outler f9b724931f adjust tests and allow other users 2025-12-21 01:06:58 +00:00
Adam Outler 0889741864 adjust tests and allow other users 2025-12-19 04:26:16 +00:00
Adam Outler e17f355fbc Fix existing unit tests and docs 2025-12-19 01:27:17 +00:00
Adam Outler 4c068f7570 Add missing depend for tests 2025-12-19 01:02:31 +00:00
Adam Outler 95b2b42b90 Initial rewrite of no NetAlertX user required. 2025-12-09 01:13:00 +00:00
Adam Outler 18e71c847e Increase devices, add root 2025-12-08 22:32:16 +00:00
Adam Outler 79fa943e4e dev(container): make load-devices script portable (mktemp fallback) 2025-12-08 22:02:23 +00:00
Adam Outler d5328a3be6 Add script to generate synthetic device inventory CSV
This script generates a synthetic CSV inventory of NetAlertX devices, including routers, switches, APs, and leaf nodes with random but reproducible attributes.

./generate_device_inventory.py --help                                                                                                                                                main
usage: generate_device_inventory.py [-h] [--output OUTPUT] [--seed SEED] [--devices DEVICES] [--switches SWITCHES] [--aps APS] [--site SITE] [--ssid SSID] [--owner OWNER] [--network NETWORK] [--template TEMPLATE]

Generate a synthetic device CSV for NetAlertX

options:
  -h, --help            show this help message and exit
  --output OUTPUT, -o OUTPUT
                        Output CSV path
  --seed SEED           Seed for reproducible output
  --devices DEVICES     Number of leaf nodes to generate
  --switches SWITCHES   Number of switches under the router
  --aps APS             Number of APs under switches
  --site SITE           Site name
  --ssid SSID           SSID placeholder
  --owner OWNER         Owner name for devices
  --network NETWORK     IPv4 network to draw addresses from (must have enough hosts for requested devices)
  --template TEMPLATE   Optional CSV to pull header from; defaults to the sample inventory layout
2025-12-08 11:01:24 -05:00
Adam Outler 2c75285148 Coderabit nitpick. 2025-12-06 13:05:47 +00:00
Adam Outler ecb5c1455b Add missing field to initial db 2025-12-06 13:01:47 +00:00
Adam Outler 17f495c444 Change copy command to install with permissions 2025-12-06 13:01:10 +00:00
Adam Outler e64c490c8a Help ARM runners on github with rust and cargo required by pip 2025-11-30 01:04:12 +00:00
Adam Outler 531b66effe Coderabit changes 2025-11-29 02:44:55 +00:00
Adam Outler 5e4ad10fe0 Tidy up 2025-11-28 21:13:20 +00:00
Adam Outler 541b932b6d Add MCP to existing OpenAPI 2025-11-28 14:12:06 -05:00
Adam Outler 2bf3ff9f00 Add MCP server 2025-11-28 17:03:18 +00:00
Adam Outler 30071c6848 Merge branch 'main' into hadolint-fixes 2025-11-23 19:25:45 -05:00
Adam Outler b0bd3c8191 fix hadolint errors 2025-11-24 00:20:42 +00:00
Adam Outler 4770ee5942 undo previous change for unwritable 2025-11-23 23:19:12 +00:00
Adam Outler 5cd53bc8f9 Storage permission fix 2025-11-23 22:58:45 +00:00
Adam Outler 5e47ccc9ef Shell Check fixes 2025-11-23 22:13:01 +00:00
Adam Outler 35b7e80be4 Remove additional "tests" from instructions. 2025-11-23 16:43:28 +00:00
Adam Outler 07eeac0a0b remove redefined variable 2025-11-23 16:38:03 +00:00
Adam Outler 240d86bf1e docker tests 2025-11-23 16:31:04 +00:00
Adam Outler 274fd50a92 Adjust healthchecks and fix docker test scripts 2025-11-23 15:56:42 +00:00
Adam Outler bbf49c3686 Don't kill container on backend restart commanded 2025-11-23 01:27:51 +00:00
Adam Outler e3458630ba Convert from crond to supercronic 2025-11-23 01:14:21 +00:00
Adam Outler aee5e04b9f fix(ci): Correct quoting in code_checks workflow (again) 2025-11-20 05:01:08 +01:00