Skip to main content

NetBox plugin for application landscape mapping, KPIs, facility comparison, and sector setup bundles

Project description

netbox-it-landscape

🇫🇷 Version française

NetBox plugin for application landscape cartography, a native integration of the it-landscape project features: business, application and flow views — plus KPI dashboards, facility comparison and a setup wizard.

Why a plugin?

The original it-landscape project runs next to NetBox (API reads + app:XXX tags). This plugin moves the cartography inside NetBox:

it-landscape concept In the plugin
Facility NetBox Site (native)
Business domain BusinessDomain model (attached to the site)
Process BusinessProcess model
Application (criticality, interfaces…) Application model — unique in the referential, attached to N processes
multiEtablissement flag Derived: an application linked to processes of several sites is multi-site
Trigram (JSON join key) Removed — replaced by real relations (FK / M2M)
Application flow (protocol, message, EAI…) ApplicationFlow model (with facility FK)
Servers linked by app:XXX tag Direct M2M relations to VM / Device

Native integration benefits: NetBox changelog and journal on every object, per-object permissions, global search, REST API + filters, custom fields, tags, and contextual panels injected on Site / VM / Device pages.

Features

  • Business view (/plugins/it-landscape/metier/): facilities → colored domains → processes → application cards with criticality and active interfaces. Detailed mode and condensed, print-friendly landscape mode.
  • Application view (/plugins/it-landscape/applicatif/): referential applications with their servers (VMs/devices), IPs and roles.
  • Flow view (/plugins/it-landscape/cartographie-flux/): filterable table (facility, interface, protocol, EAI) + source → target SVG diagram colored by interface type.
  • KPI summary (/plugins/it-landscape/synthese/): key counters, attention points (critical apps without server/monitoring…), EAI dependency, most connected applications, top vendors.
  • Facility comparison (/plugins/it-landscape/comparaison/): similarity matrix (Jaccard), already-mutualized applications, convergence opportunities (same process, different applications), facility-specific applications.
  • Setup wizard (/plugins/it-landscape/initialisation/): ready-to-use modeling bundles — Hospital IS (SIH) (admissions, EHR, pharmacy, imaging… with HL7/DICOM flows through an EAI) and Manufacturing (ERP, MES, SCADA, WMS… with OPC-UA/EDI flows through an ESB) — domain/process structure + sample applications, VLANs, VMs and flows, in one click.
  • Multilingual: English interface with a full French translation (follows the NetBox user language preference).
  • Full CRUD: domains, processes, applications, flows (forms, filters, bulk delete, changelog, journal).
  • REST API: /api/plugins/it-landscape/… (4 endpoints, filters included).
  • NetBox global search: applications, flows, domains, processes indexed.
  • Contextual panels: applications shown on VM / Device pages, cartography summary on the Site page.
  • it-landscape data import: import_it_landscape management command.

Screenshots

KPI summary

KPI summary

Condensed business landscape

Business landscape

Application view

Application view

Flow view

Flow view

Facility comparison

Facility comparison

Installation

pip install netbox-it-landscape   # or pip install -e /path/to/the/repo

In configuration.py (or /etc/netbox/config/plugins.py with netbox-docker):

PLUGINS = ["netbox_it_landscape"]

Then:

python manage.py migrate

Development with the it-landscape Docker stack

The docker-compose.override.yml file provided in the it-landscape repository mounts this plugin into the NetBox container, installs it in editable mode and enables it. From the it-landscape repository:

docker compose --profile netbox up -d --force-recreate netbox

Importing existing data

The it-landscape project JSON files (<facility>.json, <facility>.flux.json, <facility>.infra.json, trigrammes.json) can be imported in one command:

python manage.py import_it_landscape /opt/it-landscape-data --create-sites --with-infra
  • Sites are resolved by name (--create-sites creates missing ones).
  • Applications are unified by name: an application present in several facilities becomes a single multi-site record. Trigrams from the JSON files are only used as a resolution key during import.
  • --with-infra also creates the test infrastructure: VMs (vCPU, RAM, disk, eth0 interface, primary IP, app:XXX tag) from *.infra.json, VLANs, prefixes and gateways from *.network.json.
  • NetBox VMs are attached to applications via the *.infra.json files.
  • Applications referenced only by flows (EAI, monitoring…) are created in an "Out of business referential" domain.
  • The command is idempotent (safe to re-run, no duplicates).

Compatibility

  • NetBox ≥ 4.0 (tested on 4.3)
  • Python ≥ 3.10

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_it_landscape-0.2.0.tar.gz (61.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_it_landscape-0.2.0-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file netbox_it_landscape-0.2.0.tar.gz.

File metadata

  • Download URL: netbox_it_landscape-0.2.0.tar.gz
  • Upload date:
  • Size: 61.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for netbox_it_landscape-0.2.0.tar.gz
Algorithm Hash digest
SHA256 99523f63de5fa866dc2edf9c1da3a1fd9670e909d88955a7548127e9828ae8fc
MD5 28ce22564afa07d75e6762c1eee5bf07
BLAKE2b-256 e2568ae5b5f03aaf96e1028d04e902b523ba41c76f9ce691e5ff0d662ffae58b

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_it_landscape-0.2.0.tar.gz:

Publisher: publish.yml on lquastana/netbox-it-landscape

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_it_landscape-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_it_landscape-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a14675c945c5e46aad5d619dab397605a5e857a7d85c469a14cd43f794f7ea4
MD5 962a2caa2e8625d221855628e8f55801
BLAKE2b-256 909bf85cf2ff1e08c8f508bf093e6aebb138d1a82b4705ccd752c05da2c00e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_it_landscape-0.2.0-py3-none-any.whl:

Publisher: publish.yml on lquastana/netbox-it-landscape

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page