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
Role for quickly prepare a Development Environment for OpenSCAP projects.
ansible-galaxy install marcusburghardt.openscap