cans.package-source

cans.package-source

Status budowy Ansible Galaxy Licencja

Prosta rola do dodawania i/lub usuwania źródeł pakietów dystrybucji oraz ich odpowiednich kluczy GPG.

Każde źródło pakietu, które ma zostać dodane lub usunięte, musi być opisane w następujący sposób:

- repo: "nazwa repozytorium"         # wymagane
  codename: "<Nazwa dystrybucji>"     # opcjonalne, domyślnie: niezdefiniowane
  key_id: "<ID klucza GPG>"            # opcjonalne, domyślnie: niezdefiniowane
  key_server: "<adres serwera kluczy>" # opcjonalne, domyślnie: niezdefiniowane
  key_url: "<adres pliku klucza publicznego>" # opcjonalne, domyślnie: niezdefiniowane
  keyring: "<scieżka do pierścienia kluczy>"  # opcjonalne, domyślnie: niezdefiniowane
  update_cache: <tak|nie>              # opcjonalne, domyślnie: nie

Ta rola najpierw doda, a następnie usunie źródła. Ponieważ repozytoria są określone w listach, kolejność ich dodawania lub usuwania jest deterministyczna i określona w Twoim playbooku.

Wszystkie wartości z domyślną wartością niezdefiniowaną zostaną po prostu pominięte, jeśli nie zostaną określone.

repo jest jedyną wymaganą wartością i powinna być ważną linią opisu repozytorium APT.

Jeśli chcesz zainstalować klucz wraz z danym źródłem, musisz określić key_id, aby uniknąć dodania niechcianego klucza do pierścienia kluczy APT. Wtedy jeden z key_url lub key_server staje się obowiązkowy, aby klucz mógł zostać jakoś pobrany.

Zmiana domyślnej wartości update_cache generalnie nie jest dobrym pomysłem, ponieważ bardzo spowalnia Twój playbook. W każdym razie, jeśli dodajesz źródła pakietów, najprawdopodobniej będziesz ich używać krótko po tym. Zaleca się zaktualizowanie pamięci podręcznej wówczas, a nie w momencie dodawania źródła. Należy zauważyć, że ma to wadę w postaci braku walidacji nowych repozytoriów. Jeśli nadal chcesz, aby ta walidacja miała miejsce podczas wykonywania tej roli, użyj update_cache, jak pokazano w przykładowym playbooku poniżej.

Wymagania

Pakiet ma wymagania modułów do zarządzania źródłami pakietów dystrybucji Ansible:

Zmienne roli

Wszystkie zmienne z tego modułu mają prefiks pkgsources.

  • pkgsource_present: lista źródeł, które chcesz mieć dostępne (domyślnie: []);
  • pkgsource_absent: lista źródeł, które chcesz, aby nie były dostępne (domyślnie: []);

Zmienne przestarzałe

  • pkgsource_user: ta zmienna została przestarzała, ponieważ możesz zdefiniować ją przy imporcie roli lub na poziomie play. Zmienna ta de facto nie była używana (domyślnie: ansible_user_id).

Zależności

Ta rola nie ma zewnętrznych zależności.

Przykładowy Playbook

W tym playbooku dodajemy dwa nowe źródła do APT i usuwamy jedno. Z drugim dodanym źródłem zainstalujemy również klucz GPG repozytorium. Na koniec, ponieważ ta rola najpierw dodaje, a następnie usuwa repozytoria, przy ostatnim (i jedynym) usuniętym repozytorium wymuszamy aktualizację pamięci podręcznej, aby upewnić się, że konfiguracja jest rzeczywiście ważna i APT może zweryfikować wszystkie repozytoria i podpisy pakietów.

- hosts: serwery
  roles:
     - role: "cans.package-source"
       pkgsource_present:
         # Upewnij się, że repozytorium pakietów backport dla aktualnej wersji Debiana
         # jest dostępne
         - repo: "deb http://ftp.fr.debian.org/debian/ stable-backports main"

         # Repozytorium narzędzi Heroku (narzędzia cli)
         - repo: "deb https://toolbelt.heroku.com/ubuntu/ ./"
           # Te dwie linie zapewnią, że klucz GPG Heroku jest zainstalowany *zanim*
           # dodany zostanie repozytorium do listy źródeł.
           key_id: C927EBE00F1B0520
           key_url: "https://toolbelt.herokuapp.com/apt/release.key"

       # Przestarzałe źródła, które chcesz usunąć.
       pkgsource_absent:
         - "deb http://ftp.fr.debian.org/debian/ wheezy main"
           # Wymuszamy aktualizację pamięci podręcznej na ostatnim repozytorium dodanym lub usuniętym, aby nowa
           # konfiguracja została zweryfikowana
           update_cache: tak

Licencja

Rola Ansible package-source jest oprogramowaniem darmowym: można ją rozprowadzać i/lub modyfikować na warunkach GNU General Public License w wersji 2, jak to opublikowała Free Software Foundation.

package-sources jest dystrybuowane w nadziei, że będzie przydatne, ale BEZ JAKIEJKOLWIEK GWARANCJI; bez nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Zobacz GNU General Public License, aby uzyskać więcej szczegółów.

Powinieneś otrzymać kopię GNU General Public License razem z package-sources. Jeśli nie, zobacz http://www.gnu.org/licenses/.

Informacje o autorze

Copyright © 2017-2018, Nicolas CANIART.

O projekcie

Role to manage Distribution Package Sources and their Encryption Keys

Zainstaluj
ansible-galaxy install cans.package-source
Licencja
gpl-2.0
Pobrania
138
Właściciel