Nautobot ecosystem
The Nautobot ecosystem is comprised of Nautobot apps that solve a variety of use cases. There are already 15+ open source Nautobot apps written by Network to Code and numerous others written by individuals in the community. Keep in mind that a Nautobot app can be as lightweight or as robust as needed to address the requirements at hand. Here are some examples of different types of applications that could be built using the Nautobot App developer API:
- Lightweight examples:
- Create a database table, UI views, and API to manage NTP
- Create a new page (UI view) to aggregate data from devices and VLANs the way you want to see it based on relationships
- Create Nautobot jobs that are distributed through a Nautobot app
- Create a command runner that fires off commands to selected devices that are already in Nautobot
- Robust examples:
- Create an application to store, manage, and deploy firewall policies (inclusive of database tables, views, and APIs).
- Create an application to discover and crawl the network (inclusive of database tables, views, and APIs).
- Create an application that performs network configuration backups, generates intended configurations, and performs compliance (which, by the way, exists already in the Golden Config app!). You’ll get a deep dive into Golden Config (https://github.com/nautobot/nautobot-app-golden-config) with Nautobot in Appendix 3.
Note
There is also a Nautobot app template in the form of a cookie-cutter GitHub repository (https://github.com/nautobot/cookiecutter-nautobot-app) that helps anyone create a new app.
If you can’t see it already, the opportunities are endless with Nautobot apps.
As mentioned previously, the Nautobot ecosystem already consists of many Nautobot Apps. We’ll take a look at a summary of a few of them while diving into a few of these in Chapter 13:
- Golden configuration: Automates configuration backups, performs configuration compliance, and generates intended configurations (https://github.com/nautobot/nautobot-app-golden-config).
- Floor plan: Allows users to create a floor plan of their data center or other locations of the racks and devices that exist within Nautobot (https://github.com/nautobot/nautobot-app-floor-plan).
- Version control: Allows users to have change (workflow) management with approvals when managing data within Nautobot powered by a Dolt database. This is in an alpha state, but watch out for the announcement of the official release (https://github.com/nautobot/nautobot-app-version-control).
- Design builder: Allows users to create data-driven designs (such as small, medium, and large sites) that then allow you to deploy a new device/site/location with that design, automatically generating the desired data for that design based on your data standards.
- BGP models: Allows users to model ASNs and BGP peerings (internal and external) within Nautobot (https://github.com/nautobot/nautobot-app-bgp-models).
- Capacity metrics: Exposes key data in Nautobot as Prometheus endpoints to be later consumed and visualized in tools such as Grafana (https://github.com/nautobot/nautobot-app-capacity-metrics).
- Circuit maintenance: Helps manage and view circuit maintenance directly in Nautobot (https://github.com/nautobot/nautobot-app-circuit-maintenance).
- Data validation: Ensures proper data hygiene and that corporate standards are enforced when adding new data to Nautobot (https://github.com/nautobot/nautobot-app-validation-engine).
- Device life cycle management: Helps manage life cycle-related data such as end-of-life dates, viable software versions, and maintenance contract information (https://github.com/nautobot/nautobot-app-device-lifecycle-mgmt).
- Device onboarding: Simplifies onboarding and re-onboarding devices into Nautobot (https://github.com/nautobot/nautobot-app-device-onboarding).
- Firewall models: Allows users to model firewall policies in Nautobot (https://github.com/nautobot/nautobot-app-firewall-models).
- Secrets providers: Integrates secrets providers, such as AWS Secrets Manager and HashiCorp Vault, with Nautobot (https://github.com/nautobot/nautobot-app-secrets-providers).
- SSoT: Facilitates integration and data synchronization between various SoT systems, with Nautobot acting as a central clearinghouse for data. Open source integrations exist for ServiceNow, Cisco ACI, Infoblox, IP Fabric, and Arista CloudVision, but integrations can be written for any remote system. Note that these integrations used to exist as their own dedicated GitHub projects, but were recently consolidated into the main SSoT project. SSoT will be covered in greater detail in Appendix 2 (https://github.com/nautobot/nautobot-app-ssot).
- Nautobot ChatOps: Provides an overall chat framework and adds a chatbot to Nautobot so that you can easily get data from Nautobot directly from chat, including Slack, Microsoft Teams, Webex Teams, and Mattermost. This also has out-of-the-box chat integrations for Grafana, IP Fabric, Cisco Meraki, Cisco ACI, Ansible AWX, Arista CloudVision, and Palo Alto Panorama. Note that these integrations used to exist as their own dedicated GitHub projects but were recently consolidated into the main ChatOps project (https://github.com/nautobot/nautobot-app-chatops).