marcusburghardt.openscap
ansible-role-openscap
Este rol asegurará que el entorno de desarrollo para contribuir en proyectos de ComplianceAsCode esté correctamente instalado y configurado.
Puedes omitir, por ahora, la larga lectura de la documentación y comenzar a codificar más rápido. ;)
Todas las variables que puedes querer cambiar están definidas en "defaults/main.yml". Puedes cambiarlas directamente allí o, de manera más elegante y recomendada, sobreescribirlas en tu Playbook.
Este rol hará:
- Configurar opcionalmente repositorios adicionales.
- Instalar todos los paquetes necesarios:
- Paquetes requeridos para el desarrollo, pruebas y herramientas adicionales.
- Instalar módulos de Python:
- Instalar módulos de Python adicionales necesarios para CMakeTests o JSON, por ejemplo.
- Configurar el entorno básico:
- Crear la carpeta principal (~/CaC)
- Actualizar la variable PATH, si es necesario.
- Crear la subcarpeta Forks, si algún repositorio bifurcado está habilitado.
- Configurar git:
- Asegurarse de que el nombre y el correo electrónico que aparecerán en los commits para los repositorios de ComplianceAsCode
- Configurar Labs:
- Copiar los Vagrantfiles a ~/CaC/Labs/VMs
- Copiar archivos de instrucciones para Labs y Pruebas relacionados con VMs en Labs/VMs.
- TODO: Copiar archivos de instrucciones para Labs y Pruebas relacionados con Containers en Labs/Containers.
- Población del entorno:
- Clonar los repositorios "fork", si hay alguno presente y habilitado.
- Clonar los repositorios "lab", si hay alguno presente y habilitado.
- Copiar los archivos de instrucciones generales a ~/CaC
TODO
- Abierto a ideas constructivas.
Para instalar este rol
ansible-galaxy role install marcusburghardt.openscap
Requisitos
- python3
Variables del Rol
Puedes personalizar tu entorno de una manera muy sencilla y centralizada editando algunas variables en:
- defaults/main.yml
Sin embargo, recomiendo encarecidamente sobreescribir estas variables en tu Playbook. Esto es mucho más elegante y te da más flexibilidad. ;)
Para hacerlo, explora el "defaults/main.yml", que está muy bien documentado para aclarar el propósito y efecto de cualquier variable. Luego, solo copia lo que deseas cambiar en tu Playbook y ajústalo como desees. Consulta la sección de Ejemplo de Playbook.
En algunos casos raros, puedes cambiar alguna configuración para reflejar tu entorno local en:
- vars/*.yml Si esto fue necesario por alguna razón, considera proponer un PR para mejorar el rol.
Dependencias
Ninguna
Ejemplo de Playbook
Este playbook preparará todo con las variables esenciales.
Puedes encontrar un ejemplo en files/Ansible_Samples
, llamado ansible_cac.yml
.
Para este ejemplo, llamemos a este archivo de playbook ansible_cac.yml
, con el siguiente contenido:
- hosts: linux
vars:
- available_tasks:
- { enabled: true, name: 'install_packages' }
- { enabled: true, name: 'install_python_modules' }
- { enabled: true, name: 'configure_env' }
- { enabled: true, name: 'configure_labs' }
- { enabled: true, name: 'populate_env' }
roles:
- marcusburghardt.openscap
Ten en cuenta que este rol de ansible fue creado por un grupo de tareas específicas (available_tasks).
Puedes habilitar y deshabilitar la combinación de tareas según tus necesidades.
Considerando que el archivo de inventario hosts_cac
está en la misma carpeta, con el siguiente contenido:
[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs
...líneas omitidas para mejor lectura...
OBS.: También puedes encontrar un ejemplo en files/Ansible_Samples
, llamado hosts_cac
.
Ahora, ejecuta este comando para ver la magia suceder:
ansible-playbook -K ansible_cac.yml
Quizás te gustaría establecer algunas configuraciones de ansible para este entorno.
Por ejemplo, definir una carpeta local para contener roles descargados.
Puedes encontrar un ejemplo de archivo ansible.cfg en la carpeta files/Ansible_Samples
, llamado ansible.cfg
.
Licencia
Este Código Fuente está sujeto a los términos de la Licencia Pública de Mozilla, v. 2.0. Si no se distribuyó una copia de la MPL junto con este archivo, puedes obtener una en http://mozilla.org/MPL/2.0/.
Información del Autor
Marcus Burghardt
Role for quickly prepare a Development Environment for OpenSCAP projects.
ansible-galaxy install marcusburghardt.openscap