marcusburghardt.openscap
ansible-role-openscap
Ta rola zapewni, że środowisko deweloperskie do współpracy z projektami ComplianceAsCode będzie odpowiednio zainstalowane i skonfigurowane. Możesz na razie pominąć długie czytanie dokumentacji i zacząć programować wcześniej. ;)
Wszystkie zmienne, które możesz chcieć zmienić, są zdefiniowane w "defaults/main.yml". Możesz zmienić je bezpośrednio tam lub, co jest bardziej eleganckie i zalecane, nadpisać je w swoim Playbooku.
Ta rola będzie:
- Opcjonalnie konfigurować dodatkowe repozytoria.
- Instalować wszystkie niezbędne pakiety:
- Pakiety wymagane do rozwoju, testów i dodatkowych narzędzi.
- Instalować moduły Pythona:
- Instalować dodatkowe moduły Pythona niezbędne do CMakeTests lub JSON, na przykład.
- Konfigurować podstawowe środowisko:
- Tworzyć główny folder (~/CaC)
- Aktualizować zmienną PATH, jeśli to konieczne.
- Tworzyć podfolder Forks, jeśli jakiekolwiek repozytorium jest forkowane.
- Konfigurować git:
- Zapewnić poprawne imię i e-mail, które będą pojawiać się w commitach do repozytoriów ComplianceAsCode.
- Konfigurować laboratoria:
- Kopiować pliki Vagrant do ~/CaC/Labs/VMs
- Kopiować pliki instrukcji dla laboratoriów i testów związanych z VM w Labs/VMs.
- TODO: Kopiować pliki instrukcji dla laboratoriów i testów związanych z kontenerami w Labs/Containers.
- Zasilać środowisko:
- Klonować repozytoria "fork", jeśli takie są dostępne i aktywne.
- Klonować repozytoria "lab", jeśli takie są dostępne i aktywne.
- Kopiować ogólne pliki instrukcji do ~/CaC
TODO
- Otwarty na konstruktywne pomysły.
Aby zainstalować tę rolę
ansible-galaxy role install marcusburghardt.openscap
Wymagania
- python3
Zmienne roli
Możesz dostosować swoje środowisko w bardzo prosty i scentralizowany sposób, edytując kilka zmiennych w:
- defaults/main.yml
Jednak zdecydowanie zalecam nadpisanie tych zmiennych w swoim Playbooku. To jest znacznie bardziej eleganckie i daje więcej elastyczności. ;)
Aby to zrobić, zapoznaj się z "defaults/main.yml", który jest dobrze udokumentowany, by wyjaśnić cel i efekt każdej zmiennej. Następnie po prostu skopiuj to, co chcesz zmienić w swoim Playbooku i dostosuj to według swoich potrzeb. Spójrz na sekcję Przykładowy Playbook.
W rzadkich przypadkach możesz zmienić niektóre ustawienia, aby odzwierciedlić swoje lokalne środowisko w:
- vars/*.yml Jeśli było to konieczne z jakiegoś powodu, rozważ zaproponowanie PR, aby poprawić rolę.
Zależności
Brak
Przykładowy Playbook
Ten playbook przygotuje wszystko z niezbędnymi zmiennymi.
Znajdziesz próbkę w files/Ansible_Samples
, o nazwie ansible_cac.yml
.
Dla tego przykładu nazwijmy ten plik playbooka jako ansible_cac.yml
, z następującą treścią:
- 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
Zauważ, że ta rola ansible została stworzona przez zestaw specyficznych zadań (available_tasks).
Możesz włączać lub wyłączać kombinacje zadań w zależności od swoich potrzeb.
Zakładając, że plik inwentarza hosts_cac
znajduje się w tym samym folderze, z następującą treścią:
[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs
...linie pominięte dla lepszej czytelności...
UWAGA: Możesz również znaleźć próbkę w files/Ansible_Samples
, o nazwie hosts_cac
.
Teraz, uruchom to polecenie, aby zobaczyć magię w działaniu:
ansible-playbook -K ansible_cac.yml
Może chciałbyś ustawić jakieś konfiguracje ansible dla tego środowiska.
Na przykład, zdefiniować lokalny folder na pobieranie ról.
Znajdziesz przykład pliku ansible.cfg w folderze files/Ansible_Samples
, nazwanym ansible.cfg
.
Licencja
Ten formularz kodu źródłowego podlega warunkom Publicznej Licencji Mozilla, v. 2.0. Jeśli kopia MPL nie została dołączona do tego pliku, możesz ją uzyskać pod adresem http://mozilla.org/MPL/2.0/.
Informacje o autorze
Marcus Burghardt
Role for quickly prepare a Development Environment for OpenSCAP projects.
ansible-galaxy install marcusburghardt.openscap