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.
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!
Does this all sound amazing? Want to know more about how Network to Code can help you do this, reach out to our sales team. If you want to help make this a reality for our clients, check out our careers page.
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:
How to create a secrets vault to store your sensitive data, and then reference that data in other places
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!
Does this all sound amazing? Want to know more about how Network to Code can help you do this, reach out to our sales team. If you want to help make this a reality for our clients, check out our careers page.
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.
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
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
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!
Does this all sound amazing? Want to know more about how Network to Code can help you do this, reach out to our sales team. If you want to help make this a reality for our clients, check out our careers page.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. In case of sale of your personal information, you may opt out by using the link Do not sell my personal information. Privacy | Cookies
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
__hssc
30 minutes
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
__hssrc
session
This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Advertisement" category.
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
CookieYes sets this cookie to record the default button state of the corresponding category and the status of CCPA. It works only in coordination with the primary cookie.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__cf_bm
30 minutes
Cloudflare set the cookie to support Cloudflare Bot Management.
li_gc
5 months 27 days
Linkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
UserMatchHistory
1 month
LinkedIn sets this cookie for LinkedIn Ads ID syncing.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
__hstc
5 months 27 days
Hubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
_ga
1 year 1 month 4 days
Google Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.
_gat_gtag_UA_*
1 minute
Google Analytics sets this cookie to store a unique user ID.
_gid
1 day
Google Analytics sets this cookie to store information on how visitors use a website while also creating an analytics report of the website's performance. Some of the collected data includes the number of visitors, their source, and the pages they visit anonymously.
AnalyticsSyncHistory
1 month
Linkedin set this cookie to store information about the time a sync took place with the lms_analytics cookie.
CONSENT
2 years
YouTube sets this cookie via embedded YouTube videos and registers anonymous statistical data.
hubspotutk
5 months 27 days
HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
ln_or
1 day
Linkedin sets this cookie to registers statistical data on users' behaviour on the website for internal analytics.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
bcookie
1 year
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.
bscookie
1 year
LinkedIn sets this cookie to store performed actions on the website.
li_sugr
3 months
LinkedIn sets this cookie to collect user behaviour data to optimise the website and make advertisements on the website more relevant.
VISITOR_INFO1_LIVE
5 months 27 days
YouTube sets this cookie to measure bandwidth, determining whether the user gets the new or old player interface.
YSC
session
Youtube sets this cookie to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
yt-remote-device-id
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
yt.innertube::nextId
never
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.