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ę!!!

O projekcie

Wrapper for apt to install Debian packages.

Zainstaluj
ansible-galaxy install constrict0r.aptitude
Licencja
mit
Pobrania
2.2k
Właściciel
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy