netx/PROD_MIN_CHECKLIST.md
oliver 477ec4b120 Add Windows packaging with bundled UI and dual-mode PostgreSQL.
Ship installable releases via zip/Inno Setup with optional bundled Postgres, API-hosted SPA, manual update path, and CI workflow for future tag builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 22:52:03 +08:00

36 lines
2.3 KiB
Markdown

# netx Production Minimum Checklist
## Security
- Prefer empty `NETX_AUTH_SECRET` so each install auto-writes `data/auth/jwt_secret` (do not commit that file). Set an explicit secret only for multi-node shared signing.
- Leave `NETX_DOCS_ENABLED` unset/false so `/docs` and OpenAPI stay off (set `true` only in lab).
- Set `NETX_UME_VERIFY_TLS=true` (or pin a CA) in production; default is `false` for lab self-signed UME.
- Binding `NETX_HOST` to a non-loopback address with lab defaults is refused unless `NETX_ALLOW_INSECURE_DEFAULTS=1`.
- Prefer scoped API tokens (MCP default excludes `webcrt:session` / `sql:query`).
- Keep `.env` and `oclaw/_local/system.env` out of Git (already ignored).
- Restrict access to `127.0.0.1` or internal network only.
## Runtime
- Ensure PostgreSQL backup policy exists (daily logical backup + retention).
- Schema: API auto-runs `alembic upgrade head` on start (see [docs/ALEMBIC.md](docs/ALEMBIC.md)). No manual migrate flag required for normal deploys.
- Collectors: default inline with the API (normal frontend+backend start is enough). Optional split: `NETX_RUN_INLINE_SCHEDULERS=false` + `python -m netx_api.worker`. Check `/health/ready` → `schedulers.mode`.
- Run `oclaw` and `netx` under process managers (systemd/Windows service/pm2 equivalent).
- Enable auto-restart and startup-at-boot for both services.
## Observability
- Health checks:
- `oclaw`: `/admin/api/ops-ai/health` (with Bearer token)
- `netx` liveness: `/health/live`
- `netx` readiness: `/health/ready`
- `netx` integrations: `/v1/integrations/status`
- Alert when `dsh_alarm_hub` has no subscribers while key-alert rules are enabled (optional).
- Alert when `db.status != up` or `latency_ms` exceeds threshold.
## Operations
- Keep one documented restart order:
1) PostgreSQL
2) `oclaw`
3) `netx` (and worker if split)
- Validate after restart:
- `GET /v1/integrations/status` returns all major components as `up`.
- Keep parser config and importer changes versioned and reviewed before release.
- **Windows packaged installs:** program under `%ProgramFiles%\NetX`, data under `%ProgramData%\NetX` (see [packaging/README.md](packaging/README.md)). Prefer `update_netx.ps1` or Setup upgrade so `pgdata` / `.env` are preserved. Linux continues to manage Postgres separately.