Learn Ansible Automation in 250+examples and practical lessons
Introduction
Ansible Ad-Hoc command - ansible command
Ansible terminology - What is an Ansible Playbook
Ansible terminology - Ansible vs Ansible-core packages
How to install Ansible in RedHat Enterprise Linux 8
How to install Ansible in Amazon Linux 2 (AWS EC2)
How to install Ansible in Fedora 34
How to install Ansible in Ubuntu 20.04 LTS
How to install Ansible in Ubuntu 21.10
How to install Ansible in Ubuntu 22.04 LTS
How to install Ansible in Fedora 35
How to install Ansible in CentOS 8
How to install Ansible in CentOS Stream 8
How to install Ansible in CentOS 9 Stream
How to install Ansible in Debian 11
How to install Ansible in OpenSUSE Leap 15
How to install Ansible in Rocky Linux 8
How to install Ansible in macOS
How to install Ansible with PIP
How to install Ansible in Windows 10 WSL - Windows Subsystem for Linux
How to install Ansible in Windows 11 WSL_ Windows Subsystem for Linux
How to install Ansible in ArchLinux 2021.12.01
How to install Ansible in Gentoo Linux
How to install Ansible in AlmaLinux 8
How to install Ansible in Oracle Linux 8
How to install Ansible in SUSE Linux Enterprise Server (SLES) 15 SP3
How to install Ansible in RedHat Enterprise Linux 9 Beta
How to install Ansible in Fedora 36
How to install Ansible in RedHat Enterprise Linux 9
How to install Ansible in AlmaLinux 9
How to install Ansible in OracleLinux 9
How to install Ansible in Rocky Linux 9
Print a text or variable during execution - Ansible module debug
Pause execution - Ansible module pause
How to Pass Variables to Ansible Playbook in the command line_ - Ansible extra
Break a string over multiple lines - Ansible Literal and Folded Block Operator
Ansible terminology - ansible_hostname vs inventory_hostname
Set remote environment per task or play - Ansible environment statement
Execute command on the Ansible host - Ansible localhost
Three options to Safely Limit Ansible Playbooks Execution to a Single Machine
Ansible modules - command vs shell
Write a Variable to a File - Ansible module copy vs template
How to Run Only One Task in Ansible Playbook_ - Ansible tags statement
Filter A List By Its Attributes - Ansible selectattr filter
Using Date, Time and Timestamp in Ansible Playbook - Ansible Tip and Tricks
Using Date, Time and Timestamp without Facts in Ansible Playbook - Ansible date
Ansible Playbook Dry Run - check and diff mode
Current ansible-playbook Path - playbook_dir Magic Variable
Ansible Magic Variables - Ansible Tip and Tricks
Run a Python Script on Remote Machines - Ansible module script
Build a Custom Ansible Execution Environment - ansible-builder command-line tool
Run an Ansible Execution Environment - ansible-runner command-line tool
Edit single line text - Ansible module lineinfile
Edit multi-line text - Ansible module blockinfile
Test host availability - Ansible module ping
Reboot remote hosts - Ansible module reboot
Checkout git repository via SSH - Ansible module git
Checkout git repository via HTTPS - Ansible module git
Copy files from remote hosts - Remote to Local - Ansible module fetch
Copy files to remote hosts - Local to Remote - Ansible module copy
Copy Multiple Files - Ansible lookup plugin fileglob
Start and enable services on boot on remote hosts - Ansible module service_facts
Stop and disable services on boot on remote hosts - Ansible module service
Apply a file template - Ansible module template
Restart services on remote hosts - Ansible module service
Schedule a Cron Job task in Linux - Ansible module cron
Loop in file template - Ansible module template - Generate hosts file
Read file from remote hosts - Ansible module slurp
Read a file into a variable on host - Ansible lookup plugin file
Download a file using an HTTPS proxy via environment variables - Ansible get_url
Read an environment variable - Ansible lookup plugin env
Permanently Set Remote System Wide Environment Variables on Linux - Ansible lineinfile
Reduce Intel Laptop CPU Temperature Overheating In Linux - ansible module package
Read a JSON file into a variable - Ansible lookup plugin file
How to Download and Use Ansible Galaxy Roles — ansible-galaxy and requirements
Download and Use Ansible Galaxy Collection - ansible-galaxy and requirements.yml
Build & Run an Ansible Execution Environment - ansible-builder & ansible-runner
Create an empty file - Ansible module file
Create a text file - Ansible module copy
Check if a file exists - Ansible module stat
Create a directory - Ansible module file
Check if a directory exists - Ansible module stat
Rename file or directory - Ansible module copy and file
Change file permission - Ansible module file
Add Execute Permission 755 on Linux file — Ansible module file
Delete file or directory - Ansible module file
Create a symbolic link (also symlink or soft link) in Linux -Ansible module file
Create a hard link in Linux - Ansible module file
Download a file - Ansible module get_url
Extract an archive - Ansible module unarchive
Mount a Windows share in Linux SMB or CIFS - Ansible module mount
Mount an NFS share in Linux - Ansible module mount
Concatenate multiple files in a specific order - Ansible module template and YAM
Backup With Rsync — Local to Remote — Ansible module synchronize
Find All Files with Extension - Ansible module find
Search for a String in a File -Ansible module lineinfile
How to Delete Only Files Inside a Directory - Ansible module find
Create ISO image from Files and Folders - Ansible module iso_create
Create a New LVM Partition - Ansible module parted
Create a user account - Ansible module user
Remove user account - Ansible module user
Change user password - Ansible module user
Disable user account - Ansible module user
Enable user account - Ansible module user
User password expiration - Ansible module user
Create a group in Linux - Ansible module group
Delete a group - Ansible module group
Add a User to a Second Group on Linux - Ansible module user
Change the User Primary Group on Linux - Ansible module user
Submit a GET request to a REST API endpoint - Interact with web services - uri
Token Based Authentication in REST API - Interact with webservice - Ansible uri
Set sysctl kernel parameters - Ansible module sysctl
Load and Unload Kernel Modules in Linux - Ansible module modprobe
Configure Kernel Parameters in RedHat-like Linux systems - Ansible system role
Set the SELinux Policy States and Modes on Linux - Ansible module selinux
Enable or Disable Permissive Domain in SELinux policy on Linux - Ansible module
Enable or Disable SELinux Boolean on Linux - Ansible module seboolean
Vulnerability Scanner Log4Shell Remote Code Execution Log4j (CVE-2021–44228)
How to mitigrate Polkit Privilege Escalation - PWNKIT (CVE-2021-4034) on RedHat
Register a system with Red Hat Subscription-Manager - Ansible module redhat_subs
Install a package in RedHat like systems - Ansible module yum
Deploy a web server apache httpd on RedHat-like systems - Ansible modules yum, copy, service firewalld
Rolling Update RedHat like systems - Ansible module yum
Open firewall ports in RedHat like systems - Ansible module firewalld
Install Google Chrome in RedHat-like systems - Ansible module rpm_key, yum_repository and yum
Install Microsoft Edge in RedHat-like systems - Ansible module rpm_key, yum_repository and yum
NFS Server - Export an NFS Share in RedHat-like systems - six Ansible modules
Deploy a proxy server squid on RedHat-like systems - Ansible modules yum, template, service and firewalld
Deploy a web server apache httpd virtual host on RedHat-like systems - Ansible modules yum, file, copy, template, service and firewalld
Install a package in Debian like systems - Ansible module apt
Rolling Update Debian-like systems - Ansible module apt
Open firewall ports in Debian like systems - Ansible module ufw
Install Google Chrome in Debian-like systems - Ansible module apt_key, apt_repository and apt
Install Microsoft Edge in Debian-like systems - Ansible module apt_key, apt_repository and apt
Deploy a web server apache httpd on Debian-like systems - Ansible modules apt, copy, service and ufw
Deploy a web server apache httpd virtualhost on Debian-like systems - Ansible modules apt, file, copy, template, command, ufw and service
Install a package in Suse-like systems - Ansible module zypper
Install Google Chrome in Suse-like systems - Ansible module rpm_key, zypper_repository and zypper
Configure a Windows Host for Ansible - ansible winrm
Test Windows host availability - Ansible module win_ping
Create an empty file in Windows-like systems - Ansible module win_file
Check if a file exists on Windows-like systems - Ansible module win_stat
Install Windows software - Ansible module win_chocolatey
Copy files to Windows remote hosts - Local to Remote - Ansible module win_copy
Copy files from Windows remote hosts - Ansible module fetch
Reboot Windows hosts - Ansible module win_reboot
Install Google Chrome in Windows-like systems - Ansible module win_chocolatey
Extract an archive in Windows-like systems - Ansible module win_unzip
Download a file in Windows-like systems - Ansible module win_get_url
Create a directory on Windows-like systems - Ansible module win_file
Check if a directory exists on Windows-like systems - Ansible module stat
Check Registry .NET Framework version on Windows-like systems - Ansible module win_reg_stat
Rolling Update Windows-like systems - Ansible module win_updates
Add Windows Registry on Windows-like systems - Ansible module win_regedit
Remove Windows Registry path or key on Windows-like systems - Ansible module win
Create a local group on Windows-like systems - Ansible module win_group
Remove a local group on Windows-like systems - Ansible module win_group
Create a local user on Windows-like systems - Ansible module win_user
Remove a local user on Windows-like systems - Ansible module win_user
Change local user password on Windows-like systems - Ansible module win_user
Backup With Robocopy on Windows - Ansible module win_robocopy
Ansible modules - win_command vs win_shell
OInstall Red Hat OpenShift Local in MacOS (was CodeReady Containers)
Install Ansible for Mac Universal (Intel Chip and Apple Silicon) using Homebrew
Install Visual Studio Code for Mac Universal (Intel Chip and Apple Silicon)
Install Docker in Debian-like systems - Ansible apt_key, apt_repository, apt
Install Docker in RedHat-like systems - Ansible rpm_key, yum_repository and yum
Install Docker in Windows-like systems - Ansible module win_chocolatey
Install Zoom flatpack in Debian-like systems - Ansible module flatpak
Install Zoom flatpak in RedHat-like systems - Ansible module flatpak
Update Zoom flatpak(s) in Linux systems - Ansible module command
Install Spotify snap in Debian-like systems - Ansible module snap
Install Spotify snap in RedHat-like systems - Ansible module snap
Setup Apache Web Server in a Docker Container for Debian-like systems - Ansible modules docker_image and docker_container
Deploy Apache Web Server in a Podman Container for RedHat-like systems - Ansible modules podman_image and podman_container
Install Red Hat CodeReady Containers to run OpenShift 4 in macOS
Create Kubernetes K8s or OpenShift OCP Namespace Project - Ansible module k8s
Create Kubernetes K8s or OpenShift OCP Pod - nginx - Ansible module k8s
Create Kubernetes K8s or OpenShift OCP service - Ansible module k8s
R005_Create Kubernetes K8s or OpenShift OCP Secret - Ansible module k8s
Assign CPU Resources to Kubernetes K8s or OpenShift OCP Containers and Pods — Ansible module k8s
Assign Memory Resources to Kubernetes K8s or OpenShift OCP Containers and Pods - Ansible module k8s
Configure a Pod to Use a Volume for Storage - Ansible module k8s
Apply Multiple Yaml Files at Once on Kubernetes K8s or OpenShift OCP - Ansible module k8s and lookup plugin fileglob
Configure Ansible for VMware - ansible collection community.vmware
Configure a Python Virtual Environment for Ansible VMware - ansible collection community.vmware
Ansible troubleshooting - VMware Failed to Import PyVmomi
Ansible troubleshooting - VMware Unknown error while connecting to vCenter or ESXi
Ansible troubleshooting - VMware certificate verify failed connecting to vCenter or ESXi
Create a VMware vSphere Virtual Machine - Ansible module vmware_guest
Deploy a VMware vSphere Virtual Machine from a Template - Ansible module vmware_guest
Start a VMware vSphere Virtual Machine - Ansible module vmware_guest_powerstate
Stop a VMware vSphere Virtual Machine — Ansible module vmware_guest_powerstate
Take a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot
Delete a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot
Add a New Hard Disk to VMware vSphere Virtual Machine - Ansible module vmware_guest_disk
Expand a Virtual Disk in VMware vSphere Virtual Machine - Ansible module vmware_guest_disk
Ansible Dynamic Inventory For VMware - Ansible community.vmware.vmware_vm_inventory
Gather Info about all VMware ESX_ESXi Hosts in a given Cluster - Ansible module vmware_host_config_info
Get VMware vSphere Virtual Machine UUID - Ansible module vmware_guest_info
Backup Config on Dell EMC Networking Operating System DNOS 6 - Ansible Network dellemc.os6
Backup Config on Dell EMC Networking Operating System DNOS 10 - Ansible Network dellemc.os10
Backup Config on Mikrotik RouterOS - Ansible Network community.routeros
Configure Ansible for AWS - ansible collection amazon.aws
Configure a Python Virtual Environment for Ansible AWS - ansible collection amazon.aws
Search for AWS EC2 AMI ID by Region - Ansible module ec2_ami_info
Ansible troubleshooting - AWS Failed to import the required Python library (botocore or boto3)
Install PostgreSQL in RedHat-like systems - Ansible modules yum, stat, shell, service
Install PostgreSQL in Debian-like systems - Ansible modules apt, stat, shell, service
Drop a PostgreSQL Database - Ansible module postgresql_user
Create a PostgreSQL Database - Ansible module postgresql_db
Create a PostgreSQL User or Role - Ansible module postgresql_user
Allow md5 Connection for a PostgreSQL User or Role - Ansible module postgresql_pg
Grant Privileges to User or Role on PostgreSQL Database - Ansible module postgresql_privs
Backup a PostgreSQL Database - Ansible module postgresql_db
Restore a PostgreSQL Database — Ansible module postgresql_db
Rename a PostgreSQL Database — Ansible module postgresql_db
Run a SQL Command Query on PostgreSQL - Ansible module postgresql_query
Ansible troubleshooting - Failed to connect to the host via ssh host localhost port 22
Ansible troubleshooting - indentation error
Ansible troubleshooting - privilege escalation error
Ansible troubleshooting - AWS Failed to import the required Python library (botocore or boto3)
Ansible troubleshooting - macOS fork error
Ansible troubleshooting - missing module parameter
Ansible troubleshooting - failure downloading
Ansible troubleshooting - chgrp failed
Ansible troubleshooting - syntax error
Ansible troubleshooting - not a valid attribute for a Play error
Ansible troubleshooting - fatal template error while templating string
Ansible troubleshooting - powershell incompatible with the sudo become plugin
Ansible troubleshooting - passwordless account
Ansible troubleshooting - missing sudo password
Ansible troubleshooting - user module bug
Ansible troubleshooting - Windows 10 Error 0x80370102 WSL_ WindowsSubsystemLinux
Windows 11 Error 0x80370102 WSL_ Windows Subsystem for Linux - Ansible
Ansible troubleshooting - Invalid argument
Ansible troubleshooting - undefined variable
Ansible troubleshooting - Destination does not exist
Ansible troubleshooting - role not found
Ansible troubleshooting - Module Failure on Windows-target
Ansible troubleshooting - Permission denied Errno 13
Ansible troubleshooting - VARIABLE IS NOT DEFINED
Ansible troubleshooting - Unhandled exception while executing module win_user
Ansible troubleshooting - This command has to be run under the root user
Ansible troubleshooting - Kubernetes 401 Unauthorized
Ansible troubleshooting - Destination does not exist rc 257
Thank you