Commit graph

31 commits

Author SHA1 Message Date
5429c07342 Fix portable Python: ship python/runtime and relink .venv on install (0.4.6).
Some checks failed
Release Windows / build (push) Has been cancelled
0.4.5 venv pointed at the build machine user profile; other PCs failed to start API.
Bundle stdlib under python/runtime, repair pyvenv.cfg, and health-check before start.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 15:48:57 +08:00
97393cd407 Release 0.4.5: installer DB wizard, credential key, lean offline Setup.
Choose bundled or external PostgreSQL in the Setup wizard with connection
validation; optional NETX_CREDENTIAL_SECRET_KEY; single desktop shortcut;
faster uninstall and tray startup for offline Windows packages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 14:44:40 +08:00
86dfd41f44 Fix Windows install start: writable runtime logs and robust Postgres bootstrap.
Some checks failed
Release Windows / build (push) Has been cancelled
API logs go under ProgramData; first-run verifies CREATE ROLE/DATABASE and login.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 11:22:01 +08:00
41ab4921a0 Fix Windows PowerShell parsing on Server 2012: UTF-8 BOM scripts.
Chinese packaging scripts without BOM were misread as ANSI and failed at first-run.
Document that bundled Python 3.13+ needs Server 2016+ / Win10+.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 10:53:29 +08:00
3a0de0d7fb Scale biz_state collects with dedicated workers and non-blocking UI poll.
Add PG claim/NE mutex, persist pool, and biz_state_worker replicas; fix double-SSH and row-count bugs; stop 32m collectNow while-loop from freezing page switches.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 17:00:37 +08:00
b9be545a75 Add opt-in per-NE CLI exec_policy for MCP/API exec.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 09:27:40 +08:00
bd01440e9d Fix empty Cisco IOSv CLI output and harden Windows stop/start.
Drain leftover prompts before Netmiko send_command, and make stop/start tolerate orphan workers and locked log files.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 03:31:09 +08:00
4295b6d677 Add WebCRT R1 audit e2e helper that reads credentials from the environment.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 22:02:52 +08:00
1ef43fdcd4 Unify UME World as hex nav with conditional flat world map.
Seed a unique L2 World canvas under the UME World container, show the flat map only when nested regions have NEs, pack blocks without overlap, allow drag overrides on the world map while forbidding direct NE adds, and hide the world-map truncation banner.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 00:51:08 +08:00
03ab449277 Add HTTP concurrency smoke probe for running netx API.
Measure public and authed read latency under worker load and classify Windows ephemeral-port exhaustion separately from server failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 18:25:27 +08:00
f1263b0848 Start API and collector worker together from one-click scripts.
Default start_netx.ps1/sh now set NETX_RUN_INLINE_SCHEDULERS=false and launch netx_api.worker; stop scripts tear the worker down with the API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 18:20:13 +08:00
96be90bd1a Harden retention under one-click start: UME raw caps and collection TTL.
Keep inline schedulers as the start_netx.ps1 default while bounding UME raw_json and pruning old NE collection dirs on startup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 18:16:30 +08:00
65e0713e94 fix(startup): defer alarm pull 60s; health probe accepts only HTTP 200
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 21:32:07 +08:00
f562f50953 fix(startup): defer UME alarm sync so /health is ready quickly
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 21:28:57 +08:00
d05b64b4c1 fix(scripts): verify netx API after background start and set PYTHONPATH
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 21:25:58 +08:00
dba8d38f5c fix(scripts): default Node 24 path and add --api-only
Use /usr/local/nodejs/node-v24.16.0-linux-x64 for web dev by default; add --api-only to start API without Node on the host.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 15:53:30 +08:00
f2d686eba8 fix(scripts): set web port 8505 and require Node 20+
Change Linux default web port to 8505, add NODE_CMD/NPM_CMD support with version check, and declare Node 20.19+ in web/package.json engines.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 15:15:00 +08:00
823a5819f7 fix(scripts): use host Python and fix Linux start script
Remove venv requirement, default PYTHON_CMD to /usr/local/python_env_new/bin/python3, and fix web startup without bash -lc. Add .gitattributes to keep shell scripts LF.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 14:44:35 +08:00
4d4deb51a0 chore(scripts): add Linux start/stop helpers
Add bash scripts to start/stop netx API (8890) and Vite web (8055) with PID/log files under scripts/.run.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 11:23:59 +08:00
7f2e4ec393 feat(UME): 增加RESTCONF对接与可视化运维页
- 支持 token 获取/续约/断开、DB共享缓存与跨进程单飞锁、keepalive 保活

- 新增 inventory/current/history 告警同步入库与查询接口,前端增加 UME 对接页面与分页

- 修复 stop_netx.ps1 在部分 PowerShell 版本下 Stop-Job -Force 报错

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 01:36:53 +08:00
ab1b76dd47 feat(start): auto-install web dependencies when WithWeb is enabled
Install frontend npm dependencies automatically in start_netx so fresh machines can bring up the 5173 Vite UI without separate manual npm install.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 17:38:14 +08:00
d529ff70ff fix(start): launch Vite in foreground API mode when WithWeb is set
Start the web dev server for -WithWeb even without -Background so 5173 is available in the common foreground run path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 17:26:26 +08:00
dbe3062d1b fix(setup): avoid DO $$ in init_pg role bootstrap
Replace the DO-block role upsert with explicit role existence check plus CREATE/ALTER statements, preventing PowerShell/psql quoting issues on some Windows setups.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 17:17:30 +08:00
a0264e5e94 fix(setup): escape DO $$ in PowerShell heredoc
Use escaped $$ delimiters inside the SQL block so PowerShell does not treat them as interpolation and break init_pg on first-run setup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 17:13:31 +08:00
46745b372f fix(setup): escape PowerShell vars in printed DATABASE URL
Use ${...} interpolation in init_pg output to avoid InvalidVariableReferenceWithDrive when rendering user:password@host:port.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 17:00:04 +08:00
32bfa78383 feat(setup): add idempotent PostgreSQL bootstrap script for first install
Provide a Windows init script to create/repair the netx role and database with a connection check, and document the step in README so new machines avoid initial auth failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 16:47:12 +08:00
d48cd000d3 fix(scripts): harden stop_netx and tweak start_netx
- Add timeout around Get-NetTCPConnection to avoid hangs; filter invalid PIDs; exit 0 on completion.
- Minor start_netx adjustments.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 11:06:18 +08:00
45463027df fix: declare httpx dependency for netx API
ap_client uses httpx; missing from requirements caused ModuleNotFoundError when using -SkipInstall.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-04 12:28:26 +08:00
f718807fa4 docs: document full environment setup and enforce venv startup
Add a from-scratch setup section covering Python, Node/npm, PostgreSQL, and startup commands, and update the startup script to always create/use .venv instead of falling back to system Python.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 23:53:24 +08:00
e50c0b1f0b chore: ignore runtime process artifacts
Exclude scripts/.run runtime logs and pid files from version control and remove previously tracked artifacts from the repository index.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 23:44:44 +08:00
f49c0b5bad feat: initialize netx ops tool repository
Set up netx as a standalone git-managed project with isolated Python dependencies, alarm ingestion/query APIs, oclaw bridge integration, and ops-focused UI enhancements including history and raw field access.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 23:43:21 +08:00