I created my own personal repository of Ansible Playbooks to help me automatically process those boring manual steps I keep doing when provisioning systems for my projects. It is a repository I will keep updating the more I get into provisioning projects.
The present roles are:
- ansible: Install full Ansible server environment.
- base: Install basic packages into a new Ubuntu server.
- clean: Cleans a Ubuntu previous to export.
- docker: Install full Docker environment.
- elasticsearch: Install basic Elasticsearch.
- hyperv: Install Hyper-V in a Windows machine and, through PowerShell commands, it’s possible to manage images and snapshots.
- kibana: Install basic Kibana.
- logstash: Install basic Logstash.
- nagios: Install a full Nagios monitoring server and publishes the
/etc/nagios3
folder into/vagrant
for easy access. - samba: Install Samba environment and mounts a remote folder into the system.
Why did I choose Ansible between the other configuration management tools?
It is agent-less, so I can use it with an SSH or a WinRM port open.
Because it is written in Python and it is my preferred programming language, I can
import ansible
in my Python Scripts.There are many official modules out-of-the-box.
I can use it from the prompt with
ansible-doc
andansible
commands.And last, because its formatting is more SysAdmin (me) but less Developer; easy to read, work, and understand.
Outputs: JSON.