Ansible

Ansible is a powerful open-source automation tool that simplifies the management of IT systems by enabling consistent, repeatable configurations and deployments. Known for its agentless architecture, Ansible uses simple YAML files called playbooks to define automation tasks, making it accessible even to those new to coding. With its focus on simplicity and scalability, Ansible is widely used for automating repetitive tasks, configuring systems, and deploying applications across diverse environments. Whether you’re managing a single server or orchestrating a complex infrastructure, Ansible streamlines operations, improves efficiency, and reduces the risk of errors. Its flexibility and ease of use make it an indispensable tool for modern IT workflows.

Agentless?

Agentless means that the target computer (host) does not require the installation of any software in order to be controlled/ configured. All that is really required is SSHD (SSH Server) to be enabled as a service, typically done with SystemD and configured in /etc/ssh. This advantageous because ansible can be used offline, used to bootstrap a system, used to install and configure software, even in secure environments.

Installation

I have found that on bare bones red hat distros like Rocky, an order of operations should be followed.

  1. Install Enterprise Extras (EPEL)
  2. Install Python3
  3. Install Ansible

Setup

  1. /etc/ansible
    • Hostfile
    • Playbooks

Concepts πŸ”‘

KeyStore

github.com/username.keys

SSH Public Key Storage: It often contains the public SSH key (~/.ssh/id_rsa.pub) for the specified user (username), used by Ansible to securely connect to remote hosts during the bootstrapping process.