Files
awesome-awesomeness/html/ansible.html
2024-04-20 19:22:54 +02:00

419 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-ansible-awesome">Awesome Ansible <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<!--lint disable double-link-->
<p><a
href="https://www.ansible.com/"><img src="ansible_logo.svg" align="right" width="90"></a></p>
<blockquote>
<p>A collaborative curated list of awesome Ansible resources, tools,
Roles, tutorials and other related stuff.</p>
</blockquote>
<p><a href="https://www.ansible.com/">Ansible</a> 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. <!--lint enable double-link--> ##
Contents</p>
<ul>
<li><a href="#official-resources">Official resources</a></li>
<li><a href="#community">Community</a></li>
<li><a href="#tutorials">Tutorials</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#videos">Videos</a></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#blog-posts-and-opinions">Blog posts and opinions</a></li>
<li><a href="#playbooks-roles-and-collections">Playbooks, Roles and
Collections</a></li>
<li><a href="#editor-and-ide-integrations">Editor and IDE
Integrations</a></li>
</ul>
<h2 id="official-resources">Official resources</h2>
<blockquote>
<p>Official resources by and for Ansible.</p>
</blockquote>
<ul>
<li><a
href="https://docs.ansible.com/ansible/latest/user_guide/index.html">Latest
Ansible Documentation</a> - Latest user guide and documentation for
Ansible.</li>
<li><a href="https://galaxy.ansible.com/">Ansible Galaxy Website</a> -
Official repository and community site for Ansible Roles.</li>
<li><a href="https://www.ansible.com/blog">Ansible Blog</a> - Official
Ansible blog.</li>
</ul>
<h2 id="community">Community</h2>
<blockquote>
<p>Places where to chat with the Ansible community</p>
</blockquote>
<ul>
<li>About code - <a
href="https://github.com/ansible">GitHub.com/ansible</a>, <a
href="https://github.com/ansible-collections">GitHub.com/ansible-collections</a>
and <a
href="https://github.com/ansible-community">GitHub.com/ansible-community</a>.</li>
<li><a href="https://old.reddit.com/r/ansible/">reddit.com/r/ansible</a>
- The Ansible subreddit.</li>
<li><a
href="https://old.reddit.com/r/ansible/comments/jv5shj/ansible_discord_server_come_get_ansible_help_in/">Discord</a>
- The Ansible discord.</li>
<li><a href="https://ansible.com/community">ansible.com/community</a> -
Twitter, mailing lists, meetups and more.</li>
</ul>
<p>There are also many Ansible IRC channels on <a
href="https://libera.chat/">libera.chat</a> that are bridged to <a
href="https://matrix.org/">Matrix</a>. You can find the full list and
how to connect in the official documentation <a
href="https://docs.ansible.com/ansible/latest/community/communication.html">documentation</a>
but heres a few:</p>
<table>
<colgroup>
<col style="width: 15%" />
<col style="width: 19%" />
<col style="width: 65%" />
</colgroup>
<thead>
<tr class="header">
<th>IRC</th>
<th>Matrix</th>
<th>Topic</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>#ansible</td>
<td>#users:ansible.com</td>
<td>General Ansible user support and discussion</td>
</tr>
<tr class="even">
<td>#ansible-devel</td>
<td>#devel:ansible.com</td>
<td>Developer discussions around code, bugs and features</td>
</tr>
<tr class="odd">
<td>#ansible-community</td>
<td>#community:ansible.com</td>
<td>Community working group, wide range of topics including weekly
meetings</td>
</tr>
<tr class="even">
<td>#ansible-docs</td>
<td>#docs:ansible.com</td>
<td>Documentation working group, discuss docs and participate in weekly
meetings</td>
</tr>
<tr class="odd">
<td>#ansible-devtools</td>
<td>#devtools:ansible.com</td>
<td>For devtools such as ansible-lint, molecule and the vscode
plugin</td>
</tr>
<tr class="even">
<td>#ansible-awx</td>
<td>#awx:ansible.com</td>
<td>For the AWX open source project, upstream of Ansible
Tower/Automation controller</td>
</tr>
<tr class="odd">
<td>#ansible-network</td>
<td>#network:ansible.com</td>
<td>For general support and discussion around network automation with
Ansible</td>
</tr>
<tr class="even">
<td>#ansible-fr</td>
<td>#francais:ansible.com</td>
<td>For discussion about Ansible in french</td>
</tr>
</tbody>
</table>
<h2 id="tutorials">Tutorials</h2>
<blockquote>
<p>Tutorials and courses to learn Ansible.</p>
</blockquote>
<ul>
<li><a
href="https://www.digitalocean.com/community/tutorial_series/how-to-manage-remote-servers-with-ansible">How
To Manage Remote Servers with Ansible</a> - This Tutorial goes over how
to use Ansible to manage remote servers.</li>
<li><a href="https://github.com/leucos/ansible-tuto">Ansible Tutorial by
leucos</a> - 12 Step Tutorial for Ansible.</li>
<li><a href="https://hackr.io/tutorials/learn-ansible">Programming
Community Curated Resources for learning Ansible</a> - A list of
recommended resources.</li>
<li><a
href="https://www.toptechskills.com/ansible-tutorials-courses/">Ansible
TopTechSkills.com Tutorial Series on Ansible</a> - Tutorials on how to
Install and use Ansible.</li>
<li><a
href="https://ansible.github.io/workshops/exercises/ansible_rhel/">Official
Ansible labs by Red Hat</a> - Training Course for Ansible Automation
Platform.</li>
<li><a
href="https://www.digitalocean.com/community/tags/ansible?subtype=tutorial">Ansible
Tutorials on DigitalOcean</a> - Basic tutorials on
DigitalOcean.com.</li>
<li><a
href="http://bluebanquise.com/documentation/releases/1.5.0/training_ansible.html">Ansible
Tutorial by BlueBanquise team</a> - Basic Ansible tutorial.</li>
<li><a href="https://spacelift.io/blog/ansible-tutorial">Ansible
Tutorial for Beginners: Playbook &amp; Examples</a> - Introduction to
Ansible for beginners.</li>
<li><a href="https://ansible.puzzle.ch/">Ansible Tutorials for Beginners
and Advanced</a> - Workshop on multiple topics with different levels of
difficulty.</li>
<li><a href="https://github.com/geerlingguy/ansible-for-devops">Ansible
For DevOps</a> - This repository contains Ansible examples developed to
support different sections of <a
href="https://www.ansiblefordevops.com">Ansible for DevOps</a>, a book
on Ansible by Jeff Geerling.</li>
</ul>
<h2 id="books">Books</h2>
<blockquote>
<p>Books about Ansible.</p>
</blockquote>
<ul>
<li><a href="https://www.ansiblefordevops.com/">Ansible for DevOps</a> -
This book helps to start using Ansible to provision and manage anywhere
from one to thousands of servers. Free sample can be read <a
href="https://leanpub.com/ansible-for-devops/read_sample">here</a>.</li>
<li><a href="https://www.ansibleforkubernetes.com/">Ansible for
Kubernetes</a> - Deploy and maintain real-world massively-scalable and
high-available applications with Ansible.</li>
<li><a
href="https://www.digitalocean.com/community/books/how-to-manage-remote-servers-with-ansible-ebook">How
To Manage Remote Servers with Ansible eBook</a> - This book is based on
the “How To Manage Remote Servers with Ansible” tutorial series.</li>
</ul>
<h2 id="videos">Videos</h2>
<blockquote>
<p>Video tutorials and Ansible training.</p>
</blockquote>
<ul>
<li><a
href="https://www.youtube.com/channel/UCPJo5UY1KsP7J1BuHmiWNzQ">Ansible
YouTube Channel</a> - Official Ansible YouTube channel.</li>
<li><a href="https://youtu.be/iVWmbStE1MM">Introduction to Ansible</a> -
Introduction to Ansible by Cloud Academy.</li>
<li><a
href="https://www.jeffgeerling.com/blog/2020/ansible-101-jeff-geerling-youtube-streaming-series">Ansible
101 by Jeff Geerling</a> - Great video series on Ansible, by Jeff
Geerling.</li>
<li><a
href="https://www.youtube.com/playlist?list=PLMyOob-UkeytIleCbMlFfCzaunOh27hm6">Ansible
TopTechSkills.com Tutorial Series on YouTube</a> - Video tutorials on
Ansible.</li>
<li><a
href="https://www.redhat.com/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview">Ansible
Essentials - Course</a> - Free Video Classroom on Ansible essentials by
Red Hat.</li>
<li><a
href="https://www.youtube.com/watch?v=KuiAiUyuDY4&amp;list=PLnFWJCugpwfzTlIJ-JtuATD2MBBD7_m3u&amp;index=1">Complete
Ansible Course 2020 by DevOps Journey</a> - Free Video Course on Ansible
including labs to follow along.</li>
<li><a
href="https://youtube.com/playlist?list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70">Getting
started with Ansible</a> - YouTube tutorial series by LearnLinuxTV.</li>
</ul>
<h2 id="tools">Tools</h2>
<blockquote>
<p>Tools for and using Ansible.</p>
</blockquote>
<ul>
<li><a href="https://www.ansible.com/products/controller">Automation
Controller</a> - 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.</li>
<li><a href="https://github.com/ansible/awx">AWX</a> - 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.</li>
<li><a href="https://github.com/ansible/ansible-lint">Ansible Lint</a> -
Checks Playbooks for best practices and behavior that could potentially
be improved.</li>
<li><a href="https://github.com/thegeeklab/ansible-later">Ansible
Later</a> - Another best practice scanner. Checks Playbooks and Roles
for best practices and behavior that could potentially be improved.</li>
<li><a href="https://github.com/thegeeklab/ansible-doctor">Ansible
Doctor</a> - Simple annotation like documentation generator for Ansible
roles based on Jinja2 templates.</li>
<li><a href="https://github.com/fboender/ansible-cmdb">Ansible cmdb</a>
- Takes the output of Ansibles fact gathering and converts it into a
static HTML page.</li>
<li><a href="https://github.com/ansible-community/ara">ARA</a> - ARA
Records Ansible playbooks and makes them easier to understand and
troubleshoot with a reporting API, UI and CLI.</li>
<li><a
href="https://mitogen.networkgenomics.com/ansible_detailed.html">Mitogen
for Ansible</a> - Speed up Ansible substantially with Mitogen.</li>
<li><a href="https://molecule.readthedocs.io/en/latest/">Molecule</a> -
Molecule aids in the development and testing of Ansible roles.</li>
<li><a
href="https://www.packer.io/plugins/provisioners/ansible/ansible-local">Packer
Ansible Provisioner</a> - This Provisioner can be used to automate VM
Image creation via Packer with Ansible.</li>
<li><a
href="https://github.com/KeyboardInterrupt/ansible_xlsx_inventory">Excel
Ansible Inventory</a> - Turn any Excel Spreadsheet into an Ansible
Inventory.</li>
<li><a href="https://github.com/mantl/terraform.py">terraform.py</a> -
Ansible dynamic inventory script for parsing Terraform state files.</li>
<li><a
href="https://github.com/ansible/ansible-navigator">ansible-navigator</a>
- A text-based user interface (TUI) for Ansible.</li>
<li><a href="https://hewlettpackard.github.io/squest/">squest</a> -
Self-service portal for Automation Controller job templates.</li>
<li><a
href="https://ansible-community.github.io/ansible-bender/build/html/index.html">ansible-bender</a>
- Tool which bends containers using Ansible playbooks and turns them
into container images.</li>
<li><a
href="https://github.com/ansible/ansible-runner">ansible-runner</a> - 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.</li>
<li><a
href="https://ansible-builder.readthedocs.io/en/latest/">ansible-builder</a>
- 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.</li>
<li><a href="https://github.com/Checkmarx/kics">kics</a> - SAST Tool
that scans your ansible infrastructure as code playbooks for security
vulnverables, compliance issues and misconfigurations.</li>
<li><a href="https://github.com/maschmann/php-ansible">php-ansible
Library</a> - OOP-Wrapper for Ansible, making Ansible available in
PHP.</li>
<li><a href="https://github.com/cidrblock/td4a">TD4A</a> - Design aid
for building and testing jinja2 templates, combines data in yaml format
with a jinja2 template and render the output.</li>
<li><a
href="https://github.com/haidaraM/ansible-playbook-grapher">Ansible
Playbook Grapher</a> - Command line tool to create a graph representing
your Ansible playbook plays, tasks and roles.</li>
<li><a
href="https://github.com/xlab-steampunk/ansible-doc-extractor">ansible-doc-extractor</a>
- A tool that extracts documentation from Ansible modules in the HTML
form.</li>
<li><a href="https://github.com/ansible-semaphore/semaphore">Ansible
Semaphore</a> - Ansible Semaphore is a modern UI for Ansible.</li>
<li><a href="https://steampunk.si/spotter/">Steampunk Spotter</a> -
Provides an Assisted Automation Writing tool that analyzes and offers
recommendations for your Ansible Playbooks.</li>
<li><a
href="https://gitlab.com/jlecomte/ansible/ansible-roster">ansible-roster</a>
- Ansible Roster inventory plugin to generate inventory from a host
oriented yaml file. Supports ranges, regex hostnames, file inclusions,
and variable merging.</li>
<li><a href="https://hewlettpackard.github.io/monkeyble/">Monkeyble</a>
- A callback plugin that allow to execute end-to-end tests on playbooks
with a Pythonic testing and CI/CD approach to detect regressions.</li>
<li><a
href="https://github.com/telekom-mms/Automated-Ansible-Role-Documentation">aar-doc
- Automated Ansible Role Documentation</a> - Generate documentation
automatically from an Ansible roles metadata.</li>
<li><a
href="https://github.com/ansible-community/antsichaut">antsichaut</a> -
automate the filling of a changelog.yaml used by
antsibull-changelog.</li>
</ul>
<h2 id="blog-posts-and-opinions">Blog posts and opinions</h2>
<blockquote>
<p>Best practices and other opinions on Ansible.</p>
</blockquote>
<ul>
<li><a
href="https://reinteractive.com/posts/167-ansible-real-life-good-practices">Ansible
(Real Life) Good Practices</a> - Best practice guidelines.</li>
<li><a
href="https://hodgkins.io/testing-ansible-roles-windows-test-kitchen">Testing
Ansible Roles Against Windows with Test-Kitchen</a> - Using Test-Kitchen
with Ansible to apply playbooks to Windows machines and test them with
<a href="https://github.com/pester/Pester/">Pester</a>.</li>
<li><a
href="https://andidog.de/blog/2017-04-24-ansible-best-practices">Ansible
Best Practices by AndiDog</a> - Practices covering many aspects of an
Ansible setup, including hints to support different environments
(testing, staging, production).</li>
<li><a
href="https://steampunk.si/blog/getting-started-with-ansible/">Getting
started with Ansible</a> - Introduces Ansible, provides installation
instructions and gives an interactive walkthrough of Ansibles basic
functionalities, like running Ansible playbooks and installing Ansible
content.</li>
<li><a href="https://steampunk.si/blog/taking-ansible-apart/">Taking
Ansible apart</a> - Describes and shows how most commonly used Ansible
components work.</li>
</ul>
<h3 id="german">German</h3>
<ul>
<li><a
href="https://www.my-it-brain.de/wordpress/ansible-was-ich-am-ad-hoc-modus-schaetze/">Ansible
Was ich am Ad-hoc-Modus schätze</a> - Opinion what the author likes
about the Ansible Ad-Hoc mode.</li>
</ul>
<h3 id="french">French</h3>
<ul>
<li><a
href="https://blog.stephane-robert.info/post/introduction-ansible/">Apprendre
et Maitriser Ansible loutil de gestion de configuration</a> - A large
of courses on Ansible in French.</li>
</ul>
<h2 id="playbooks-roles-and-collections">Playbooks, Roles and
Collections</h2>
<blockquote>
<p>Awesome production ready Playbooks, Roles and Collections to get you
up and running.</p>
</blockquote>
<ul>
<li><a
href="https://github.com/geerlingguy/ansible-vagrant-examples">Ansible
Vagrant Examples by geerlingguy</a> - Ansible examples using Vagrant to
deploy to local VMs.</li>
<li><a
href="https://github.com/olivomarco/my-ansible-linux-setup">Ansible
playbook for Linux machine setup</a> - Ansible playbook for setting up a
self-updating, hardened Debian/Ubuntu machine with Docker daemon.</li>
<li><a href="https://dev-sec.io/">DevSec Hardening Framework</a> - The
DevSec collection helps you harden your Linux Based OS as well as MySQL,
NGINX and SSH Server/Services.</li>
<li><a href="https://github.com/Thomvaill/tads-boilerplate">T.A.D.S.
boilerplate</a> - Provision and deploy a Docker Swarm cluster to
development environment and to production. Infrastructure as Code and
DevOps best practices.</li>
<li><a href="https://github.com/openstack/openstack-ansible">Openstack
Ansible</a> - Ansible Playbooks for deploying <a
href="https://www.openstack.org/">OpenStack</a>.</li>
<li><a href="https://robertdebock.nl">Robert de Bock</a> - A extensive
collection of Ansible roles.</li>
<li><a href="https://docs.debops.org/en/master/">DebOps</a> - A
extensive collection of Debian based Ansible Playbooks.</li>
<li><a href="https://github.com/HQarroum/ansible-ssm">ansible-ssm</a> -
An ansible role to provision physical and virtual hosts with the AWS SSM
agent.</li>
<li><a
href="https://github.com/bluebanquise/bluebanquise">BlueBanquise</a> -
An ansible coherent roles collection to deploy clusters.</li>
<li><a
href="https://github.com/search?q=topic%3Aansible+org%3Aredhat-cop&amp;type=Repositories&amp;s=updated&amp;o=desc">redhat-cop</a>
- Repositories with ansible topic of the Red Hat Communities of Practice
project.</li>
</ul>
<h2 id="editor-and-ide-integrations">Editor and IDE Integrations</h2>
<blockquote>
<p>Awesome Integrations into Text Editors and IDEs to make development
with/for Ansible easier.</p>
</blockquote>
<ul>
<li><a href="https://github.com/ansible/ansible-language-server">Ansible
Language Server</a> - Language Server that adds support for Ansible, to
compatible Editors.</li>
<li><a
href="https://emacs-lsp.github.io/lsp-mode/page/lsp-ansible/">Emacs -
Ansible client for Language Server Protocol</a> - Emacs support for
Ansible Language Server Protocol.</li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=redhat.ansible">VS
Code - official Ansible Extension</a> - Adds language support for
Ansible to Visual Studio Code and OpenVSX compatible editors by
leveraging ansible-language-server.</li>
</ul>