Skip to content

Latest commit

 

History

History
175 lines (136 loc) · 16.6 KB

README.md

File metadata and controls

175 lines (136 loc) · 16.6 KB

Awesome Ansible Awesome

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.

⚠️ 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.

Community

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

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 Later - Another best practice scanner. Checks Playbooks and Roles 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.

Blog posts and opinions

Best practices and other opinions on Ansible.

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.

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