Infrahub by OpsMill acts as a central hub to manage the data, templates and playbooks that powers your infrastructure. At its heart, Infrahub is built on 3 fundamental pillars:
Infrahub Sync is a versatile Python package that synchronizes data between a source and a destination system. It builds on the robust capabilities of diffsync
to offer flexible and efficient data synchronization across different platforms, including Netbox, Nautobot, and Infrahub. This package features a Typer-based CLI for ease of use, supporting operations such as listing available sync projects, generating diffs, and executing sync processes.
Requirements
Please refer to the Infrahub Sync documentation.
.
├── LICENSE.txt
├── README.md
├── examples
│ ├── infrahub_to_peering-manager
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── peeringmanager
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ ├── ipfabric_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── ipfabricsync
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ ├── librenms_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── librenms
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ ├── nautobot-v1_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── nautobot
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ ├── nautobot-v2_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── nautobot
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ ├── netbox_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── netbox
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ ├── observium_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ │
│ │ └── observium
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ └── peering-manager_to_infrahub
│ ├── config.yml
│ ├── infrahub
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ │
│ └── peeringmanager
│ ├── __init__.py
│ ├── sync_adapter.py
│ └── sync_models.py
│
├── infrahub-sync
│ ├── infrahub_sync
│ │ ├── __init__.py
│ │ ├── adapters
│ │ │ ├── infrahub.py
│ │ │ ├── ipfabricsync.py
│ │ │ ├── librenms.py
│ │ │ ├── nautobot.py
│ │ │ ├── netbox.py
│ │ │ ├── observium.py
│ │ │ ├── peeringmanager.py
│ │ │ ├── rest_api_client.py
│ │ │ └── utils.py
│ │ │
│ │ ├── cli.py
│ │ ├── generator
│ │ │ ├── __init__.py
│ │ │ └── templates
│ │ │ ├── diffsync_adapter.j2
│ │ │ └── diffsync_models.j2
│ │ │
│ │ └── utils.py
│ │
│ └── tests
│ └── __init__.py
│
├── poetry.lock
├── potenda
│ └── potenda
│ └── __init__.py
│
└── pyproject.toml