christiangda.amazon_inspector_agent
Rol de Ansible: christiangda.amazon_inspector_agent
Este rol instala el agente de AWS Inspector.
Características:
- Descarga e instala el agente de AWS Inspector desde el paquete de distribución de AWS.
- Rota el archivo de registro del agente.
Requisitos
Este rol funciona en distribuciones de RedHat, CentOS, Amazon Linux, Debian y Ubuntu.
- RedHat
- 6
- 7
- CentOS
- 6
- 7
- Amazon Linux
- 1
- 2
- Ubuntu
- 14.*
- 16.*
- 18.*
- Debian
- jessie
- stretch
Para ver la matriz de compatibilidad entre Python y Ansible, consulta la matriz de construcción de Travis-CI.
Variables del Rol
# valores posibles:
# - true
# - false
# valor predeterminado: true
# notas:
# * establece el valor en false cuando no quieras habilitar la actualización automática del agente.
# Referencia: https://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents.html#agent-updates
ia_auto_update: true
# valores posibles:
# - https://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents-on-linux.html
# valor predeterminado: ""
ia_http_proxy: ""
# valores posibles:
# - https://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents-on-linux.html
# valor predeterminado: ""
ia_https_proxy: ""
# valores posibles:
# - https://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents-on-linux.html
# valor predeterminado: "169.254.169.254"
# notas:
# * Siempre desactiva el proxy para la ip de metadatos de AWS (169.254.169.254)
ia_no_proxy: "169.254.169.254"
Dependencias
Ninguna
Ejemplo de Playbook
RedHat/CentOS, Ubuntu y Debian
Usando valores de variables predeterminadas
- hosts: servers
gather_facts: True
roles:
- role: christiangda.amazon_inspector_agent
Deshabilitando la actualización automática y usando configuración de proxy
- hosts: servers
gather_facts: True
roles:
- role: christiangda.amazon_inspector_agent
vars:
ia_auto_update: false
ia_http_proxy: "192.168.2.253:3128"
ia_https_proxy: "192.168.2.253:3128"
ia_no_proxy: "169.254.169.254,192.168.2.1"
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_inspector_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 utilizarlo
ansible-playbook my-playbook.yml \
--inventory inventory \
--private-key [~/ubicación de mi llave.pem] \
--become \
--become-user=ec2-user \
--user ec2-user
Desarrollo / Contribución
Este rol se prueba utilizando Molecule y fue desarrollado usando Entornos Virtuales de Python.
Preparar 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 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 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
Clonar el repositorio del rol y crear un enlace simbólico
git clone https://github.com/christiangda/ansible-role-amazon-inspector-agent.git
ln -s ansible-role-amazon-inspector-agent christiangda.amazon_inspector_agent
cd christiangda.amazon_inspector_agent
Ejecutar 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 quieres 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 de GNU Versión 3:
Información del Autor
Ansible Role for AWS Inspector Agent
ansible-galaxy install christiangda.amazon_inspector_agent