Trishul SNMP Suite is a bundle-first SNMP lab and operations shell. The current
2.0.2 line keeps the FastAPI plus SQLite platform introduced in 2.0.0 and
adds the current hotfix cleanup around MIB Manager flows, exports, and deployment behavior while
keeping the familiar page-based operator shell as the release UI.
- one FastAPI application in
backend/app - restored release UI in
frontend/withDashboard,Simulator,Walk & Parse,Traps,MIB Browser,MIB Manager, andSettings - one unified
/api/...surface with no secondary/api/v2runtime - SQLite-backed state for settings, sessions, bundles, and notification history
- source-group-aware MIB status and export flows with a deduplicated active runtime view
- selected-module catalog export from
MIB Sourcesplus raw source-file download asMIBor zip - scoped MIB source filtering by
All,Module,Imports, orPath - bundle, catalog, and runtime services powered by
trishul-smiandtrishul-snmp - installer defaults to
8980with optionalBACKEND_PORTcompatibility alias - container-first logging to
stdout/stderrwith Docker rotation and quieter, event-focusedINFOlogs - one current installer for the suite image plus one pinned legacy installer for
1.4.1
Try the published release in one command:
curl -LfsS -o install-trishul-snmp-suite.sh \
https://raw.githubusercontent.com/tosumitdhaka/trishul-snmp-suite/main/install-trishul-snmp-suite.sh \
&& bash install-trishul-snmp-suite.sh upIf you want to pin the installer to a specific release, replace main in the
URL with a release tag such as v2.0.2.
From a local checkout, start the published image with:
./install-trishul-snmp-suite.sh upBuild and run the current checkout with:
./install-trishul-snmp-suite.sh up-localDefault access:
- app UI:
http://localhost:8980 - API docs:
http://localhost:8980/docs - default login:
admin/admin123
Optional compatibility access can be added with BACKEND_PORT=<port> if you want the same app exposed on a second host port.
If you redeploy without APP_PORT or BACKEND_PORT overrides, the installer
reuses the current host mapping. Set BACKEND_PORT=none on the next restart if
you want to remove the compatibility alias.
Change the default credentials immediately in Settings.
The current installer accepts:
--platform linux/amd64|linux/arm64--image <ref>TRISHUL_IMAGEDOCKER_PLATFORMTRISHUL_DOCKER_PLATFORM
Examples:
./install-trishul-snmp-suite.sh up --platform linux/arm64
./install-trishul-snmp-suite.sh up --image ghcr.io/tosumitdhaka/trishul-snmp-suite:latest
./install-trishul-snmp-suite.sh up-local --image trishul-snmp-suite-local:test --platform linux/amd64If you need the pinned merged runtime from the old line:
This section is intentional compatibility guidance for coexistence or rollback,
not the normal 2.0.2 runtime path.
./install-trishul-snmp-suite-v1.4.1.sh upThat path keeps:
- container name
trishul-snmp - volume name
trishul-snmp-data - parallel-safe defaults
8081,2161/udp, and2162/udp
It also accepts the same --platform and --image overrides.
Dashboard: runtime status, counters, and shortcutsSimulator: responder lifecycle, custom OID data, and activity logWalk & Parse: SNMP walk execution, parsing, filtering, and exportTraps: listener control, trap send, varbind editing, and received-event historyMIB Browser: module or OID tree, search, resolve, and detail inspectionMIB Manager: loaded MIB status, upload, reload, dependency fetch, and trap catalogSettings: auth rotation, app settings, stats reset or export, and product metadata
The current 2.0.2 path is built around:
backend/appas the live FastAPI runtimefrontend/as the authored release shell copied intofrontend/distbackend/data/trishul_v2.sqlite3as the main durable data storebackend/data/bundles/sets/andbackend/data/bundles/cache/tsmi/for bundle artifactsbackend/data/mibs/andbackend/data/configs/custom_data.jsonfor operator-shell runtime state/api/wsfor live shell events such as status, stats, traps, and simulator log updates
There is no Nginx layer in the current release path. Real-time updates come
directly from FastAPI over /api/ws; the old split-runtime WebSocket bridge is
gone.
Start with:
Operator guides:
Development and release:
Typical verification commands from the repo root:
npm --prefix frontend run build
.venv/bin/python -m pytest backend/ -q
.venv/bin/python scripts/check_backend_coverage.py
docker build -t trishul-snmp-suite-local:rc .For Docker-backed local validation:
./install-trishul-snmp-suite.sh up-local
./install-trishul-snmp-suite.sh logs
./install-trishul-snmp-suite.sh statusThe current 2.0.2 line delivers the rewritten backend platform, SQLite
persistence, the bundle-first MIB pipeline, and the shipped operator UI with
the current hotfix cleanup around source filtering, scoped export/download
flows, and deployment defaults.
The first planned 2.1.0 follow-up keeps the current operator shell and
surfaces backend-delivered features that are not yet exposed in the UI, such as
bundle lifecycle controls, saved profiles, notification replay, direct manager
operations, and system diagnostics.
Deferred beyond 2.0.x:
- SNMPv3 runtime and UI parity
- writable
SETresponder behavior - bundle import and export workflows
- one-click ecosystem demo flows
- distributed polling or orchestration features
See docs/roadmap.md, docs/issue_tracker.md, and docs/changelog.md for the maintained release record.
Contributions are welcome.
Useful starting points:
MIT. See LICENSE.
