first commit
This commit is contained in:
35
docs/development/structure.md
Normal file
35
docs/development/structure.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Project Structure
|
||||
|
||||
This document provides an overview of the NetBox LibreNMS Plugin's codebase organization.
|
||||
|
||||
## Main Directories
|
||||
|
||||
- `netbox_librenms_plugin/` — Main plugin code
|
||||
- `views/` — Custom views for devices, mappings, VMs, etc.
|
||||
- `base/` — Abstract base views for shared logic (interfaces, cables, IP addresses, VLANs)
|
||||
- `object_sync/` — Per-model sync views registered as tabs on Device/VM detail pages
|
||||
- `sync/` — POST-only views that apply sync changes (interfaces, cables, IP addresses, VLANs, devices)
|
||||
- `models.py` — Database models
|
||||
- `forms.py` — Custom forms
|
||||
- `tables/` — Table definitions for UI
|
||||
- `templates/` — Custom templates
|
||||
- `netbox_librenms_plugin/` — Main template directory
|
||||
- `inc/` — Shared template fragments (e.g., paginator)
|
||||
- `api/` — API serializers, views, and URLs
|
||||
- `import_utils/` — Import pipeline logic, split into focused modules
|
||||
- `device_operations.py` — Device validation, single-device import, filtered fetch
|
||||
- `vm_operations.py` — VM creation and import logic
|
||||
- `bulk_import.py` — Multi-device / bulk import orchestration
|
||||
- `filters.py` — LibreNMS device filtering and retrieval
|
||||
- `permissions.py` — User permission checking helpers
|
||||
- `cache.py` — Cache key generation
|
||||
- `virtual_chassis.py` — Virtual chassis data helpers
|
||||
- `import_validation_helpers.py` — Validation state mutation during import (role/cluster/rack assignment, issue removal, status recalculation)
|
||||
- `migrations/` — Django migrations
|
||||
- `utils.py` — Utility functions
|
||||
- `navigation.py` — Menu/navigation integration
|
||||
- `static/` — Static assets (JS, CSS)
|
||||
- `netbox_librenms_plugin/` — Plugin-specific static files
|
||||
- `js/` — JavaScript files
|
||||
- `tests/` — Test suite
|
||||
- `docs/` — Documentation
|
||||
Reference in New Issue
Block a user