Commit Graph
100 Commits
Author SHA1 Message Date
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
Adam Outler e0c96052bb fix(ci): Correct quoting in code_checks workflow 2025-11-20 04:37:35 +01:00
Adam Outler fd5235dd0a CI Checks
Uses the new run_docker_tests.sh script which is self-contained and handles all dependencies and test execution within a Docker container. This ensures that the CI environment is consistent with the local devcontainer environment.

Fixes an issue where the job name 'test' was considered invalid. Renamed to 'docker-tests'.
Ensures that tests marked as 'feature_complete' are also excluded from the test run.
2025-11-20 04:34:59 +01:00
Adam Outler f3de66a287 feat: Add run_docker_tests.sh for CI/CD and local testing
Introduces a comprehensive script to build, run, and test NetAlertX within a Dockerized devcontainer environment, replicating the setup defined in . This script ensures consistency for CI/CD pipelines and local development.

The script addresses several environmental challenges:
- Properly builds the  Docker image.
- Starts the container with necessary capabilities and host-gateway.
- Installs Python test dependencies (, , ) into the virtual environment.
- Executes the  script to initialize services.
- Implements a healthcheck loop to wait for services to become fully operational before running tests.
- Configures  to use a writable cache directory () to avoid permission issues.
- Includes a workaround to insert a dummy 'internet' device into the database, resolving a flakiness in  caused by its reliance on unpredictable database state without altering any project code.

This script ensures a green test suite, making it suitable for automated testing in environments like GitHub Actions.
2025-11-20 04:19:30 +01:00
Adam Outler 4ccac66a73 Update Docker Compose documentation for volume usage
Clarified the preferred volume layout for NetAlertX and explained the bind mount alternative.
2025-11-17 18:31:37 -05:00
Adam Outler bb365a5e81 UID 20212 for read only before definition. 2025-11-17 20:57:18 +00:00
Adam Outler e2633d0251 Update from docker v3 to v6 2025-11-17 20:54:18 +00:00
Adam Outler 09c40e76b2 No git in Dockerfile generation. 2025-11-17 20:47:11 +00:00
Adam Outler abc3e71440 Remove redundant chown; read only version. 2025-11-17 20:45:52 +00:00
Adam Outler d13596c35c Coderabbit suggestion 2025-11-17 20:27:27 +00:00
Adam Outler 7d5dcf061c Add VERSION file creation 2025-11-17 15:18:41 -05:00
Adam Outler 6206e483a9 Remove files that shouldn't be in PR: db.php, cron files 2025-11-17 02:57:42 +00:00
Adam Outler f1ecc61de3 Tests Passing 2025-11-17 02:45:42 +00:00
Adam Outler 8a89f3b340 Remove VERSION file from repo and generate dynamic 2025-11-17 02:18:00 +00:00
Adam Outler a93e87493f Update Python setup action to version 5 2025-11-16 20:33:53 -05:00
Adam Outler c7032bceba Upgrade Python setup action and dependencies
Updated Python setup action to version 5 and specified Python version 3.11. Also modified dependencies installation to include pyyaml.
2025-11-16 20:32:08 -05:00
Adam Outler 0cd7528284 Fix cron restart 2025-11-17 00:20:08 +00:00
Adam Outler 2309b8eb3f Add linting and testing steps to workflow 2025-11-16 18:58:20 -05:00
Adam Outler 734db423ee Add missing .VERSION file 2025-11-13 00:35:06 +00:00
Adam Outler d23bf45310 Merge branch 'jokob-sk:main' into port-fixes 2025-11-12 15:02:36 -05:00
Adam Outler 9c366881f1 Fix for ports 2025-11-12 12:02:31 +00:00
Adam Outler c5a1f19567 Attempt to kick off coderabbit
Removed unnecessary blank lines in the nginx configuration template.
2025-11-09 16:56:47 -05:00
Adam Outler 4161261c43 Remove unused files 2025-11-09 17:38:31 +00:00
Adam Outler 179821a527 fix workspace 2025-11-09 17:34:31 +00:00
Adam Outler 2028b1a6e3 Merge remote-tracking branch 'origin/main' into data_and_tmp_standardization 2025-11-09 17:14:11 +00:00
Adam Outler 5b871865db /data and /tmp standarization 2025-11-09 17:03:25 +00:00
Adam Outler 7037cf1bc6 fxi permissions on synology inherited 2025-11-02 10:26:21 +00:00
Adam Outler dde542c484 make /services/scripts executable by default 2025-11-02 00:12:50 +00:00
Adam Outler 23a0fac973 Address Coderabbit issue 2025-11-01 23:54:54 +00:00
Adam Outlerandcoderabbitai[bot] db5381db14 Update test/docker_tests/test_docker_compose_scenarios.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-11-01 15:12:54 -04:00
Adam Outler f1fbc47508 coderabbit required fix 2025-11-01 19:04:31 +00:00
Adam Outlerandcoderabbitai[bot] 2a9d352322 Update test/docker_tests/configurations/test_all_docker_composes.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-11-01 14:57:57 -04:00
Adam Outler 51aa3d4a2e coderabbit 2025-11-01 18:53:07 +00:00
Adam Outler 70373b1fbd Address coderabbit-discoverd issues 2025-11-01 18:18:32 +00:00
Adam Outler 79887f0bd7 Merge branch 'jokob-sk:main' into FEAT--Make-Errors-More-Helpful 2025-10-31 23:59:45 -04:00
Adam Outler a6bc96d2dd Corrections on testing and behaviors 2025-11-01 03:57:52 +00:00
Adam Outler 8edef9e852 All errors have documentation links 2025-10-31 22:24:31 +00:00
Adam Outler 1e63cec37c Revise tests. Use docker-compose.yml where possible 2025-10-31 22:24:08 +00:00