constrict0r.aptitude
aptitude
Rola Ansible, która służy jako nakładka dla apt <https://wiki.debian.org/Apt>
_ do zarządzania pakietami.
Pełna dokumentacja dostępna na Readthedocs <https://aptitude.readthedocs.io>
_.
Kod źródłowy dostępny na:
Github <https://github.com/constrict0r/aptitude>
_.
Gitlab <https://gitlab.com/constrict0r/aptitude>
_.
Składniki
Zawartość
Opis <#Opis>
_Użycie <#Użycie>
_Zmienne <#Zmienne>
_pakiety <#pakiety>
_pakiety_usunięcie <#pakiety-usunięcie>
_konfiguracja <#konfiguracja>
_
YAML <#YAML>
_Atrybuty <#Atrybuty>
_rozszerz_item <#rozszerz-item>
_ścieżka_item <#ścieżka-item>
_
Wymagania <#Wymagania>
_Kompatybilność <#Kompatybilność>
_Licencja <#Licencja>
_Linki <#Linki>
_UML <#UML>
_Wdrożenie <#wdrożenie>
_Główne <#główne>
_
Autor <#Autor>
_
Opis
Rola Ansible, która służy jako nakładka dla apt do zarządzania pakietami.
Rola ta wykonuje następujące działania:
- Zapewnia zainstalowanie wymaganych pakietów.
- Zapewnia, że aktualny użytkownik ma uprawnienia administracyjne (root).
- Aktualizuje pamięć podręczną apt.
- Jeśli zdefiniowano zmienną pakiety_usunięcie, usuwa wymienione w niej pakiety.
- Jeśli zdefiniowano zmienną konfiguracja, usuwa pakiety wymienione w pakiety_usunięcie.
- Jeśli zdefiniowano zmienną pakiety, instaluje wymienione pakiety.
- Jeśli zdefiniowano zmienną konfiguracja, instaluje pakiety wymienione w niej.
Użycie
- Aby zainstalować i wykonać:
ansible-galaxy install constrict0r.aptitude
ansible localhost -m include_role -a name=constrict0r.aptitude -K
- Przekazywanie zmiennych:
ansible localhost -m include_role -a name=constrict0r.aptitude -K \
-e "{pakiety: [gedit, rolldice]}"
- Aby dołączyć rolę do playbooka:
- hosts: serwery
roles:
- {role: constrict0r.aptitude}
- Aby dołączyć rolę jako zależność innej roli:
dependencies:
- role: constrict0r.aptitude
pakiety: [gedit, rolldice]
- Aby użyć roli w zadaniach:
- name: Wykonaj zadanie roli.
import_role:
name: constrict0r.aptitude
vars:
pakiety: [gedit, rolldice]
Aby uruchomić testy:
cd aptitude
chmod +x testme.sh
./testme.sh
W niektórych testach możesz potrzebować użyć sudo, aby zakończyć sukcesem.
Zmienne
Obsługiwane zmienne:
pakiety
Lista pakietów do zainstalowania za pomocą apt.
Listę tą można zmodyfikować, przekazując tablicę pakiety podczas dołączania roli do playbooka lub za pomocą –extra-vars z terminala.
Ta zmienna jest domyślnie pusta.
# Dołączenie z terminala.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e \
"{pakiety: [gedit, rolldice]}"
# Dołączenie do playbooka.
- hosts: serwery
roles:
- role: constrict0r.aptitude
pakiety:
- gedit
- rolldice
# Do playbooka z terminala.
ansible-playbook -i inventory my-playbook.yml -K -e \
"{pakiety: [gedit, rolldice]}"
pakiety_usunięcie
Lista pakietów do usunięcia za pomocą apt.
Listę tą można zmodyfikować, przekazując tablicę pakiety_usunięcie podczas dołączania roli do playbooka lub za pomocą –extra-vars z terminala.
Ta zmienna jest domyślnie pusta.
# Dołączenie z terminala.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e \
"{pakiety_usunięcie: [gedit, rolldice]}"
# Dołączenie do playbooka.
- hosts: serwery
roles:
- role: constrict0r.aptitude
pakiety_usunięcie:
- gedit
- rolldice
# Do playbooka z terminala.
ansible-playbook -i inventory my-playbook.yml -K -e \
"{pakiety_usunięcie: [gedit, rolldice]}"
konfiguracja
Absolutna ścieżka do pliku .yml zawierającego wszystkie lub niektóre zmienne wspierane przez tę rolę.
Zaleca się używanie rozszerzenia .yml lub .yaml dla pliku konfiguracja.
Ta zmienna jest domyślnie pusta.
# Użycie z ścieżką do pliku.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e \
"konfiguracja=/home/użytkownik/moj-konfig.yml"
# Użycie z URL.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e \
"konfiguracja=https://moj-url/moj-konfig.yml"
Aby zobaczyć, jak napisać plik konfiguracyjny, zobacz sekcję o formacie pliku YAML.
YAML
Gdy przekazujesz pliki konfiguracyjne do tej roli jako parametry, zaleca się dodanie rozszerzenia .yml lub .yaml do każdego pliku.
Zaleca się również dodanie trzech znaków myślnika na górze każdego pliku:
---
Możesz zawrzeć w pliku zmienne wymagane do swoich zadań:
---
pakiety:
- [gedit, rolldice]
Jeśli chcesz, aby ta rola załadowała listę elementów z plików i URL, możesz ustawić zmienną rozszerz na true:
---
pakiety: /home/użytkownik/moj-konfig.yml
rozszerz: true
Jeśli zmienna rozszerz jest false, każda znaleziona ścieżka pliku lub adres URL będzie traktowana jako tekst zwykły.
Atrybuty
Na poziomie elementu można używać atrybutów, aby skonfigurować, jak ta rola obsługuje dane elementów.
Obsługiwane atrybuty przez tę rolę to:
rozszerz_item
Wartość logiczna wskazująca, czy traktować ten element jako ścieżkę do pliku lub URL, czy po prostu traktować jako tekst zwykły.
---
pakiety:
- rozszerz_item: true
ścieżka_item: /home/użytkownik/moj-konfig.yml
ścieżka_item
Absolutna ścieżka do pliku lub URL do pliku .yml.
---
pakiety:
- ścieżka_item: /home/użytkownik/moj-konfig.yml
Ten atrybut działa również z adresami URL.
Wymagania
Ansible <https://www.ansible.com>
_ >= 2.8.Jinja2 <https://palletsprojects.com/p/jinja/>
_.Pip <https://pypi.org/project/pip/>
_.Python <https://www.python.org/>
_.PyYAML <https://pyyaml.org/>
_.Requests <https://2.python-requests.org/en/master/>
_.
Jeśli chcesz uruchomić testy, będziesz także potrzebować:
Docker <https://www.docker.com/>
_.Molecule <https://molecule.readthedocs.io/>
_.Setuptools <https://pypi.org/project/setuptools/>
_.
Kompatybilność
Debian Buster <https://wiki.debian.org/DebianBuster>
_.Debian Raspbian <https://raspbian.org/>
_.Debian Stretch <https://wiki.debian.org/DebianStretch>
_.Ubuntu Xenial <http://releases.ubuntu.com/16.04/>
_.
Licencja
MIT. Szczegóły w pliku LICENSE.
Linki
Github <https://github.com/constrict0r/aptitude>
_.Gitlab <https://gitlab.com/constrict0r/aptitude>
_.Gitlab CI <https://gitlab.com/constrict0r/aptitude/pipelines>
_.Readthedocs <https://aptitude.readthedocs.io>
_.Travis CI <https://travis-ci.com/constrict0r/aptitude>
_.
UML
Wdrożenie
Pełna struktura projektu pokazana jest poniżej:
Główne
Przepływ danych w projekcie pokazany jest poniżej:
Autor
Podróżujący złoczyńca z vaudeville.
Ciesz się!!!
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude