Other Tools and Programs
The Ansible community uses a range of tools for working with the Ansible project. This is a list of some of the most popular of these tools.
If you know of any other tools that should be added, this list can be updated by clicking “Edit on GitHub” on the top right of this page.
An open-source, free GUI text editor created and maintained by GitHub. You can keep track of git project changes, commit from the GUI, and see what branch you are on. You can customize the themes for different colors and install syntax highlighting packages for different languages. You can install Atom on Linux, macOS and Windows. Useful Atom plugins include:
A free, open-source text editor and IDE that supports auto-indentation, syntax highlighting and built in terminal shell(among other things).
A full IDE (integrated development environment) for Python software development. It ships with everything you need to write python scripts and complete software, including support for YAML syntax highlighting. It’s a little overkill for writing roles/playbooks, but it can be a very useful tool if you write modules and submit code for Ansible. Can be used to debug the Ansible engine.
A closed-source, subscription GUI text editor. You can customize the GUI with themes and install packages for language highlighting and other refinements. You can install Sublime on Linux, macOS and Windows. Useful Sublime plugins include:
GitGutter - shows information about files in a git repository.
SideBarEnhancements - provides enhancements to the operations on Sidebar of Files and Folders.
Sublime Linter - a code-linting framework for Sublime Text 3.
Pretty YAML - prettifies YAML for Sublime Text 2 and 3.
Yamllint - a Sublime wrapper around yamllint.
Visual studio code
An open-source, free GUI text editor created and maintained by Microsoft. Useful Visual Studio Code plugins include:
Ansible extension by Red Hat - provides autocompletion, syntax highlighting, hover, diagnostics, goto support, and command to run ansible-playbook and ansible-navigator tool for both local and execution-environment setups.
YAML Support by Red Hat - provides YAML support through yaml-language-server with built-in Kubernetes and Kedge syntax support.
An open-source, free command-line text editor. Useful vim plugins include:
An open-source Community edition and closed-source Enterprise edition, integrated development environments based on IntelliJ’s framework including IDEA, AppCode, CLion, GoLand, PhpStorm, PyCharm and others. Useful JetBrains platform plugins include:
Tools for validating playbooks
Ansible Lint - a highly configurable linter for Ansible playbooks.
Ansible Review - an extension of Ansible Lint designed for code review.
Molecule - a testing framework for Ansible plays and roles.
yamllint - a command-line utility to check syntax validity including key repetition and indentation issues.
Ansible cmdb - takes the output of Ansible’s fact gathering and converts it into a static HTML overview page containing system configuration information.
Ansible Inventory Grapher - visually displays inventory inheritance hierarchies and at what level a variable is defined in inventory.
Ansible Playbook Grapher - a command line tool to create a graph representing your Ansible playbook tasks and roles.
Ansible Shell - an interactive shell for Ansible with built-in tab completion for all the modules.
Ansible Silo - a self-contained Ansible environment by Docker.
Ansigenome - a command line tool designed to help you manage your Ansible roles.
ARA - ARA Records Ansible playbooks and makes them easier to understand and troubleshoot with a reporting API, UI and CLI.
Awesome Ansible - a collaboratively curated list of awesome Ansible resources.
AWX - provides a web-based user interface, REST API, and task engine built on top of Ansible. Red Hat Ansible Automation Platform includes code from AWX.
nanvault - a standalone tool to encrypt and decrypt files in the Ansible Vault format, featuring UNIX-style composability.
TD4A - a template designer for automation. TD4A is a visual design aid for building and testing jinja2 templates. It will combine data in yaml format with a jinja2 template and render the output.
PHP-Ansible - an object oriented Ansible wrapper for PHP.