https://github.com/iss-world/nautobot-app-vpn
https://github.com/iss-world/nautobot-app-vpn
cytoscape nautobot-plugin neo4j network-automation topology vpn
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iss-world/nautobot-app-vpn
- Owner: iss-world
- License: other
- Created: 2025-07-11T11:03:06.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-31T12:07:37.000Z (2 months ago)
- Last Synced: 2025-07-31T14:09:32.999Z (2 months ago)
- Topics: cytoscape, nautobot-plugin, neo4j, network-automation, topology, vpn
- Language: Python
- Homepage:
- Size: 2.89 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Nautobot VPN App
![]()
An App for Nautobot## Overview
A Nautobot plugin designed to model, visualize, and manage VPN infrastructure, including IPSec tunnels, IKE gateways, crypto profiles, and dynamic topology diagrams sourced from Neo4j.---
## Key Features
- IKE Gateway and IPSec Tunnel modeling
- Inline or default crypto profile selection
- Dynamic tunnel provisioning form with interface auto-selection
- Topology visualization via Neo4j + Cytoscape---
## Requirements
- Nautobot >= 2.2.0
- Python >= 3.8
- Neo4j >= 5.0 (for topology view)---
## Installation
### 1. Install via pip
```bash
pip install nautobot-app-vpn
```### 2. Enable the plugin
In your `nautobot_config.py`, add to `PLUGINS` and configure Neo4j settings:
```python
PLUGINS = [
"nautobot_app_vpn",
# ...
]PLUGINS_CONFIG = {
"nautobot_app_vpn": {
"neo4j": {
"uri": "bolt://neo4j:7687",
"user": "neo4j",
"password": "testneo4j", # Change this
}
}
}
```---
## Docker/Compose Setup (Optional)
If you are using `docker-compose`, include this plugin in your `plugin_requirements.txt`:
```text
nautobot_app_vpn
```Then rebuild Nautobot:
```bash
docker-compose build nautobot
```---
## Usage
### Topology View
The plugin provides a Neo4j-powered dashboard under **Plugins > VPN Dashboard**, enabling visualization of active IPSec tunnels and their metadata.
### Forms for Provisioning
- Auto-select interfaces based on ISP zone tags
- Auto-populate IPs from synced device data
- Support dynamic IP tunnels
- Create or select IKE/IPsec crypto profiles---
## Screenshots







---
## Development
### Clone and install in editable mode:
```bash
git clone https://github.com/iss-world/nautobot-app-vpn.git
cd nautobot-app-vpn
poetry install
```### Run linters locally
```bash
ruff check .
yamllint .
```---
## Contributing
Pull requests are welcome! Please ensure code follows Nautobot plugin guidelines and passes all checks.
---
## License
Apache License 2.0. See [LICENSE](https://github.com/iss-world/nautobot-app-vpn/blob/main/LICENSE) for details.
---
## Author
Maintained by [@npolisetty26](https://github.com/npolisetty26)