# Nautobot Single Source of Truth (SSoT)
<p align="center">
<img src="https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/icon-nautobot-ssot.png" class="logo" height="200px">
<br>
<a href="https://github.com/nautobot/nautobot-app-ssot/actions"><img src="https://github.com/nautobot/nautobot-app-ssot/actions/workflows/ci.yml/badge.svg?branch=main"></a>
<a href="https://docs.nautobot.com/projects/ssot/en/latest/"><img src="https://readthedocs.org/projects/nautobot-plugin-ssot/badge/"></a>
<a href="https://pypi.org/project/nautobot-ssot/"><img src="https://img.shields.io/pypi/v/nautobot-ssot"></a>
<a href="https://pypi.org/project/nautobot-ssot/"><img src="https://img.shields.io/pypi/dm/nautobot-ssot"></a>
<br>
An <a href="https://networktocode.com/nautobot-apps/">App</a> for <a href="https://nautobot.com/">Nautobot</a>.
</p>
## Overview
An app for [Nautobot](https://github.com/nautobot/nautobot). This Nautobot app facilitates integration and data synchronization between various "source of truth" (SoT) systems, with Nautobot acting as a central clearinghouse for data - a Single Source of Truth, if you will.
The Nautobot SSoT app builds atop the [DiffSync](https://github.com/networktocode/diffsync) Python library and Nautobot's Jobs feature. This enables the rapid development and integration of Jobs that can be run within Nautobot to pull data from other systems ("Data Sources") into Nautobot and/or push data from Nautobot into other systems ("Data Targets") as desired. Key features include the following:
* A dashboard UI lists all registered Data Sources and Data Targets and provides a summary of the synchronization history.
* The outcome of executing of a data synchronization Job is automatically saved to Nautobot's database for later review.
* Detailed logging output generated by DiffSync is automatically captured and saved to the database as well.
### Integrations
This Nautobot application framework includes the following integrations:
- Cisco ACI
- Bootstrap
- Citrix ADM
- Arista CloudVision
- Device42
- Cisco DNA Center
- Infoblox
- IPFabric
- Itential
- Cisco Meraki
- ServiceNow
- Slurpit
Read more about integrations [here](https://docs.nautobot.com/projects/ssot/en/latest/user/integrations). To enable and configure integrations follow the instructions from [the install guide](https://docs.nautobot.com/projects/ssot/en/latest/admin/install/#integrations-configuration).
### Screenshots
---
The dashboard view of the app.
![Dashboard View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/dashboard_initial.png)
---
The detailed view of the example data source that is prepackaged within this app.
![Data Source Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/data_source_detail.png)
---
The detailed view of an executed sync.
![Sync Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/sync_detail.png)
---
More screenshots can be found in the [Using the App](https://docs.nautobot.com/projects/ssot/en/latest/user/app_use_cases/) page in the documentation.
## Try it out!
This Nautobot app is installed in the Nautobot Community Sandbox found over at [demo.nautobot.com](https://demo.nautobot.com/)!
> For a full list of all the available always-on sandbox environments, head over to the main page on [networktocode.com](https://www.networktocode.com/nautobot/sandbox-environments/).
## Documentation
Full documentation for this app can be found over on the [Nautobot Docs](https://docs.nautobot.com) website:
* [User Guide](https://docs.nautobot.com/projects/ssot/en/latest/user/app_overview/) - Overview, Using the App, Getting Started, Developing Jobs.
* [Administrator Guide](https://docs.nautobot.com/projects/ssot/en/latest/admin/install/) - How to Install, Configure, Upgrade, or Uninstall the App.
* [Developer Guide](https://docs.nautobot.com/projects/ssot/en/latest/dev/contributing/) - Extending the App, Code Reference, Contribution Guide.
* [Release Notes / Changelog](https://docs.nautobot.com/projects/ssot/en/latest/admin/release_notes/).
## Note On Integration Compatability
The SSoT framework includes a number of integrations with external Systems of Record:
* Cisco ACI
* Bootstrap
* Citrix ADM
* Arista CloudVision
* Device42
* Cisco DNA Center
* Infoblox
* Itential
* Cisco Meraki
* ServiceNow
* Slurpit
> Note that the Arista CloudVision integration is currently incompatible with the [Arista Labs](https://labs.arista.com/) environment due to a TLS issue. It has been confirmed to work in on-prem environments previously.
### Contributing to the Documentation
You can find all the Markdown source for the App documentation under the [`docs`](https://github.com/nautobot/nautobot-app-ssot/tree/develop/docs) folder in this repository. For simple edits, a Markdown capable editor is sufficient: clone the repository and edit away.
If you need to view the fully-generated documentation site, you can build it with [MkDocs](https://www.mkdocs.org/). A container hosting the documentation can be started using the `invoke` commands (details in the [Development Environment Guide](https://docs.nautobot.com/projects/ssot/en/latest/dev/dev_environment/#docker-development-environment)) on [http://localhost:8001](http://localhost:8001). Using this container, as your changes to the documentation are saved, they will be automatically rebuilt and any pages currently being viewed will be reloaded in your browser.
Any PRs with fixes or improvements are very welcome!
## Questions
For any questions or comments, please check the [FAQ](https://docs.nautobot.com/projects/ssot/en/latest/user/faq/) first. Feel free to also swing by the [Network to Code Slack](https://networktocode.slack.com/) (channel `#nautobot`), sign up [here](http://slack.networktocode.com/) if you don't have an account.
## Acknowledgements
This project includes code originally written in separate Nautobot apps, which have been merged into this project:
- [nautobot-plugin-ssot-aci](https://github.com/nautobot/nautobot-plugin-ssot-aci):
Thanks
[@chadell](https://github.com/chadell),
[@dnewood](https://github.com/dnewood),
[@progala](https://github.com/progala),
[@ubajze](https://github.com/ubajze)
- [nautobot-plugin-ssot-bootstrap](https://github.com/nautobot/nautobot-plugin-ssot-bootstrap):
Thanks
[@bile0026](https://github.com/bile0026)
- [nautobot-plugin-ssot-citrix-adm](https://github.com/nautobot/nautobot-plugin-ssot-citrix-adm):
Thanks
[@jdrew82](https://github.com/jdrew82)
- [nautobot-plugin-ssot-arista-cloudvision](https://github.com/nautobot/nautobot-plugin-ssot-arista-cloudvision):
Thanks
[@burnyd](https://github.com/burnyd),
[@chipn](https://github.com/chipn),
[@jdrew82](https://github.com/jdrew82),
[@jvanderaa](https://github.com/jvanderaa),
[@nniehoff](https://github.com/nniehoff),
[@qduk](https://github.com/qduk),
[@ubajze](https://github.com/ubajze)
- [nautobot-plugin-ssot-device42](https://github.com/nautobot/nautobot-plugin-ssot-device42):
Thanks
[@jdrew82](https://github.com/jdrew82)
- [nautobot-plugin-ssot-dna-center](https://github.com/nautobot/nautobot-plugin-ssot-dna-center):
Thanks
[@jdrew82](https://github.com/jdrew82)
- [nautobot-plugin-ssot-infoblox](https://github.com/nautobot/nautobot-plugin-ssot-infoblox):
Thanks
[@FragmentedPacket](https://github.com/FragmentedPacket),
[@chadell](https://github.com/chadell),
[@jdrew82](https://github.com/jdrew82),
[@jtdub](https://github.com/jtdub),
[@pke11y](https://github.com/pke11y),
[@smk4664](https://github.com/smk4664),
[@ubajze](https://github.com/ubajze)
[@whitej6](https://github.com/whitej6),
- [nautobot-plugin-ssot-ipfabric](https://github.com/nautobot/nautobot-plugin-ssot-ipfabric):
Thanks
[@FragmentedPacket](https://github.com/FragmentedPacket),
[@armartirosyan](https://github.com/armartirosyan),
[@chadell](https://github.com/chadell),
[@grelleum](https://github.com/grelleum),
[@h4ndzdatm0ld](https://github.com/h4ndzdatm0ld),
[@jdrew82](https://github.com/jdrew82),
[@justinjeffery-ipf](https://github.com/justinjeffery-ipf),
[@pke11y](https://github.com/pke11y),
[@ubajze](https://github.com/ubajze)
[@whitej6](https://github.com/whitej6),
- [nautobot-plugin-ssot-device42](https://github.com/nautobot/nautobot-plugin-ssot-itential):
Thanks
[@jtdub](https://github.com/jtdub)
- [nautobot-plugin-ssot-meraki](https://github.com/nautobot/nautobot-plugin-ssot-meraki):
Thanks
[@jdrew82](https://github.com/jdrew82)
- [nautobot-plugin-ssot-servicenow](https://github.com/nautobot/nautobot-plugin-ssot-servicenow):
Thanks
[@chadell](https://github.com/chadell),
[@glennmatthews](https://github.com/glennmatthews),
[@qduk](https://github.com/qduk),
[@ubajze](https://github.com/ubajze)
Raw data
{
"_id": null,
"home_page": "https://github.com/nautobot/nautobot-app-ssot",
"name": "nautobot-ssot",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.8",
"maintainer_email": null,
"keywords": "nautobot, nautobot-app, nautobot-plugin",
"author": "Network to Code, LLC",
"author_email": "opensource@networktocode.com",
"download_url": "https://files.pythonhosted.org/packages/2f/08/f31eab215f1cb32694fad229d0e63ce7225fe6d9837063f95e1d6368106f/nautobot_ssot-3.3.0.tar.gz",
"platform": null,
"description": "# Nautobot Single Source of Truth (SSoT)\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/icon-nautobot-ssot.png\" class=\"logo\" height=\"200px\">\n <br>\n <a href=\"https://github.com/nautobot/nautobot-app-ssot/actions\"><img src=\"https://github.com/nautobot/nautobot-app-ssot/actions/workflows/ci.yml/badge.svg?branch=main\"></a>\n <a href=\"https://docs.nautobot.com/projects/ssot/en/latest/\"><img src=\"https://readthedocs.org/projects/nautobot-plugin-ssot/badge/\"></a>\n <a href=\"https://pypi.org/project/nautobot-ssot/\"><img src=\"https://img.shields.io/pypi/v/nautobot-ssot\"></a>\n <a href=\"https://pypi.org/project/nautobot-ssot/\"><img src=\"https://img.shields.io/pypi/dm/nautobot-ssot\"></a>\n <br>\n An <a href=\"https://networktocode.com/nautobot-apps/\">App</a> for <a href=\"https://nautobot.com/\">Nautobot</a>.\n</p>\n\n\n## Overview\n\nAn app for [Nautobot](https://github.com/nautobot/nautobot). This Nautobot app facilitates integration and data synchronization between various \"source of truth\" (SoT) systems, with Nautobot acting as a central clearinghouse for data - a Single Source of Truth, if you will.\n\nThe Nautobot SSoT app builds atop the [DiffSync](https://github.com/networktocode/diffsync) Python library and Nautobot's Jobs feature. This enables the rapid development and integration of Jobs that can be run within Nautobot to pull data from other systems (\"Data Sources\") into Nautobot and/or push data from Nautobot into other systems (\"Data Targets\") as desired. Key features include the following:\n\n* A dashboard UI lists all registered Data Sources and Data Targets and provides a summary of the synchronization history.\n* The outcome of executing of a data synchronization Job is automatically saved to Nautobot's database for later review.\n* Detailed logging output generated by DiffSync is automatically captured and saved to the database as well.\n\n### Integrations\n\nThis Nautobot application framework includes the following integrations:\n\n- Cisco ACI\n- Bootstrap\n- Citrix ADM\n- Arista CloudVision\n- Device42\n- Cisco DNA Center\n- Infoblox\n- IPFabric\n- Itential\n- Cisco Meraki\n- ServiceNow\n- Slurpit\n\nRead more about integrations [here](https://docs.nautobot.com/projects/ssot/en/latest/user/integrations). To enable and configure integrations follow the instructions from [the install guide](https://docs.nautobot.com/projects/ssot/en/latest/admin/install/#integrations-configuration).\n\n### Screenshots\n\n---\n\nThe dashboard view of the app.\n\n![Dashboard View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/dashboard_initial.png)\n\n---\n\nThe detailed view of the example data source that is prepackaged within this app.\n\n![Data Source Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/data_source_detail.png)\n\n---\n\nThe detailed view of an executed sync.\n\n![Sync Detail View](https://raw.githubusercontent.com/nautobot/nautobot-app-ssot/develop/docs/images/sync_detail.png)\n\n---\n\nMore screenshots can be found in the [Using the App](https://docs.nautobot.com/projects/ssot/en/latest/user/app_use_cases/) page in the documentation.\n\n## Try it out!\n\nThis Nautobot app is installed in the Nautobot Community Sandbox found over at [demo.nautobot.com](https://demo.nautobot.com/)!\n\n> For a full list of all the available always-on sandbox environments, head over to the main page on [networktocode.com](https://www.networktocode.com/nautobot/sandbox-environments/).\n\n## Documentation\n\nFull documentation for this app can be found over on the [Nautobot Docs](https://docs.nautobot.com) website:\n\n* [User Guide](https://docs.nautobot.com/projects/ssot/en/latest/user/app_overview/) - Overview, Using the App, Getting Started, Developing Jobs.\n* [Administrator Guide](https://docs.nautobot.com/projects/ssot/en/latest/admin/install/) - How to Install, Configure, Upgrade, or Uninstall the App.\n* [Developer Guide](https://docs.nautobot.com/projects/ssot/en/latest/dev/contributing/) - Extending the App, Code Reference, Contribution Guide.\n* [Release Notes / Changelog](https://docs.nautobot.com/projects/ssot/en/latest/admin/release_notes/).\n\n## Note On Integration Compatability\n\nThe SSoT framework includes a number of integrations with external Systems of Record:\n\n* Cisco ACI\n* Bootstrap\n* Citrix ADM\n* Arista CloudVision\n* Device42\n* Cisco DNA Center\n* Infoblox\n* Itential\n* Cisco Meraki\n* ServiceNow\n* Slurpit\n\n> Note that the Arista CloudVision integration is currently incompatible with the [Arista Labs](https://labs.arista.com/) environment due to a TLS issue. It has been confirmed to work in on-prem environments previously.\n\n### Contributing to the Documentation\n\nYou can find all the Markdown source for the App documentation under the [`docs`](https://github.com/nautobot/nautobot-app-ssot/tree/develop/docs) folder in this repository. For simple edits, a Markdown capable editor is sufficient: clone the repository and edit away.\n\nIf you need to view the fully-generated documentation site, you can build it with [MkDocs](https://www.mkdocs.org/). A container hosting the documentation can be started using the `invoke` commands (details in the [Development Environment Guide](https://docs.nautobot.com/projects/ssot/en/latest/dev/dev_environment/#docker-development-environment)) on [http://localhost:8001](http://localhost:8001). Using this container, as your changes to the documentation are saved, they will be automatically rebuilt and any pages currently being viewed will be reloaded in your browser.\n\nAny PRs with fixes or improvements are very welcome!\n\n## Questions\n\nFor any questions or comments, please check the [FAQ](https://docs.nautobot.com/projects/ssot/en/latest/user/faq/) first. Feel free to also swing by the [Network to Code Slack](https://networktocode.slack.com/) (channel `#nautobot`), sign up [here](http://slack.networktocode.com/) if you don't have an account.\n\n## Acknowledgements\n\nThis project includes code originally written in separate Nautobot apps, which have been merged into this project:\n\n- [nautobot-plugin-ssot-aci](https://github.com/nautobot/nautobot-plugin-ssot-aci):\n Thanks\n [@chadell](https://github.com/chadell),\n [@dnewood](https://github.com/dnewood),\n [@progala](https://github.com/progala),\n [@ubajze](https://github.com/ubajze)\n- [nautobot-plugin-ssot-bootstrap](https://github.com/nautobot/nautobot-plugin-ssot-bootstrap):\n Thanks\n [@bile0026](https://github.com/bile0026)\n- [nautobot-plugin-ssot-citrix-adm](https://github.com/nautobot/nautobot-plugin-ssot-citrix-adm):\n Thanks\n [@jdrew82](https://github.com/jdrew82)\n- [nautobot-plugin-ssot-arista-cloudvision](https://github.com/nautobot/nautobot-plugin-ssot-arista-cloudvision):\n Thanks\n [@burnyd](https://github.com/burnyd),\n [@chipn](https://github.com/chipn),\n [@jdrew82](https://github.com/jdrew82),\n [@jvanderaa](https://github.com/jvanderaa),\n [@nniehoff](https://github.com/nniehoff),\n [@qduk](https://github.com/qduk),\n [@ubajze](https://github.com/ubajze)\n- [nautobot-plugin-ssot-device42](https://github.com/nautobot/nautobot-plugin-ssot-device42):\n Thanks\n [@jdrew82](https://github.com/jdrew82)\n- [nautobot-plugin-ssot-dna-center](https://github.com/nautobot/nautobot-plugin-ssot-dna-center):\n Thanks\n [@jdrew82](https://github.com/jdrew82)\n- [nautobot-plugin-ssot-infoblox](https://github.com/nautobot/nautobot-plugin-ssot-infoblox):\n Thanks\n [@FragmentedPacket](https://github.com/FragmentedPacket),\n [@chadell](https://github.com/chadell),\n [@jdrew82](https://github.com/jdrew82),\n [@jtdub](https://github.com/jtdub),\n [@pke11y](https://github.com/pke11y),\n [@smk4664](https://github.com/smk4664),\n [@ubajze](https://github.com/ubajze)\n [@whitej6](https://github.com/whitej6),\n- [nautobot-plugin-ssot-ipfabric](https://github.com/nautobot/nautobot-plugin-ssot-ipfabric):\n Thanks\n [@FragmentedPacket](https://github.com/FragmentedPacket),\n [@armartirosyan](https://github.com/armartirosyan),\n [@chadell](https://github.com/chadell),\n [@grelleum](https://github.com/grelleum),\n [@h4ndzdatm0ld](https://github.com/h4ndzdatm0ld),\n [@jdrew82](https://github.com/jdrew82),\n [@justinjeffery-ipf](https://github.com/justinjeffery-ipf),\n [@pke11y](https://github.com/pke11y),\n [@ubajze](https://github.com/ubajze)\n [@whitej6](https://github.com/whitej6),\n- [nautobot-plugin-ssot-device42](https://github.com/nautobot/nautobot-plugin-ssot-itential):\n Thanks\n [@jtdub](https://github.com/jtdub)\n- [nautobot-plugin-ssot-meraki](https://github.com/nautobot/nautobot-plugin-ssot-meraki):\n Thanks\n [@jdrew82](https://github.com/jdrew82)\n- [nautobot-plugin-ssot-servicenow](https://github.com/nautobot/nautobot-plugin-ssot-servicenow):\n Thanks\n [@chadell](https://github.com/chadell),\n [@glennmatthews](https://github.com/glennmatthews),\n [@qduk](https://github.com/qduk),\n [@ubajze](https://github.com/ubajze)\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Nautobot Single Source of Truth",
"version": "3.3.0",
"project_urls": {
"Documentation": "https://docs.nautobot.com/projects/ssot/en/latest/",
"Homepage": "https://github.com/nautobot/nautobot-app-ssot",
"Repository": "https://github.com/nautobot/nautobot-app-ssot"
},
"split_keywords": [
"nautobot",
" nautobot-app",
" nautobot-plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2dc8e27a94ec5806d33d3bd53ba49d5945708053a773143aedc03dc9987f6f99",
"md5": "8d70f0b882dc5979b2919fb41c01b7d4",
"sha256": "9f6fba64a829039baefd74c3387b40060ace39b8e775872f91a1811a84275df3"
},
"downloads": -1,
"filename": "nautobot_ssot-3.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8d70f0b882dc5979b2919fb41c01b7d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.8",
"size": 23603976,
"upload_time": "2024-12-06T19:41:31",
"upload_time_iso_8601": "2024-12-06T19:41:31.284581Z",
"url": "https://files.pythonhosted.org/packages/2d/c8/e27a94ec5806d33d3bd53ba49d5945708053a773143aedc03dc9987f6f99/nautobot_ssot-3.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f08f31eab215f1cb32694fad229d0e63ce7225fe6d9837063f95e1d6368106f",
"md5": "ac635f16d8de4ddbf6458a9bd95fa56b",
"sha256": "0a6fea99a540bbcef2c12641e50a220cd9a55e37c1028202f6376fc438b99a60"
},
"downloads": -1,
"filename": "nautobot_ssot-3.3.0.tar.gz",
"has_sig": false,
"md5_digest": "ac635f16d8de4ddbf6458a9bd95fa56b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.8",
"size": 23247272,
"upload_time": "2024-12-06T19:41:34",
"upload_time_iso_8601": "2024-12-06T19:41:34.484483Z",
"url": "https://files.pythonhosted.org/packages/2f/08/f31eab215f1cb32694fad229d0e63ce7225fe6d9837063f95e1d6368106f/nautobot_ssot-3.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 19:41:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nautobot",
"github_project": "nautobot-app-ssot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nautobot-ssot"
}