Course curriculum

  1. 01
    • Introduction

    • Ansible Ad-Hoc command - ansible command

    • Ansible terminology - What is an Ansible Playbook

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

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

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

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

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

  7. 07
    • Create a New LVM Partition - Ansible module parted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  23. 23
    • Thank you