← Cheatsheets
IaC

Ansible

Ansible commands for running ad-hoc tasks, executing playbooks, managing inventory and working with Vault.

Inventory & Connectivity

ansible all -i inventory.ini --list-hosts
ansible all -i inventory.ini -m ping
ansible web -i inventory.ini -m ping
ansible -i "host1,host2," all -m ping
ansible all -m ping -u ubuntu
ansible all -m ping --private-key ~/.ssh/id_rsa

Ad-hoc Commands

ansible all -m command -a "uptime"
ansible all -m shell -a "ls /var/log/*.log"
ansible web -m apt -a "name=nginx state=present" -b
ansible all -m copy -a "src=file.txt dest=/tmp/"
ansible all -m file -a "path=/tmp/test state=absent"
ansible all -m service -a "name=nginx state=restarted" -b
ansible all -m setup

Playbooks

ansible-playbook site.yml
ansible-playbook site.yml -i inventory.ini
ansible-playbook site.yml --limit web
ansible-playbook site.yml --tags deploy
ansible-playbook site.yml --skip-tags debug
ansible-playbook site.yml --check
ansible-playbook site.yml --diff
ansible-playbook site.yml -e "env=prod"
ansible-playbook site.yml -v / -vv / -vvv

Inventory Inspection

ansible-inventory -i inventory.ini --list
ansible-inventory -i inventory.ini --graph
ansible all -m setup -a "filter=ansible_os_family"

Vault

ansible-vault create secrets.yml
ansible-vault edit secrets.yml
ansible-vault encrypt vars.yml
ansible-vault decrypt vars.yml
ansible-vault view secrets.yml
ansible-playbook site.yml --ask-vault-pass

Galaxy (Roles)

ansible-galaxy init <role-name>
ansible-galaxy install <role>
ansible-galaxy install -r requirements.yml
ansible-galaxy list