trishul-snmp-suite

Development Setup

This repo targets the 2.0.2 runtime built from:

Prerequisites

Net-SNMP CLI tools are not required. The 2.0.2 runtime uses an in-process SNMP stack.

  1. Use the repo-root virtual environment for backend work.
  2. Rebuild frontend/dist after frontend changes.
  3. Run the test suite before merging runtime, API, or packaging changes.

Local Full Stack With The Installer

Closest path to the shipped runtime:

./install-trishul-snmp-suite.sh up-local

Useful companion commands:

./install-trishul-snmp-suite.sh build-local
./install-trishul-snmp-suite.sh restart-local
./install-trishul-snmp-suite.sh logs
./install-trishul-snmp-suite.sh status
./install-trishul-snmp-suite.sh down

Use this path for:

Native Backend Loop

From the repo root:

python3 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements-dev.txt
cd frontend && npm ci && npm run build && cd ..
uvicorn app.main:app --app-dir backend --reload --host 0.0.0.0 --port 8000

Then open:

Notes:

Frontend Iteration

After frontend edits, rebuild:

cd frontend
npm ci
npm run build

frontend/ is a static shell build with no dev server.

Running Tests

From the repo root:

.venv/bin/python -m pytest backend/ -q

Current test layout:

Expected result: backend tests pass; the live UDP tests are skipped unless TRISHUL_ENABLE_LIVE_SNMP_RUNTIME=1 is set.

To run live tests:

TRISHUL_ENABLE_LIVE_SNMP_RUNTIME=1 .venv/bin/python -m pytest backend/tests/live -v

For release-facing backend changes, also run:

.venv/bin/python scripts/check_backend_coverage.py

Compose Path

docker compose up -d exists as a convenience path, but the canonical operator and release workflow is install-trishul-snmp-suite.sh.