vnode.ypclient

Rôle Ansible : ypclient

CI

Ce rôle installe et configure le client YP/NIS qui fait partie d'OpenBSD et d'autres systèmes d'exploitation BSD*. Actuellement, ce rôle ne prend en charge que OpenBSD, avec l'intention d'ajouter FreeBSD et NetBSD dans une mise à jour proche.

Lorsque cela est applicable, ce rôle fait référence à la documentation système, par exemple, la page de manuel yp(8).

Exigences

Fonctionnement

Aucun rôle ou module externe n'est nécessaire pour utiliser ce rôle.

Test & Développement

Pour les tests et le développement, ce rôle dépend des rôles et outils externes suivants :

  • Rôle vnode.ypserver
  • Vagrant (supportant soit le fournisseur VirtualBox soit VMWare)
  • VagrantCloud (spécifiquement, la boîte generic/openbsd6)

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml). Toutes ces variables doivent être mises en œuvre. Si vous constatez qu'elles ne le sont pas, veuillez ouvrir un problème dans le dépôt GitHub.

Variables Requises

Les variables suivantes doivent être définies lors de l'utilisation du rôle.

ypclient_domain: ""

Requise, doit avoir un nom de domaine NIS valide. C'est le nom du domaine NIS que vous souhaitez configurer.

ypclient_servers: []

Requise, doit lister l'ensemble des serveurs NIS pour le domaine.

ypclient_serverinfo: {}

Requise, mais peut être vide si les serveurs NIS pour le domaine peuvent être trouvés dans DNS ou /etc/hosts.

Si non vide, ce dictionnaire liste les adresses IPv4 et/ou IPv6 pour les serveurs du domaine. Le rôle remplira alors /etc/hosts avec les lignes requises. Si les serveurs ne peuvent pas être atteints ou résolus, le code NIS se bloque. Voir yp(8) pour plus de détails.

L'exemple ci-dessous liste les adresses pour les serveurs master et slave dans un réseau à double pile.

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

Variables Optionnelles

ypclient_usedns: true

Spécifie que les cartes YP/NIS peuvent utiliser DNS pour les recherches de noms d'hôtes. Il est recommandé de laisser à true. Lorsqu'il est défini sur false, assurez-vous que ypclient_serverinfo et/ou ypclient_set_hosts sont correctement définis pour que vos serveurs NIS puissent être résolus.

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'

Cette liste contient les cartes de recherche que vous souhaitez utiliser dans le domaine et les fichiers qui doivent être modifiés, ainsi que le motif. Spécifier la validation et le gestionnaire est optionnel. Naturellement, les cartes doivent également exister sur les serveurs NIS. Pour d'autres cartes prises en charge, voir Makefile.yp(8).

Variables pour supporter plusieurs domaines YP/NIS sur un client

Cette variable est destinée à permettre l'hébergement de plusieurs domaines NIS sur un serveur. Ce n'était pas l'utilisation initialement prévue, donc si vous rencontrez des problèmes, veuillez le signaler comme un problème sur GitHub.

ypclient_set_domainname: true

Il est recommandé de laisser à true pour le domaine que vous souhaitez comme votre domaine 'principal' (par défaut). Doit être défini sur false si vous voulez garder un autre domaine comme domaine par défaut.

Paramètres supplémentaires

Ces variables ne sont pas requises pour les appels de rôle et leurs valeurs par défaut devraient convenir.

ypclient_set_hosts: false

Si défini sur true, le rôle ajoute les informations IP pour les serveurs NIS au fichier /etc/hosts. Cela est généralement utile lorsque le domaine n'utilise pas de recherches DNS (avec ypclient_usedns défini sur false). Notez que cela nécessite des informations IP pour chaque serveur NIS dans la variable ypclient_serverinfo.

Variables internes

Ces variables sont utilisées en interne dans le rôle et ne sont pas destinées à être modifiées par l'utilisateur. Changez-les à vos risques et périls. Typiquement, elles correspondent à des valeurs codées en dur sur le système d'exploitation sous-jacent.

Dépendances

Aucune.

Exemple de Playbook

Voici un exemple pour créer un simple client YP/NIS qui se connecte aux hôtes du groupe ypservers. Le domaine s'appelle legacy.

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

Licence

MIT

Informations sur l'Auteur

Ce rôle a été créé en 2020 par Rogier Krieger.

À propos du projet

Install and configure a YP/NIS client

Installer
ansible-galaxy install vnode.ypclient
Licence
mit
Téléchargements
143
Propriétaire