marcusburghardt.openscap
ansible-role-openscap
Dieses Rollenskript sorgt dafür, dass die Entwicklungsumgebung für Beiträge zu ComplianceAsCode-Projekten korrekt installiert und konfiguriert wird. Du kannst das lange Lesen der Dokumentation vorerst überspringen und früher mit dem Programmieren beginnen. ;)
Alle Variablen, die du möglicherweise ändern möchtest, sind in "defaults/main.yml" definiert. Du kannst sie dort direkt ändern oder, eleganter und empfohlen, in deinem Playbook überschreiben.
Diese Rolle wird:
- Optional zusätzliche Repositories konfigurieren.
- Alle notwendigen Pakete installieren:
- Pakete, die für Entwicklung, Tests und zusätzliche Werkzeuge erforderlich sind.
- Python-Module installieren:
- Zusätzliche Python-Module installieren, die für CMakeTests oder JSON notwendig sind, zum Beispiel.
- Die grundlegende Umgebung konfigurieren:
- Den Hauptordner erstellen (~/CaC)
- Die PATH-Variable aktualisieren, falls nötig.
- Den Unterordner Forks erstellen, falls ein geforktes Repository aktiviert ist.
- Git konfigurieren:
- Den Namen und die E-Mail-Adresse sicherstellen, die bei Commits für ComplianceAsCode-Repositories angezeigt werden.
- Labs konfigurieren:
- Die Vagrantfiles nach ~/CaC/Labs/VMs kopieren.
- Anweisungsdateien für Labs und Tests in Labs/VMs kopieren.
- TODO: Anweisungsdateien für Labs und Tests zu Containern in Labs/Containers kopieren.
- Die Umgebung einrichten:
- Die "fork"-Repositories klonen, falls welche vorhanden und aktiviert sind.
- Die "lab"-Repositories klonen, falls welche vorhanden und aktiviert sind.
- Die allgemeinen Anweisungsdateien nach ~/CaC kopieren.
TODO
- Offen für konstruktive Ideen.
Um diese Rolle zu installieren
ansible-galaxy role install marcusburghardt.openscap
Anforderungen
- python3
Rollenvariablen
Du kannst deine Umgebung auf eine sehr einfache und zentrale Weise anpassen, indem du einige Variablen in:
- defaults/main.yml bearbeitest.
Ich empfehle jedoch dringend, diese Variablen in deinem Playbook zu überschreiben. Das ist viel eleganter und gibt dir mehr Flexibilität. ;)
Um dies zu tun, erkunde "defaults/main.yml", das sehr gut dokumentiert ist, um den Zweck und die Wirkung jeder Variablen zu klären. Kopiere einfach, was du ändern möchtest, in dein Playbook und passe es nach Wunsch an. Sieh dir den Abschnitt zum Beispiel-Playbook an.
In einigen seltenen Fällen kannst du einige Konfigurationen anpassen, um deine lokale Umgebung in:
- vars/*.yml widerzuspiegeln. Wenn das aus irgendeinem Grund notwendig war, ziehe in Betracht, einen PR vorzuschlagen, um die Rolle zu verbessern.
Abhängigkeiten
Keine
Beispiel-Playbook
Dieses Playbook bereitet alles mit den grundlegenden Variablen vor. Ein Beispiel findest du in files/Ansible_Samples
, benannt ansible_cac.yml
.
Für dieses Beispiel nennen wir die Playbook-Datei ansible_cac.yml
mit folgendem Inhalt:
- 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
Beachte, dass dieses Ansible-Rollenskript aus einer Gruppe spezifischer Aufgaben (available_tasks) erstellt wurde. Du kannst die Kombination der Aufgaben je nach Bedarf aktivieren oder deaktivieren. Angenommen, die Inventardatei hosts_cac
befindet sich im gleichen Ordner mit folgendem Inhalt:
[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs
...zeilen ausgelassen für bessere Lesbarkeit...
Hinweis: Du kannst auch ein Beispiel in files/Ansible_Samples
namens hosts_cac
finden.
Führe nun diesen Befehl aus, um die Magie geschehen zu lassen:
ansible-playbook -K ansible_cac.yml
Möglicherweise möchtest du einige Ansible-Konfigurationen für diese Umgebung festlegen. Zum Beispiel einen lokalen Ordner definieren, um heruntergeladene Rollen zu speichern. Ein Beispiel für eine ansible.cfg-Datei findest du im Ordner files/Ansible_Samples
, benannt ansible.cfg
.
Lizenz
Dieser Quellcode unterliegt den Bedingungen der Mozilla Public
License, v. 2.0. Wenn eine Kopie der MPL nicht mit dieser
Datei verteilt wurde, kannst du eine unter http://mozilla.org/MPL/2.0/ erhalten.
Autoreninformation
Marcus Burghardt
Role for quickly prepare a Development Environment for OpenSCAP projects.
ansible-galaxy install marcusburghardt.openscap