christiangda.amazon_ssm_agent
Rol de Ansible: christiangda.amazon_ssm_agent
Este rol instala el agente de AWS Systems Manager
Características:
- Descarga e instala el Agente de AWS Systems Manager desde el paquete de distribución de AWS
- Rota el archivo de registro del agente
Requisitos
Este rol funciona en distribuciones RedHat, CentOS, Amazon Linux, Debian y Ubuntu.
- RedHat
- 6
- 7
- 8
- CentOS
- 6
- 7
- 8
- Amazon Linux
- 1
- 2
- Ubuntu
- 16.*
- 18.*
- Debian
- jessie
- sid
- stretch
Para ver la matriz de compatibilidad de Python vs. Ansible, consulta el matriz de construcción de Travis-CI
Variables del Rol
# valores posibles:
# - true
# - false
# valor por defecto: false
# notas:
# * establece el valor en true cuando desees actualizar la versión instalada
ssm_update: false
Dependencias
Ninguna
Ejemplo de Playbook
RedHat/CentOS, Ubuntu y Debian
- hosts: servers
gather_facts: True
roles:
- role: christiangda.amazon_ssm_agent
vars:
ssm_update: true
Amazon Linux 1/2 (my-playbook.yml)
- hosts: all
gather_facts: True
become: true
become_user: root
become_method: sudo
remote_user: ec2-user
roles:
- role: christiangda.amazon_ssm_agent
Ejemplo de archivo de inventario (inventory)
[all]
10.14.x.y
10.14.v.z
[amazon-1]
10.14.x.y
[amazon-2]
10.14.v.z
Cómo usarlo
ansible-playbook my-playbook.yml \
--inventory inventory \
--private-key [~/ubicación de mi key.pem] \
--become \
--become-user=ec2-user \
--user ec2-user
Desarrollo / Contribuciones
Este rol se prueba usando Molecule y se desarrolló utilizando Entornos Virtuales de Python
Prepara tu entorno
Python 3
mkdir ansible-roles
cd ansible-roles/
python3 -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install ansible
pip install molecule">=2.22rc1"
pip install molecule[vagrant]
pip install selinux
pip install docker
pip install pytest
pip install pytest-mock
pip install pylint
pip install rope
pip install autopep8
pip install yamllint
pip install flake8
Python 2.7
Dependencias
sudo dnf install redhat-rpm-config
sudo dnf install python-devel
sudo dnf install libselinux-python
mkdir ansible-roles
cd ansible-roles/
python2.7 -m virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install ansible
pip install molecule">=2.22rc1"
pip install molecule[vagrant]
pip install selinux
pip install docker
pip install pytest
pip install pytest-mock
pip install pylint
pip install rope
pip install autopep8
pip install yamllint
pip install flake8
Clona el repositorio del rol y crea un enlace simbólico
git clone https://github.com/christiangda/ansible-role-amazon-ssm-agent.git
ln -s ansible-role-amazon-ssm-agent christiangda.amazon_ssm_agent
cd christiangda.amazon_ssm_agent
Ejecuta la prueba
Usando docker localmente
molecule test [--scenario-name default]
Usando vagrant localmente
molecule create --scenario-name vagrant
molecule converge --scenario-name vagrant
molecule verify --scenario-name vagrant
o
molecule test --scenario-name vagrant
Adicionalmente, si deseas probar usando VMs, tengo un muy buen proyecto de ansible-playground que utiliza Vagrant y VirtualBox, ¡inténtalo!
Licencia
Este módulo se publica bajo la Licencia Pública General GNU Versión 3:
Información del Autor
Ansible Role for AWS Systems Manager Agent (SSM Agent)
ansible-galaxy install christiangda.amazon_ssm_agent