awesome-network-automation
Curated Awesome list about Network Automation
https://github.com/networktocode/awesome-network-automation
Last synced: 4 days ago
JSON representation
-
Ansible
-
NETCONF
- Getting Started with the ios_config Ansible Module - YouTube video by Jason Edelman of NetworkToCode introducing the ios_config Ansible module
- Sample network automation Ansible playbooks - Ansible playbooks geared towards network engineers, courtesy of Ivan Pepelnjak.
-
-
API
-
NETCONF
- NETCONF message layers - A view into the payload of NETCONF XML documents and layers.
- What Is NETCONF - Overview of NETCONF.
-
RESTCONF
- RESTCONF requests for IOS-XE - How to combine HTTP path, method and payload for IOS-XE restconf operations.
- What Is RESTCONF - Overview of RESTCONF.
-
-
Arista
-
NETCONF
- Arista Validated Designs - AVD is an extensible data model that defines Arista’s Unified Cloud Network architecture as “code”.
- Arista Network Test Automation - ANTA is a Python framework that automates tests for Arista devices.
-
-
Batfish
-
NETCONF
- Home Page - Batfish.org home page with tutorials, talks and technical papers detailing the research behind Batfish.
- Documentation - Getting Started Documentation for Batfish.
- Jupyter Notebook - Jupyter Notebooks showing how to use Batfish for configuration, ACL, routing, forwarding, etc... analysis.
- Video - YouTube videos explaining how to use Batfish.
- Home Page - Batfish.org home page with tutorials, talks and technical papers detailing the research behind Batfish.
- Video - YouTube videos explaining how to use Batfish.
-
-
Chef
-
NETCONF
- Using Chef Client with Cisco NX-OS - Using Chef Client with Cisco NX-OS
-
-
Clixon
-
NETCONF
- Clixon Home Page - Clixon home page with links to the different projects with code and documentation.
- Clixon Code - Clixon provides an interactive CLI, NETCONF, and RESTCONF configuration interface for a YANG-based device.
- Clixon Controller Code - The Clixon controller is an open-source tool for network automation of devices based on NETCONF and YANG.
-
-
Git
-
NETCONF
- Learn Git Branching - Learn Git Branching helps learn Git concepts through a series of small interactive lessons in which the learner is able to actually execute the git commands inside of the shell in the browser and visually observe the results of the commands.
- Learn Git Branching Sandbox - This is a sandbox for practicing any git concepts you desire. Provides a shell and visual feedback of the results of your git commands.
-
-
Go
-
NETCONF
- Awesome Go - A curated list of awesome Go frameworks, libraries, software and resources.
- Getting Started and Basics - Introduction to programming with Go.
- JSON-to-Go - This tool instantly converts JSON into a Go type definition.
- YAML-to-Go - This tool instantly converts YAML into a Go type definition.
-
-
Infrahub
-
NETCONF
- Infrahub Documentation - Including overview, getting started, and FAQ.
- Infrahub GitHub Repo - Infrahub - A new approach to Infrastructure Management.
-
-
Library
-
NETCONF
- Cisco Genie Parsers - Genie Parsers by Cisco
- Cisco virl2_client - Documentation for the VIRL 2 (aka CML) API Client. Use this library to create Python scripts to interact with CML.
- gNMIc - gNMI CLI client and collector.
- NUTS - Network Unit Testing System is a Pytest plugin enabling writing network tests with YAML files.
- SEC - Simple Event Correlator - SEC is an event correlation tool for advanced event processing which can be harnessed for event log monitoring, for network and security management, for fraud detection, and for any other task which involves event correlation.
- Aerleon - Multi-platform ACL generation system with plugin support, YAML-based config, and a Python API. Fork of Capirca.
- Capirca - Multi-platform ACL generation system; can output Juniper/IOS/etc ACLs from the same policy.
- ciscoconfparse - Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations.
- EasySNMP - Easy to use and very fast SNMP library that uses Net-SNMP.
- FreeZTP - FreeZTP is an open-source Zero-Touch Provisioning system for Cisco IOS campus switches and routers.
- gNMIc - gNMI CLI client and collector.
- Hierarchical Configuration - Hierarchical Configuration is a Python library that is able to take a running configuration of a network device, compare it to its intended configuration, and build the remediation steps necessary bring a device into spec with its intended configuration.
- inet-henge - Generate d3.js based Network Diagram from JSON data.
- NAPALM - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.
- Need To Graph - A library to generate diagrams in yWorks GraphML, diagrams.net/draw.io or JSON formats using structured data or show commands output.
- Netmiko - Multi-vendor library to simplify Paramiko SSH connections to network devices.
- Netutils - A Python library that is a collection of functions that are used in the common network automation tasks.
- Nornir - Nornir is a pure Python automation framework intended to be used directly from Python.
- PyGNMI - Pure Python implementation of gNMI client to interact with network functions.
- Template Text Parser - CLI tool and Python module for parsing semi-structured text into structured data. Similar syntax to Jinja templating, but in reverse. TTP Templates [collection](https://github.com/dmulyalin/ttp_templates).
- TextFSM - Python module for parsing semi-structured text into Python tables.
- YAPYANG - Python package that helps translate YANG data models to Python.
-
-
Network Telemetry
-
NETCONF
- InfluxDB - Made for developers to build time-series-based applications quickly and at scale.
- Prometheus - Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
- Telegraf - Telegraf is the open source server agent to help you collect metrics from your stacks, sensors, and systems.
- Grafana - The open observability platform.
-
-
Non-Core Ansible Modules
-
NETCONF
- ansible-junos-stdlib - Junos OS modules for Ansible.
- FortiManager-Ansible - Ansible module to work with FortiManager.
- Infoblox-Ansible - Ansible module to work with Infoblox.
- IP Infusion OcNOS Ansible module - Ansible module, SNMP MIB files, and YANG files for OcNOS.
- Napalm-Ansible - Collection of Ansible modules that use napalm to retrieve data or modify configuration on networking devices.
- Netscaler-Ansible - Ansible module to work with Netscalers.
- NTC Ansible - Multi-vendor Ansible modules for Network Automation.
- pan-os-ansible - Ansible modules for working with Palo Alto Networks PAN-OS.
-
-
Online Parser
-
Jinja2
- J2Live - TTL255 - Online Jinja2 parser. Additional support for Ansible and Salt filters.
- Jinja 101 - Online Jinja2 parser with Ansible, SaltStack and Stackstorm filter support. Jinja2 environment settings can be configured.
- TD4a - Advanced online rendering tool.
-
TextFSM
- TextFSM 101 - Simple online TextFSM parser with examples.
-
TTP
- textfsm.nornir.tech - Online development tool for TTP templates and more.
- TTP 101 - Simple TTP online parser with easy examples.
- Docker - Docker is a software technology providing operating system-level virtualization also known as containers, promoted by the company Docker, Inc.
- KVM - KVM (Kernel-based Virtual Machine) is a full virtualization solution build into the Linux Kernel
- QEMU - QEMU is a generic and open source machine emulator and virtualizer. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, 64-bit POWER, S390, 32-bit and 64-bit ARM, and MIPS guests.
- VirtualBox - VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use.
- CML - Cisco Modeling Labs (CML), which replaces VIRL, is a network emulator with both an API and GUI frontend.
- GNS3 - Graphical Network Simulator-3.
- Mininet - Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.
- UNetLab - Unified Networking Lab.
- Cisco WAN Automation Engine - Cisco WAE, formerly known as Cariden MATE, provides a multi-vendor network simulation that enables capacity planning and what-if scenario analysis for carrier networks.
- Juniper WANDL - Juniper WANDL provides traffic engineering
- bluecat - BlueCat provides network intelligence and insight into the relationship between devices, users and IP addresses that can be put into action to improve security and ensure reliable, always-on business connectivity.
- Device42 - Automatically maintain an up-to-date inventory of your physical, virtual, and cloud servers and containers, network components, software, services, applications, and their inter-relationships and inter-dependencies. Integrations, REST APIs and webhooks to automate your workflows with a modern CMDB as a single source of truth. Comes with powerful Data Center Infrastructure Management, IP Address Management and Application Mappings. Mostly leverages SNMP or vendor provided APIs that are well adopted/documented.
- Infoblox - Industry leader in DNS, DHCP, and IP address management, the category known as DDI.
- phpIPAM - phpIPAM is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management.
- TeemIP - TeemIp is an open source, WEB based, IP Adress Management (IPAM) tool that provides comprehensive IP Management capabilities. It allows you to manage your IPv4 and IPv6 spaces through a simple and powerful user interface: track user requests, discover and allocate IPs, manage your IP plan and your subnet space in accordance with best in class IP Management practices.
- ManageEngine - Network Configuration Manager is a multi vendor network change, configuration and compliance management (NCCCM) solution for switches, routers, firewalls and other network devices.
- NetMRI - Vendor Agnostic NCCM tool with with policy engine and multi-vendor device lifecycle/vulnerability management. (Infoblox product)
- Rconfig - Free, open source network device configuration management tool, customizable to your needs!
- Solarwinds - Automated network configuration and compliance management.
- Ansible for DevOps - Learn Ansible concepts from an industry leading Ansible expert, with associated Vagrant files for ease of learning
- Cloud Native Data Center Networking - If you want to study, build, or simply validate your thinking about modern cloud native data center networks, this is your book. Whether you’re pursuing a multitenant private cloud, a network for running machine learning, or an enterprise data center, author Dinesh Dutt takes you through the steps necessary to design a data center that’s affordable, high capacity, easy to manage, agile, and reliable.
- Effective DevOps - Learn cultural and organizational best practices on how to make a good DevOps team
- Infrastructure as Code - Learn the Infra as Code principles and design patterns (examples are for Compute not network though)
- Mastering Python Networking Second Edition (August 2018) - related topics)](https://amzn.to/2NBjlVM) - Become an expert in implementing advanced, network-related tasks with Python.
- Network Programmability with YANG - The Structure of Network Automation with YANG, NETCONF, RESTCONF, and gNMI.
- Network Automation at Scale - An introduction and practical look at using Salt to automate your network at scale, in a free ebook from O'Reilly.
- Open Source Network Management - Step by step guide for getting started with Open Source Network Management tools such as Nautobot, Hashicorp Vault, Telegraf, and Prometheus.
- Seeking SRE: Conversations About Running Production Systems at Scale - Learn from the best practices of SRE practitioners who are not working at Google.
- The DevOps Handbook - Learn the concepts of Agile and DevOps principles.
- The Unicorn Project - See the concepts of Agile and DevOps following a Developer viewpoint.
- Anuta Networks ATOM - Monitoring & Closed-Loop Automation for Multi-Vendor Networks.
- Apstra - The Apstra Operating System (AOS) is a vendor-agnostic distributed operating system for the data center network that enables business agility, dramatically scales operational efficiency, and reduces downtime.
- Cisco NSO - NSO (former Tail-f NCS) is a multi-vendor automation and orchestration platform for physical and virtual networks for over 80+ vendors. NSO provides YANG-based programmability through a wide variety of interfaces including CLI, RESTCONF, NETCONF, Java, Python and web UI.
- Glue - With Gluware, the Glue Networks vision and team are continuing to trail-blaze at the forefront of the networking industry with multi-vendor orchestration solutions for Data Center, WAN and LAN networks.
- Intentionet - Intentionet provides a hosted or on-premise network validation software solution based on [Batfish](http://www.batfish.org). Intentionet Sage's model-based network simulation enables pre-commit validation for all network changes, ensuring only correct changes are pushed to the network, thereby reducing outages and breaches while improving network agility.
- IP Fabric - Network assurance tool with vendor agnostic network discovery, inventory, modelling and mapping of on-prem and cloud networks. Snapshots create a point-in-time view to verify that network behaves as intended after changes. GUI supports your network documentation with accurate, live network representation, and API used to keep all your SoT, automation tooling and monitoring up to date.
- NetYCE - to-end including firewalls, DDI (DNS, DHCP, IPAM) and other 3rd party tooling. Deploy your networks as Designed.
- PacketFront - PacketFront BECS and BBE is a vendor-agnostic network, service and resource orchestration system for residential, enterprise and data center networks.
- SuzieQ Enterprise Edition - The enterprise edition of the [suzieq](#suzieq) open source project.
- Cisco DNA Center - Cisco DNA Center automates campus networks for faster workflows, faster troubleshooting through more visibility, and policy-driven security (inc. [SDA](https://www.cisco.com/c/en/us/solutions/enterprise-networks/software-defined-access/index.html)).
- Cisco Meraki - Cisco Meraki is the leader in cloud controlled WiFi, routing, and security. Secure and scalable, Cisco Meraki enterprise networks simply work.
- Cisco Viptela - Viptela provides Software-Defined Wide Area Network (SD-WAN) technology that allows global companies to build cost-effective WANs.
- Cumulus Networks NetQ - Cumulus NetQ is a highly-scalable, modern network operations tool set that provides visibility into your overlay and underlay networks in real-time. NetQ delivers actionable insights and operational intelligence about the health of your data center — from the container, virtual machine, or host, all the way to the switch and port, enabling a NetDevOps approach.
- Oracle Talari - Talari Networks SD-WAN technology.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- Vagrant - Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.
- FakeNOS - Simulate network operating systems in a programmatic and easy way.
- Mininet - Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.
- netlab - Brings infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will create configs for VirtualBox/libvirt/containerlab, Ansible inventory, IPv4/v6 addressing, VLANs and VRFs, OSPF, EIGRP, IS-IS, BGP, BFD, MPLS, MPLS/VPN, VXLAN, EVPN and Segment Routing.
- UNetLab - Unified Networking Lab.
- VRNetLab - Run your favourite virtual routers in docker for convenient labbing, development and testing.
- Cidr - Cidr Is not as Dumb as Rancid.
- fetchconfig - fetchconfig is a Perl script for retrieving configuration of multiple devices.
- Gerty - Universal framework for device management automation. Eventually a replacement for RANCID... and much more.
- Jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet.
- Oxidized - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
- Sweet - Network device configuration backups and change alerts for the 21st century - inspired by RANCID!
- NetBox - NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool.
- nipap - nipap is a sleek, intuitive and powerful IP address management system built to handle large amounts of IP addresses.
- Jerikan - Network wide CMDB combining single source of truth in YAML, configs in Jinja2 and deployment with Ansible.
- Ansible: Up and Running - Automating Configuration Management and Deployment the Easy Way.
- Mastering Python Networking Second Edition (August 2018) - related topics)](https://amzn.to/2NBjlVM) - Become an expert in implementing advanced, network-related tasks with Python.
- Glue - With Gluware, the Glue Networks vision and team are continuing to trail-blaze at the forefront of the networking industry with multi-vendor orchestration solutions for Data Center, WAN and LAN networks.
- Arista CloudVision - CloudVision is Arista’s modern, multi-domain management platform that leverages cloud networking principles to deliver a simplified NetOps experience.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- UNetLab - Unified Networking Lab.
- Automate the Boring Stuff with Python - Automate the Boring Stuff with Python is an excellent introduction to programming concepts with a focus on Python. The concepts are made easier to learn by practicing them with hands on real world examples and projects.
- Effective DevOps - Learn cultural and organizational best practices on how to make a good DevOps team
- Mastering Python Networking Second Edition (August 2018) - related topics)](https://amzn.to/2NBjlVM) - Become an expert in implementing advanced, network-related tasks with Python.
- Network Programmability and Automation - Skills for the Next-Generation Network Engineer.
- Network Automation at Scale - An introduction and practical look at using Salt to automate your network at scale, in a free ebook from O'Reilly.
-
-
Podcasts Episodes
-
TTP
- Network Collective EPISODE 10 - GRASSROOTS AUTOMATION.
- Network Collective Infrastructure as Code 101
- Packet Pushers Day Two Cloud 043 - Git For Ops People with Damien Garros.
- Packet Pushers Heavy Networking #445 - David Barroso, Kirk Byers, and Dmitri Figol on Nornir.
- Packet Pushers Heavy Networking #498 - Creating A Single Source Of Truth For Network Automation with Tim Schreyack.
- Packet Pushers PQ Show 198 - Kirk Byers on Network Automation with Python & Ansible.
- Packet Pushers Show 176 - Intro to Python & Automation for Network Engineers.
- Packet Pushers Show 333 - Automation & Orchestration In Networking.
- Packet Pushers Show 351 - Design & Build 13: Network Orchestration with Salt.
- Packet Pushers Show 353 - The Business Impact Of Network Automation.
- Packet Pushers Show 368 - Show 368: Radical Change, DevOps & Automation.
- Packet Pushers Show 402 - Show 402 - Building A Network Automation Framework
- Packet Pushers Show 532 - Scrapli Is A Netmiko Alternative - Show 532 with Carl Montanari and Dmitry Figol.
- Packet Pushers Show 537 - Ansible Or Terraform: Choose One with Josh VanDeraa and Ned Bellavance.
- Podcast__init Episode 232 - Network Automation At Enterprise Scale With Python - Episode 232 with Antoine Fourmy.
- Talk Python to me #128 - Pythonic Networks with NAPALM.
- Talk Python to me #175 - Teaching Python to network engineers
- ![CC4
- Packet Pushers Show 333 - Automation & Orchestration In Networking.
- Packet Pushers Show 353 - The Business Impact Of Network Automation.
- Podcast__init Episode 117 - NAPALM with David Barroso and Mircea Ulinic.
- Packet Pushers Datanauts 80 - The Current State Of Network Automation & Telemetry.
- Packet Pushers PQ Show 198 - Kirk Byers on Network Automation with Python & Ansible.
- Packet Pushers Show 176 - Intro to Python & Automation for Network Engineers.
- Packet Pushers Show 333 - Automation & Orchestration In Networking.
- Packet Pushers Show 351 - Design & Build 13: Network Orchestration with Salt.
- Packet Pushers Show 353 - The Business Impact Of Network Automation.
-
Programming Languages
Categories
Online Parser
113
Uncategorized
74
Podcasts Episodes
34
Library
22
Vendor API Docs
21
Structured Data
18
Vendor Abstraction Library
13
Salt
12
Tools
11
Non-Core Ansible Modules
8
StackStorm
7
Batfish
6
Python
5
API
4
Go
4
Network Telemetry
4
Clixon
3
Products
3
Arista
2
Podcasts Feeds
2
SuzieQ
2
Ansible
2
Pre-written Salt States (Formulas)
2
Git
2
Regex
2
Infrahub
2
Puppet
1
Chef
1
Sub Categories
Keywords
python
15
network
13
automation
7
network-automation
6
networking
5
network-analysis
5
napalm
4
go
4
cisco
4
salt
3
configuration
3
network-programming
3
saltstack
3
ipam
3
awesome
2
awesome-list
2
golang
2
network-validation
2
switch
2
router
2
parse
2
configuration-parser
2
json
2
network-monitoring
2
network-engineers
2
devops
2
cicd
2
backup
2
event-driven
2
configuration-management
2
network-admin
2
sot
2
dcim
2
django
2
infoblox
2
formula
2
openconfig
2
yang-model
2
yang
2
infrastructure-management
1
zmq
1
netbox
1
zeromq
1
transport
1
syslog-messages
1
sysadmin
1
translates-json
1
syslog
1
openconfig-yang-model
1
docker
1