Awesome Lists

awesome-network-automation

by networktocode

awesome listpushed almost 2 years ago

Curated Awesome list about Network Automation

AI summary

Network Automation Hub

A curated collection of resources and tools for network automation

stars
2.3K
forks
444
watching
301
awesome list
1
entries
329
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/networktocode/awesome-network-automation/links.svg)](https://awesome.facts.dev/awesome/networktocode/awesome-network-automation)
HTML
<a href="https://awesome.facts.dev/awesome/networktocode/awesome-network-automation"><img src="https://awesome.facts.dev/shield/networktocode/awesome-network-automation/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/networktocode/awesome-network-automation/links.svg

What's in the list

329 links in 53 sections, with live GitHub stats.activeno commit in 2y

Community

Events / Meetup

  • AWS Reinvent

    AWS re:Invent Central is designed to facilitate connections between sponsors and attendees

  • Ansible Fest

    AnsibleFest is a day-long conference bringing together Ansible users, developers and industry partners to share best practices, case studies and Ansible news

  • Ansible NYC Meetup

    Local NYC Ansible user meetup

  • Chef Summits

    Chef community summit schedule

  • London Network Automation Meetup

    A community of network engineers, who have interest in the new buzz of network automation

  • Minnesota Network User Group

    Minnesota Network User Group, quarterly meetup of network users

  • NANOG

    North American Network Operators' Group with fair share of automation presentations/discussions

  • Network to Coders Meetup

    Maybe this can pressure NTC to finally setup an event for the 140+ NTC meetup members

  • Puppetize Live

    A 24-hour global event including community discussions, presentations, and training. Formerly PuppetConf

  • SaltStack NYC Meetup

    Local NYC SaltStack user meetup

  • Tech Field Day

    Field Day events bring together innovative IT product vendors and independent thought leaders to share information and opinions in a presentation and discussion format

  • SaltConf

    4 days event including two days of SaltStack customer case studies and SaltStack technical deep dives

Training

  • CML - Training videos @ learningnetwork.cisco.com

    Learning and Certifications at Cisco has created a series of in-depth training videos to assist users with installing and operating Cisco Modeling Labs (CML). This video series also provides a few videos on some of the more advanced features that CML offers

  • DevNet Academy

    Self-paced e-learning with theory, exercises and quizzes for the Cisco Certified DevNet Expert exam by Luca Gubler

  • DevNet Expert Training

    Training resources targeting the Cisco Certified DevNet Expert exam topics, including bootcamp courses by Andreas Baekdahl

  • GNS3 Academy - Instructor David Bombal

    Offers an inexpensive set of introductions to Ansible and Python for Network Engineers, among other courses

  • ipSpace.net

    Numerous courses, webinars, and videos covering SDN, network automation, cloud computing, virtualization technologies, IPv6, VPNs, and much more

  • Network to Code

    Network Automation Training including Python, Ansible, DevOps, and much more

  • Network Programmability Basics - Cisco

    Jumpstart your journey into network programmability with this expert-led video course by Cisco DevNet

  • Nick Russo study resources

    Collection of DevNet certification study resources, such as study plans and Postman collections

  • Python for Network Engineers

    Learn skills that make you better at network automation and that improve your capability to use programming to scale your work

Presentations

Blogs

Programming Topics / Structured Data / YAML

Programming Topics / Structured Data / JSON

Programming Topics / Structured Data / XML

Programming Topics / Structured Data / YANG

Programming Topics / Structured Data / Jinja2

Programming Topics / API / RESTCONF

Programming Topics / API / NETCONF

Programming Topics / Python

Programming Topics / Go

  • 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

Programming Topics / Vendor API Docs

Programming Topics / Vendor API Docs / Cisco IOS XE CSR1000V

  • IOS-XE Programmability

    Documentation for Plug and Play, Guestshell, Python API, EEM, NETCONF, RESTCONF, gNMI/gNOI, gRPC and Application Hosting

Programming Topics / Vendor API Docs

Programming Topics / Vendor API Docs / Cisco IOS-XR

  • XR-Docs

    Documentation Blogs and Tutorials on all things IOS-XR An Open, Extensible and Stable Cloud-Scale Network Operating System

  • Cisco NX-API

    Main DEVNET page for NX-API docs

Programming Topics / Vendor API Docs

Programming Topics / Vendor API Docs / Extreme Networks:

  • EXOS REST API

    Documentation and examples for ExtremeSwitching ExtremeXOS RESTCONF API

  • EXOS JSONRPC Interface

    Documentation and examples for ExtremeSwitching ExtremeXOS JSONRPC API

  • EXOS Python API

    Documentation for writing Python applications that run on ExtremeXOS based switches

Programming Topics / Vendor API Docs

Programming Topics / Vendor API Docs / Meraki Dashboard API

Programming Topics / Vendor API Docs

Ansible

Batfish

  • Home Page

    Batfish.org home page with tutorials, talks and technical papers detailing the research behind Batfish

Batfish / Getting Started with 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

Chef

Clixon

  • 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

Infrahub

Puppet

Salt

StackStorm

  • StackStorm Repository

    StackStorm (aka "IFTTT for Ops") is event-driven automation commonly used for auto-remediation, security responses, facilitated troubleshooting, complex deployments, and more. Includes rules engine, workflow, 1800+ integrations, native ChatOps and so forth

  • StackStorm Installer

    Ready to install StackStorm? Here’s an overview of how to get your system up and running

  • StackStorm Youtube

    Various intro, marketing, interviews, and technical product talks

  • Stackstorm Docs

    Documentation repository for latest version of StackStorm

  • StackStorm Intro on Software Gone Wild

    SGW team talk with StackStorm (including Matt Oswalt) to discuss StackStorm

SuzieQ

  • SuzieQ Documentation

    All official documentation including project overview, quick start, configuration guide, etc

  • SuzieQ Repository

    Open-source code for the SuzieQ project

  • SuzieQ Youtube

    Official youtube home of the SuzieQ project providing community meetups and demonstrations of the project in action

Products

  • eNMS

    A vendor-agnostic NMS for carrier-grade network visualization and network automation

  • Nautobot

    Nautobot is a Network Source of Truth and Network Automation Platform

  • netpalm

    netpalm is a ReST broker and abstraction layer for NAPALM, Netmiko, NCCLIENT or a Python Script

  • NSoT

    Network Source of Truth (NSoT) is a source of truth database and repository for tracking inventory and metadata of network entities to ease management and automation of network infrastructure

  • Rundeck

    Job scheduler and runbook (and Ansible playbook) automation

Library

  • 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

  • Cisco Genie Parsers

    Genie Parsers by Cisco

  • ciscoconfparse

    Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations

  • Cisco virl2_client

    Documentation for the VIRL 2 (aka CML) API Client. Use this library to create Python scripts to interact with CML

  • 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

  • Jinja2

    A full-featured template engine for Python

  • 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

  • netaddr

    Network address manipulation that supports a number of techniques (supernetting and subnetting)

  • 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

  • NUTS

    Network Unit Testing System is a Pytest plugin enabling writing network tests with YAML files

  • PyGNMI

    Pure Python implementation of gNMI client to interact with network functions

  • 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

  • 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

  • TextFSM

    Python module for parsing semi-structured text into Python tables

  • YAPYANG

    Python package that helps translate YANG data models to Python

Non-Core Ansible Modules

Pre-written Salt States (Formulas)

  • napalm-install-formula

    Salt formula to simplify the installation of the necessary packages and system dependencies for NAPALM

  • napalm-ntp-formula

    Formula to manage the NTP configuration on network devices, following the OpenConfig system YANG model

Vendor Abstraction Library

  • clicrud

    Brocade specific (MLX/VDX/ICX/CER/CES) CLI driver (Telnet & SSH)

  • cvprac

    Python library for Arista CVP

  • dnacentersdk

    Python library for Cisco DNA Center Platform API

  • f5-common-python

    Python SDK for configuration and monitoring of F5 BIG-IP devices via the iControl REST API

  • Infoblox Python Module

    Python wrapper for REST API

  • Infoblox Go Client

    Go wrapper for REST API

  • pan-python

    Multi-tool set for Palo Alto Networks PAN-OS, Panorama, WildFire and AutoFocus

  • pandevice

    Device framework for interacting with Palo Alto Networks devices

  • pyeapi

    Python library for Arista EOS

  • pyfg

    Python library for Fortinet

  • pyiosxr

    Python library for Cisco IOSXR

  • pyntc

    Python library focused on tasks related to device level and OS management

  • py-junos-eznc

    Python library for Junos automation

Tools

  • Batfish

    Open-source network validation application. Multi-vendor configuration parser with a detailed modeled based simulation to analyze all aspects of network behavior (routing, forwarding, security, etc...)

  • D2

    Create beautiful diagrams in minutes. Simple syntax. Endlessly customizable. D2 is the fastest and easiest way to get a mental model from your head onto the screen, then make edits with your team

  • Drawthe.net

    Draw network diagrams described in YAML files

  • IS-IS Watcher

    Tracks IS-IS topology changes by establishing a GRE tunnel with network devices via a history diagram

  • napalm-logs

    Cross-vendor normalisation for network syslog messages, following the OpenConfig and IETF YANG models

  • Network-Conditions-Emulator

    Artificially limit bandwidth, delay and loss rate on selected interfaces

  • netconan

    Network Configuration Anonymizer

  • NetCopa

    Network device configuration parser ("industry standard" -> YAML converter)

  • NetTowel

    Collection of useful network automation functions for the CLI

  • OSPF Watcher

    Tracks OSPF topology changes by establishing a GRE tunnel with network devices via a history diagram

  • Topolograph

    Python-based Web tool for visualisation of OSPF/ISIS topologies and making a prediction of network behaviour in case of network's outage

Network Telemetry

  • 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

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.nornir.tech

    Online development tool for Jinja2 templates and more

Online Parser / TextFSM

Online Parser / TTP

Hypervisors and Containers

  • 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

  • Proxmox

    Proxmox is an open source virtualization platform that provides an easy web interface (and REST API) for KVM and LXC

  • 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

  • Vagrant

    Vagrant enables users to create and configure lightweight, reproducible, and portable development environments

  • VirtualBox

    VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use

  • Vmware ESXi

    VMware ESXi is a purpose-built bare-metal hypervisor that installs directly onto a physical server

Network Simulators

  • Batfish

    Batfish provides a model-based simulation for multi-vendor networks, that enables routing, forwarding, security, compliance, and what-if scenario analysis of a network (or proposed change to a network)

  • 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

  • Forward Networks

    Forward Enterprise documents, searches, verifies, and predicts the behavior of your network by creating an always-accurate software copy of your entire network infrastructure for both on-prem and cloud

  • Juniper WANDL

    Juniper WANDL provides traffic engineering models that enable capacity planning, network optimization and what-if scenario analysis for carrier networks

  • SuzieQ

    SuzieQ is a agentless, multi-vendor network observability application

Backups

  • 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!

  • RANCID

    RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System), Subversion or Git to maintain history of changes

  • Sweet

    Network device configuration backups and change alerts for the 21st century - inspired by RANCID!

  • Unimus

    Configuration backup with an easy to use Web GUI. From nothing to backing-up 1000 routers in 15 minutes

IPAM

  • 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

  • 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

  • NSoT

    Network Source of Truth is an open source IPAM and network inventory database

  • 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

Configuration Management

  • Jerikan

    Network wide CMDB combining single source of truth in YAML, configs in Jinja2 and deployment with Ansible

  • 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

  • Unimus

    Network-wide configuration search and config diff over time in an easy to use web GUI

Books

Vendor Agnostic Products

  • 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

  • Forward Networks

    Forward Enterprise documents, searches, verifies, and predicts the behavior of your network by creating an always-accurate software copy of your entire network infrastructure for both on-prem and cloud

  • 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 . 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

  • NetMRI

    Vendor Agnostic NCCM tool with with policy engine and multi-vendor device lifecycle/vulnerability management. (Infoblox product)

  • NetYCE

    NetYCE lets you be in control of any and all of your networks, using its unique Design Driven Networking approach. Not stopping at network devices, but orchestrate end-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 open source project

Network Vendor Products

  • Cisco DNA Center

    Cisco DNA Center automates campus networks for faster workflows, faster troubleshooting through more visibility, and policy-driven security (inc. )

  • 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

Podcasts / Podcasts Feeds

Podcasts / Podcasts Episodes

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.