Awesome Ansible 

This is a collaborative community curated list of awesome Ansible
resources, tools, Roles, tutorials and other related stuff.
Ansible is an open source
toolkit, written in Python, it is used for configuration management,
application deployment, continuous delivery, IT infrastructure
automation and automation in general.
:warning: Before editing the list to add your project, take a look at
the Ansible
ecosystem project development resources. Let’s make sure our users,
contributors, and maintainers have the best possible experience!
Contents
Official resources
Official resources by and for Ansible.
Join the Ansible forum:
- Get Help - Get help
or help others. Please add appropriate tags if you start new
discussions.
- Bullhorn
newsletter - Used to announce releases and important changes.
- Social Spaces -
Gather and interact with fellow enthusiasts.
- News &
Announcements - Track project-wide announcements including social
events.
For more information about communication, see the Ansible
communication guide.
Tutorials
Tutorials and courses to learn Ansible.
Books
Books about Ansible.
Videos
Video tutorials and Ansible training.
Tools for and using Ansible.
- Automation
Controller - Automation Controller (formerly Ansible Tower) by Red
Hat helps you scale IT automation, manage complex deployments and speed
productivity. Extend the power of Ansible to your entire team.
- AWX - AWX provides a
web-based user interface, REST API, and task engine built on top of
Ansible. It is the upstream project for Automation Controller, a
commercial derivative of AWX.
- Ansible Lint -
Checks Playbooks for best practices and behavior that could potentially
be improved.
- Ansible
Doctor - Simple annotation like documentation generator for Ansible
roles based on Jinja2 templates.
- Ansible cmdb
- Takes the output of Ansible’s fact gathering and converts it into a
static HTML page.
- ARA - ARA
Records Ansible playbooks and makes them easier to understand and
troubleshoot with a reporting API, UI and CLI.
- Ansible
Inventory Grapher - Displays inventory inheritance hierarchies and
the level at which variables are defined in an inventory.
- Mitogen
for Ansible - Speed up Ansible substantially with Mitogen.
- Molecule -
Molecule aids in the development and testing of Ansible roles.
- Packer
Ansible Provisioner - This Provisioner can be used to automate VM
Image creation via Packer with Ansible.
- Excel
Ansible Inventory - Turn any Excel Spreadsheet into an Ansible
Inventory.
- terraform.py -
Ansible dynamic inventory script for parsing Terraform state files.
- ansible-navigator
- A text-based user interface (TUI) for Ansible.
- squest -
Self-service portal for Automation Controller job templates.
- ansible-bender
- Tool which bends containers using Ansible playbooks and turns them
into container images.
- ansible-runner - A
tool and python library that helps when interfacing with Ansible
directly or as part of another system whether that be through a
container image interface, as a standalone tool, or as a Python module
that can be imported.
- ansible-builder
- Using Ansible content that depends on non-default dependencies can be
tricky. Packages must be installed on each node, play nicely with other
software installed on the host system, and be kept in sync.
- kics - SAST Tool
that scans your ansible infrastructure as code playbooks for security
vulnerabilities, compliance issues and misconfigurations.
- php-ansible
Library - OOP-Wrapper for Ansible, making Ansible available in
PHP.
- TD4A - Design aid
for building and testing jinja2 templates, combines data in yaml format
with a jinja2 template and render the output.
- Ansible
Playbook Grapher - Command line tool to create a graph representing
your Ansible playbook plays, tasks and roles.
- ansible-doc-extractor
- A tool that extracts documentation from Ansible modules in the HTML
form.
- Ansible
Semaphore - Ansible Semaphore is a modern UI for Ansible.
- Steampunk Spotter -
Provides an Assisted Automation Writing tool that analyzes and offers
recommendations for your Ansible Playbooks.
- ansible-roster
- Ansible Roster inventory plugin to generate inventory from a host
oriented yaml file. Supports ranges, regex hostnames, file inclusions,
and variable merging.
- Monkeyble
- A callback plugin that allow to execute end-to-end tests on playbooks
with a Pythonic testing and CI/CD approach to detect regressions.
- aar-doc
- Automated Ansible Role Documentation - Generate documentation
automatically from an Ansible role’s metadata.
- antsichaut -
Automate the filling of a changelog.yaml used by
antsibull-changelog.
- ansibledb -
Flask API Web server that uses MongoDB as database to store Ansible
reports and facts; this tool can be used to query hosts and facters
managed Ansible as well search Ansible logs.
- Ansible
Template Playground - Online playground for running, testing and
sharing Ansible templates.
Blog posts and opinions
Best practices and other opinions on Ansible.
- Ansible
(Real Life) Good Practices - Best practice guidelines.
- Testing
Ansible Roles Against Windows with Test-Kitchen - Using Test-Kitchen
with Ansible to apply playbooks to Windows machines and test them with
Pester.
- Ansible
Best Practices by AndiDog - Practices covering many aspects of an
Ansible setup, including hints to support different environments
(testing, staging, production).
- Getting
started with Ansible - Introduces Ansible, provides installation
instructions and gives an interactive walkthrough of Ansible’s basic
functionalities, like running Ansible playbooks and installing Ansible
content.
- Taking
Ansible apart - Describes and shows how most commonly used Ansible
components work.
- Enhancing Ansible
Development with SOLID Principles - Discover how the fundamental
principles of SOLID—Single Responsibility, Open-Closed, Liskov
Substitution, Interface Segregation, and Dependency Inversion—can
significantly elevate your Ansible role and playbook development.
- Functional
programming design patterns in Ansible code - Borrowing functional
programming (FP) principles to improve Ansible code quality. How to
adopt functional patterns like pure functions, clear separation of
effects, immutability, composition, and lazy evaluation can make Ansible
automation far easier to test, debug, understand, and extend.
German
French
Playbooks, Roles and
Collections
Awesome production ready Playbooks, Roles and Collections to get you
up and running.
Editor and IDE Integrations
Awesome Integrations into Text Editors and IDE’s to make development
with/for Ansible easier.
- Ansible
Language Server - Language Server that adds support for Ansible, to
compatible Editors.
- VS
Code - official Ansible Extension - Adds language support for
Ansible to Visual Studio Code and OpenVSX compatible editors by
leveraging ansible-language-server.
- Vim - An open-source, free
command-line text editor. Useful Vim plugins include:
- Ansible vim
- A vim syntax plugin for Ansible 2.x, it supports YAML playbooks,
Jinja2 templates, and Ansible’s hosts files.
- Ansible vim
and neovim plugin - A vim plugin (lsp client) for Ansible, it
supports autocompletion, syntax highlighting, hover, diagnostics, and
goto support.
- Emacs - A free,
open-source text editor and IDE that supports auto-indentation, syntax
highlighting and a built in terminal shell (among other things):
- lsp-mode
- Ansible Language Server Protocol support for Emacs: provides syntax
highlighting, auto-completion and diagnostics.
- yaml-mode - YAML
highlighting and syntax checking.
- jinja2-mode -
Jinja2 highlighting and syntax checking.
- magit-mode - Git
porcelain within Emacs.
- flymake-ansible-lint
- Ansible Lint integration with automatic/continuous annotation of
errors, warnings, and info while editing.
- PyCharm - A full
IDE for Python software development. Useful plugins include:
- Ansible
Lint - Ansible Lint integration with automatic/continuous annotation
of errors, warnings, and info while editing.
- Ansible
Vault Integration - Ansible vault integration for IntelliJ IDEA with
context actions for vaulting and unvaulting secrets.
ansible.md
Github