marcusburghardt.openscap

ansible-role-openscap

Ce rôle garantira que l'environnement de développement pour contribuer aux projets ComplianceAsCode est correctement installé et configuré. Vous pouvez sauter, pour l'instant, la longue lecture de la documentation et commencer à coder plus tôt. ;)

Toutes les variables que vous pourriez vouloir modifier sont définies dans "defaults/main.yml". Vous pouvez les changer directement là-bas ou, de manière plus élégante et recommandée, les remplacer dans votre Playbook.

Ce rôle va :

  • Configurer optionnellement des dépôts supplémentaires.
  • Installer tous les packages nécessaires :
    • Packages requis pour le développement, les tests et des outils supplémentaires.
  • Installer des modules Python :
    • Installer des modules Python supplémentaires nécessaires pour les CMakeTests ou JSON, par exemple.
  • Configurer l'environnement de base :
    • Créer le dossier principal (~/CaC)
    • Mettre à jour la variable PATH, si nécessaire.
    • Créer le sous-dossier Forks, si un dépôt forké est activé.
  • Configurer git :
    • Assurer que le nom et l'email qui apparaîtront sur les commits des dépôts ComplianceAsCode.
  • Configurer les Labs :
    • Copier les Vagrantfiles dans ~/CaC/Labs/VMs
    • Copier les fichiers d'instructions pour Labs et Tests liés aux VMs dans Labs/VMs.
    • TODO : Copier les fichiers d'instructions pour Labs et Tests liés aux Conteneurs dans Labs/Containers.
  • Peupler l'environnement :
    • Cloner les dépôts "fork", s'il y en a un présent et activé.
    • Cloner les dépôts "lab", s'il y en a un présent et activé.
    • Copier les fichiers d'instructions généraux dans ~/CaC

À FAIRE

  • Ouvert aux idées constructives.

Pour installer ce rôle

ansible-galaxy role install marcusburghardt.openscap

Exigences

  • python3

Variables de rôle

Vous pouvez personnaliser votre environnement de manière très simple et centralisée en éditant certaines variables dans :

  • defaults/main.yml

Cependant, je recommande vivement de remplacer ces variables dans votre Playbook. C'est beaucoup plus élégant et vous donne plus de flexibilité. ;)

Pour ce faire, explorez le "defaults/main.yml", qui est très bien documenté pour clarifier le but et l'effet de chaque variable. Ensuite, il vous suffit de copier ce que vous souhaitez modifier dans votre Playbook et de l'ajuster selon vos besoins. Jetez un œil à la section Exemple de Playbook.

Dans de rares cas, vous pouvez modifier certaines configurations pour refléter votre environnement local dans :

  • vars/*.yml Si cela est nécessaire pour vous pour une raison quelconque, envisagez de proposer une PR pour améliorer le rôle.

Dépendances

Aucune

Exemple de Playbook

Ce playbook préparera tout avec les variables essentielles. Vous pouvez trouver un exemple dans files/Ansible_Samples, nommé ansible_cac.yml.

Pour cet exemple, appelons ce fichier playbook ansible_cac.yml, avec le contenu suivant :

- 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

Notez que ce rôle ansible a été créé par un groupe de tâches spécifiques (available_tasks). Vous pouvez désactiver et activer la combinaison de tâches selon vos besoins. En considérant que le fichier d'inventaire hosts_cac est dans le même dossier, avec le contenu suivant :

[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs

...lignes omises pour une meilleure lisibilité...

OBS. : Vous pouvez également trouver un exemple dans files/Ansible_Samples, nommé hosts_cac.

Maintenant, exécutez cette commande pour voir la magie opérer :

ansible-playbook -K ansible_cac.yml

Peut-être aimeriez-vous définir certaines configurations ansible pour cet environnement.
Par exemple, définir un dossier local pour contenir les rôles téléchargés.
Vous pouvez trouver un exemple de fichier ansible.cfg dans le dossier files/Ansible_Samples, nommé ansible.cfg.

Licence

Ce code source est soumis aux termes de la licence publique de Mozilla, v. 2.0. Si une copie de la MPL n'a pas été distribuée avec ce fichier, vous pouvez en obtenir une à http://mozilla.org/MPL/2.0/.

Informations sur l'auteur

Marcus Burghardt

À propos du projet

Role for quickly prepare a Development Environment for OpenSCAP projects.

Installer
ansible-galaxy install marcusburghardt.openscap
Licence
mpl-2.0
Téléchargements
136
Propriétaire