Nautobot Digital Twin
Project description
Nautobot Digital Twin
An app for Nautobot that creates and manages disposable lab environments ("digital twins") from Nautobot source-of-truth data.
What this app does
- Builds topology definitions from Nautobot
Location,Device,Interface, andCabledata. - Deploys and destroys labs using containerlab (SSH to a lab host).
- Supports Golden Config integration:
- deploy with intended config files,
- push intended config to running labs,
- execute "generate intended config" and push in one workflow.
- Adds Location Job Buttons for quick start/stop operations.
Installation
Install from PyPI:
pip install nautobot-app-digital-twin
Enable it in nautobot_config.py:
PLUGINS = [
"nautobot_digital_twin",
]
PLUGINS_CONFIG = {
"nautobot_digital_twin": {
"BACKEND": "containerlab",
"CONTAINERLAB_SSH_HOST": "172.16.6.128",
"CONTAINERLAB_SSH_PORT": 22,
"CONTAINERLAB_SSH_USER": "clab",
"CONTAINERLAB_SSH_PASSWORD": "clab",
}
}
Run post-upgrade and restart services:
nautobot-server post_upgrade
Optional: create/update Location job buttons:
nautobot-server ensure_digital_twin_job_buttons
Key settings
Common PLUGINS_CONFIG["nautobot_digital_twin"] settings:
BACKEND: must becontainerlab(only supported backend)LOCATION_TYPE_NAME: Location type where Start/Stop buttons are shownCONTAINERLAB_SSH_*: credentials/host for remote containerlab serverCONTAINERLAB_PLATFORM_MAP: map platform names to node kind/imageREMOVE_CONFIG_LINES/REPLACE_CONFIG_PATTERNS/PLATFORM_ADD_CONFIG_LINES: intended-config filtering pipelineDIGITAL_TWIN_AUTO_DESTROY_MINUTES: automatic cleanup timer
See the full docs for all available options.
Documentation
- User Guide: User Guide
- Admin Guide: Admin Guide
- Developer Guide: Developer Guide
- Release Notes: Release Notes
Development
This repository includes:
- GitHub CI and release workflows (lint, test, docs build, PyPI publish).
- MkDocs configuration (
mkdocs.yml) and Read the Docs config (.readthedocs.yaml).
Run docs locally:
poetry install --with docs
poetry run mkdocs serve
Support
- Open an issue in this repository.
- For Nautobot community help, join
#nautoboton Network to Code Slack.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nautobot_app_digital_twin-0.1.0.tar.gz.
File metadata
- Download URL: nautobot_app_digital_twin-0.1.0.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28a03bf9d01758b7efd97bbce8db58d2c1ae8e7f8247bfa53efb5db1c7d514aa
|
|
| MD5 |
bc357201c1c7c44b101674c1045311b9
|
|
| BLAKE2b-256 |
461c64aa3ee4ff77b403e6760f53d64c03ded3e73e5e167aff8d6be6b6e59db8
|
Provenance
The following attestation bundles were made for nautobot_app_digital_twin-0.1.0.tar.gz:
Publisher:
release.yml on bsmeding/nautobot-app-digital-twin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_app_digital_twin-0.1.0.tar.gz -
Subject digest:
28a03bf9d01758b7efd97bbce8db58d2c1ae8e7f8247bfa53efb5db1c7d514aa - Sigstore transparency entry: 1435942767
- Sigstore integration time:
-
Permalink:
bsmeding/nautobot-app-digital-twin@3cb3175fc78b67a03a9e5e0b9101d16557a75e5b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/bsmeding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3cb3175fc78b67a03a9e5e0b9101d16557a75e5b -
Trigger Event:
release
-
Statement type:
File details
Details for the file nautobot_app_digital_twin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nautobot_app_digital_twin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a25a64e38c7ec1056a15f54c945324c95dffe54c7985ceefb99a98ac2cc2006c
|
|
| MD5 |
eb13a759885c21db170474581d982231
|
|
| BLAKE2b-256 |
3f820abc03106a23a0c47ef0ad6463fcfa917694c76e28c399911ff12277feae
|
Provenance
The following attestation bundles were made for nautobot_app_digital_twin-0.1.0-py3-none-any.whl:
Publisher:
release.yml on bsmeding/nautobot-app-digital-twin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_app_digital_twin-0.1.0-py3-none-any.whl -
Subject digest:
a25a64e38c7ec1056a15f54c945324c95dffe54c7985ceefb99a98ac2cc2006c - Sigstore transparency entry: 1435942772
- Sigstore integration time:
-
Permalink:
bsmeding/nautobot-app-digital-twin@3cb3175fc78b67a03a9e5e0b9101d16557a75e5b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/bsmeding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3cb3175fc78b67a03a9e5e0b9101d16557a75e5b -
Trigger Event:
release
-
Statement type: