vnode.ypclient
Rol de Ansible: ypclient
Esta rol instala y configura el cliente YP/NIS que es parte de OpenBSD y otros sistemas operativos BSD*. Actualmente, este rol solo es compatible con OpenBSD, con la intención de agregar soporte para FreeBSD y NetBSD en una actualización futura cercana.
Donde sea aplicable, este rol se refiere a la documentación del sistema, por ejemplo, la página de manual yp(8)
.
Requisitos
Operación
No se requieren roles ni módulos externos para usar este rol.
Pruebas y Desarrollo
Para pruebas y desarrollo, este rol depende de los siguientes roles y herramientas externas:
- Rol vnode.ypserver
- Vagrant (soportando el proveedor de VirtualBox o VMWare)
- VagrantCloud (específicamente, la caja
generic/openbsd6
)
Variables del Rol
Las variables disponibles se enumeran a continuación, incluyendo sus valores predeterminados (ver defaults/main.yml
).
Todas estas deben implementarse. Si encuentras que no lo están, por favor abre un issue en el repositorio de GitHub.
Variables requeridas
Las siguientes variables deben configurarse al usar el rol.
ypclient_domain: ""
Requerido, debe tener un nombre de dominio NIS válido. Este es el nombre del dominio NIS que deseas configurar.
ypclient_servers: []
Requerido, debe listar el conjunto de servidores NIS para el dominio.
ypclient_serverinfo: {}
Requerido, pero puede estar vacío si los servidores NIS para el dominio se pueden encontrar en DNS o /etc/hosts
.
Si no está vacío, este diccionario contiene direcciones IPv4 y/o IPv6 para los servidores del dominio. El rol luego poblará /etc/hosts
con las líneas requeridas. Si no se pueden alcanzar o resolver los servidores, el código NIS se colgará. Para más detalles, consulta yp(8)
.
El siguiente ejemplo lista direcciones para los servidores master
y slave
en una red de doble pila.
ypserver_serverinfo:
master:
- "192.0.2.1"
- "2001:db8::111:1"
slave:
- "192.0.2.2"
- "2001:db8::111:2"
Variables opcionales
ypclient_usedns: true
Especifica que los mapas YP/NIS pueden usar DNS para la búsqueda de nombres de host. Se recomienda dejar en true
. Si se establece en false
, asegúrate de que ypclient_serverinfo
y/o ypclient_set_hosts
estén configurados correctamente para que tus servidores NIS se puedan resolver.
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'
Esta lista contiene qué mapas de consulta deseas usar en el dominio y qué archivos necesitan ser editados, así como el patrón. Es opcional especificar la validación y el manejador. Naturalmente, los mapas también deben existir en los servidores NIS. Para otros mapas soportados, consulta Makefile.yp(8)
.
Variables para soportar múltiples dominios YP/NIS en un cliente
Esta variable está destinada a permitir el hospedaje de múltiples dominios NIS en un servidor. Este no era el caso de uso originalmente previsto, así que si encuentras problemas, por favor repórtalo como un issue en GitHub.
ypclient_set_domainname: true
Se recomienda dejar en true
para el dominio que se pretende como tu 'principal' (nombre de dominio predeterminado). Debe establecerse en false
si deseas mantener otro dominio como el dominio predeterminado.
Configuraciones adicionales
Estas variables no son necesarias para la invocación del rol y sus valores predeterminados deberían estar bien.
ypclient_set_hosts: false
Si se establece en true
, el rol agrega la información IP para los servidores NIS al archivo /etc/hosts
. Esto es típicamente útil cuando el dominio no utiliza búsquedas DNS (ypclient_usedns
establecido en false
). Ten en cuenta que esto requiere información IP para cada servidor NIS en la variable ypclient_serverinfo
.
Variables internas
Estas variables se utilizan internamente en el rol y no están destinadas a ser modificadas por el usuario. Cambiarlas es bajo tu propio riesgo. Típicamente, corresponden a valores codificados en el sistema operativo subyacente.
Dependencias
Ninguna.
Ejemplo de Playbook
A continuación, un ejemplo para crear un cliente YP/NIS simple que se conecta a los hosts en el grupo ypservers
. El dominio se llama legacy
.
---
- hosts: ypclients
roles:
- rol: vnode.ypclient
vars:
ypclient_ypdomain: legacy
ypclient_servers: "{{ groups['ypservers'] }}"
Licencia
MIT
Información del Autor
Este rol fue creado en 2020 por Rogier Krieger.
ansible-galaxy install vnode.ypclient