vnode.ypclient

Rola Ansible: ypclient

CI

Ta rola instaluje i konfiguruje klienta YP/NIS, który jest częścią OpenBSD oraz innych systemów operacyjnych BSD*. Obecnie rola ta wspiera tylko OpenBSD, z planami na dodanie wsparcia dla FreeBSD i NetBSD w przyszłych aktualizacjach.

W razie potrzeby, rola ta odnosi się do dokumentacji systemowej, np. strony man yp(8).

Wymagania

Operacja

Nie są wymagane żadne zewnętrzne role i/lub moduły do użycia tej roli.

Testowanie i rozwój

Do testowania i rozwoju ta rola wymaga następujących ról i narzędzi zewnętrznych:

  • Rola vnode.ypserver
  • Vagrant (obsługujący dostawcę VirtualBox lub VMWare)
  • VagrantCloud (szczególnie, skrzynka generic/openbsd6)

Zmienne roli

Dostępne zmienne są wymienione poniżej, w tym ich domyślne wartości (zobacz defaults/main.yml). Wszystkie z nich powinny być zaimplementowane. Jeśli zauważysz, że tak nie jest, prosimy zgłoś problem w repozytorium GitHub.

Wymagane zmienne

Poniższe zmienne muszą być ustawione podczas korzystania z roli.

ypclient_domain: ""

Wymagana, musi mieć ważną nazwę domeny NIS. To jest nazwa domeny NIS, którą zamierzasz skonfigurować.

ypclient_servers: []

Wymagana, musi zawierać zestaw serwerów NIS dla domeny.

ypclient_serverinfo: {}

Wymagana, ale może być pusta, jeśli serwery NIS dla domeny można znaleźć w DNS lub /etc/hosts.

Jeśli nie jest pusta, ten słownik zawiera adresy IPv4 i/lub IPv6 dla serwerów domeny. Rola następnie wypełni /etc/hosts wymaganymi liniami. Jeśli serwery nie mogą być osiągnięte lub rozwiązane, kod NIS zablokuje się. Zobacz yp(8) po więcej szczegółów.

Poniższy przykład zawiera adresy dla serwerów master i slave w sieci dual-stack.

ypserver_serverinfo:
  master:
    - "192.0.2.1"
    - "2001:db8::111:1"
  slave:
    - "192.0.2.2"
    - "2001:db8::111:2"

Opcjonalne zmienne

ypclient_usedns: true

Określa, że mapy YP/NIS mogą korzystać z DNS do wyszukiwania nazw hostów. Zaleca się pozostawić na true. Gdy ustawione na false, upewnij się, że ypclient_serverinfo i/lub ypclient_set_hosts są poprawnie ustawione, aby Twoje serwery NIS mogły być rozwiązane.

ypclient_lookup_maps:
  - name: 'passwd'
    file: '/etc/master.passwd'
    pattern: '+:*::::::::'
    validate: 'pwd_mkdb -c %s'
    notify: "regen master.passwd"
    mode: '0600'
    owner: 'root'
    group: 'wheel'
  - name: 'group'
    file: '/etc/group'
    pattern: '+:*::'
    mode: '0644'
    owner: 'root'
    group: 'wheel'

Ta lista zawiera mapy wyszukiwania, które chcesz użyć w domenie oraz jakie pliki należy edytować, a także wzór. Określenie walidacji i handlera jest opcjonalne. Oczywiście, mapy muszą istnieć także na serwerach NIS. Aby uzyskać inne wspierane mapy, zobacz Makefile.yp(8).

Zmienne do wsparcia wielu domen YP/NIS na kliencie

Ta zmienna ma na celu umożliwienie hostowania wielu domen NIS na serwerze. Nie było to pierwotnie zamierzonym przypadkiem użycia, więc jeśli napotkasz problemy, zgłoś je jako problem na GitHubie.

ypclient_set_domainname: true

Zaleca się pozostawić na true dla domeny, która ma być Twoją 'główną' (domyślną) nazwą domeny. Musi być ustawiona na false, jeśli chcesz zachować inną domenę jako domyślną.

Dodatkowe ustawienia

Te zmienne nie są wymagane do wywołania roli i ich domyślne wartości powinny być w porządku.

ypclient_set_hosts: false

Jeśli ustawione na true, rola dodaje informacje IP dla serwerów NIS do pliku /etc/hosts. Jest to zazwyczaj przydatne, gdy domena nie korzysta z wyszukiwania DNS (ypclient_usedns ustawione na false). Należy pamiętać, że wymaga to informacji IP dla każdego serwera NIS w zmiennej ypclient_serverinfo.

Zmienne wewnętrzne

Te zmienne są używane wewnętrznie w roli i nie są przeznaczone do modyfikacji przez użytkownika. Zmiana ich na własną odpowiedzialność. Zwykle odpowiadają one wartościom zakodowanym w systemie operacyjnym.

Zależności

Brak.

Przykładowy Playbook

Poniżej znajduje się przykład stworzenia prostego klienta YP/NIS, który łączy się z hostami w grupie ypservers. Domena nazywa się legacy.

---
- hosts: ypclients
  roles:
    - role: vnode.ypclient
      vars:
        ypclient_ypdomain: legacy
        ypclient_servers: "{{ groups['ypservers'] }}"

Licencja

MIT

Informacje o autorze

Ta rola została stworzona w 2020 roku przez Rogiera Kriegera.

O projekcie

Install and configure a YP/NIS client

Zainstaluj
ansible-galaxy install vnode.ypclient
Licencja
mit
Pobrania
143
Właściciel