Nautobot Docker Compose

Blog Detail

The newly released Nautobot Docker Compose project is meant to provide example methods to get up and running with Nautobot using Docker Compose very quickly. Within just a few commands you will be up and running with a single host Docker Compose design. These are base examples for getting started and will work in many instances. But there are going to be times where the Docker configuration will be modified.

Docker Compose Stack

Within the repository, three Docker Compose setups are available. The standard Docker Compose provides Nautobot, Postgres, Redis, and a Celery worker for Nautobot base. An example LDAP Docker Compose includes a Dockerfile for building a container with the necessary components for making LDAP queries. The third Docker Compose example provides for adding plugins to your Nautobot instance.

There are detailed instructions within the README and documentation on the repository for each install. This will help you get up and running with Nautobot within a few minutes (depending on the network connection to the Docker repositories 🙃)!


Conclusion

Let us project know via GitHub issues if there are issues, or join a discussion on the repository for more conversation!

Thanks,

Josh



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

New Book – Open Source Network Management

Blog Detail

Earlier this month, I was able to hit the publish button on a new book – Open Source Network Management. The book dives into getting started with several open source network management tools. It is meant as a guide to help further your experience with using and installing open source tools, all on a single VM/host. The size of the host is meant to have minimal capital investment, in the way of a single NUC or a minimal VM deployed on a hypervisor in your environment.

The book is published on LeanPub, which is a publish early, publish often marketplace. The book is digital only, with PDF, ePub, and mobi formats available. Currently, the book is indicating 80% completeness, with most of the technical content in place already! There are mainly soft edits in this early version.

Projects

Several open source projects are covered in the book, starting out with installing Docker Community Edition (CE), then adding Docker Compose files to handle installation of the tools. After the Docker Compose is up, there is also a basic configuration to get up and running, actually using the project, including:

Current Projects Included in the Book:

  • Nautobot (Source of Truth)
  • Hashicorp Vault (Secrets Management)
  • Telegraf (Metrics Gathering)
  • Prometheus (Metrics Storage and Alerting)
  • Grafana (Metrics Visualization)
  • NGINX (Web Server/Reverse Proxy)

With these components in place, a modern network management stack can be assembled with minimal investment.

Projects Selection

These lightweight projects have the capability to run on a single host in order get up and running. Yet, even though these projects are lightweight, they all are able to scale out to meet the needs of Enterprise and Large Enterprise.

Planned Additions

Upcoming additions to the book include installing a Git application such as Gitea, adding in more Nautobot apps such as the Golden Configuration app (which requires a Git repo for configuration backup) and Welcome Wizard.

As time allows, more additions and tools will be added, such as those for looking at alternative metrics gathering solutions and other configuration backup solutions.

Opportunity to Get Your Own for Free

As part of the NTC desire to give back to the community, there is an opportunity to get your own copy of the book for free. To do so, join the Network to Code mailing list and select the Get my free copy! button.

There will be a limited quantity available.

There may be some delay in the code being sent to you.


Conclusion

Hopefully, the content in the book is helpful! I enjoyed putting it together!

-Josh



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Nautobot ChatOps – Ansible (AWX/Tower)

Blog Detail

Network to Code is releasing a new Nautobot App, e.g. plugin to interact with Ansible Tower and AWX using the existing Nautobot ChatOps framework! This plugin comes with pre-packaged commands to gather data about your Ansible Tower/AWX environment or to launch a playbook all through chat. Because the Nautobot plugin ChatOps lowers the barrier of entry by providing interactions with chat platforms of Mattermost, Microsoft Teams, Slack, and Webex Teams, the amount of code needed to generate chatops commands is low. This is just the start of the additional components that can be expected to be integrated with over time using Nautobot. You can also extend the bot creating any additional commands (and contribute them back, of course!).

Putting into a diagram, this is a companion plugin to the Nautobot ChatOps plugin. Looking at the diagram below, the chat application will interact with a URL to Nautobot, which then passes it to the code in the Nautobot ChatOps Ansible plugin. From there the Ansible ChatOps code is charged with interacting with Ansible Tower and passing the data back through Nautobot ChatOps, which handles responding back to the user.

chatops_plugin_ansible

The Nautobot ChatOps Ansible plugin extends the capabilities of the Nautobot ChatOps plugin to include a new command available to the plugin. This is done by registering to the Python entry point in Nautobot plugin ChatOps, that provides functionality to the code written to interact with Ansible. This plugin introduces the following sub-commands to the ansible command:

  • get_dashboard
  • get_inventory
  • get_projects
  • get_job_templates
  • run_job_template
  • get_jobs
ansible_command_list

Get Dashboard

The dashboard command provides an Ansible Tower/AWX status dashboard. This gives a summary of:

  • How many hosts are on the Tower inventories
  • How many failed hosts (last job is failed)
  • Total number of inventories
  • How many inventories have failed
  • How many project sync failures have occurred
ansible_get_dashboard

Get Inventory

The inventory sub-command provides inventories available and the details of those inventories.

Get Projects

Get projects will gather information about the projects available within the Ansible Tower/AWX instance. Information such as the name, description, SCM URL, and SCM branch are provided.

Get Job Templates

This gathers the information about the defined job templates on the Ansible Tower/AWX instance. It will provide the name, description, project, and the associated inventory with the Job Template configured. It will provide the name, description, project, and the associated inventory for the selected Job Template.

Run Job Template

The natural progression of gathering job templates is then to execute a particular job template. Executes a Job Template that does not require extra vars or surveys to be completed. The Job ID for the executed job template will be provided via a chat response. The URL to the Job execution will also be provided as the text response.

Get Jobs

The get jobs sub-command will ask Tower for the last number of jobs, with a default count of the last 10 jobs. This will give the status of the jobs including:

  • Job ID
  • Name of the job
  • User that launched the job
  • Created
  • Finish time
  • Status of the job

Just the Start

This is just the start of what is capable with extending the Nautobot ChatOps ecosystem. Whether you want to write your own, or use one of the additional plugins that has been created by Network to Code, the ecosystem for ChatOps is going to continue to grow! Keep an eye out for additional ChatOps plugins to be announced here!



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!