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

Acerca del proyecto

Role for quickly prepare a Development Environment for OpenSCAP projects.

Instalar
ansible-galaxy install marcusburghardt.openscap
Licencia
mpl-2.0
Descargas
136
Propietario