rivimey.ansible_cups

Rol de Ansible: cups

Estado de la Construcción

Instala CUPS, instala los PPDs necesarios y las impresoras y clases en CUPS

Instalar y configurar CUPS

  • Instala cups y cups-pdf
  • Las cuentas definidas en cups_lpadmin_users se añadirán al grupo lpadmin para administrar CUPS.
  • Instala cups-lpd si las variables lo permiten (ver abajo):
    • Crea una cuenta de usuario que ejecutará el proceso cups-lpd.
    • Instala xinetd para ejecutar cups-lpd como un servicio. Usa el archivo de plantilla cups-lpd para crear la configuración final de xinetd.
  • Configuración de CUPS:
    • Si se proporcionan plantillas para cupsd.conf, cups-browsed.conf y snmp.conf, se construirán y copiarán.
    • Si se proporcionan certificados SSL, se copiarán a la ubicación adecuada.

Instalar PPDs

  • Crea /opt/share/ppd, donde CUPS busca los PPDs que se copian manualmente.
  • Añade el repositorio OpenPrinting.
  • Instala el paquete OpenPrinting de Ricoh - openprinting-ppds-postscript-ricoh
    • También descomprime los PPDs que instala, ya que el paquete los instala como archivos gzip en /opt/OpenPrinting-Ricoh/ppds/Ricoh.
  • Instala HPLIP:
    • También instala el complemento propietario de HP utilizando un script de excepción.
  • Copia los PPDs desde la carpeta especificada en cups_ppd_files_to_be_copied a /opt/share/ppd.

Instalar Impresoras

  • Cualquier impresora definida para ser eliminada se eliminará primero.
  • Instala las impresoras listadas en la variable cups_printer_list y luego las clases listadas en cups_class_list.
    • Consulta cups_printer_list y cups_class_list para ver cómo definir cada impresora y objeto de clase en las variables cups_printer_list y cups_class_list, respectivamente.
    • Esto utiliza el módulo cups_lpadmin. Hay documentación/comentarios dentro de él sobre cómo se puede usar.
    • cups_lpadmin es una copia directa de HP41.ansible-modules-extra/system/cups_lpadmin. Una vez que se integre, se eliminará de aquí.

Requisitos

  • Ansible >= 2.1
  • Máquina huésped: Debian
    • stretch
    • jessie
    • wheezy
  • Máquina huésped: Ubuntu
    • xenial
    • trusty
    • precise
  • Máquina huésped: CentOS
    • 7.4

Posibles tareas adicionales que no son parte de las responsabilidades de este rol.

  • Abrir los puertos necesarios de CUPS - 515(LPR), 631(IPP/IPPS), 9100(IP directo) a través del firewall.
    • Si deseas usar debops.ferm, puedes usar/modificar cups__debops_ferm_dependent_rules (definido en defaults) para pasar a debops.ferm.

Variables por defecto que pueden ser sobrescritas o utilizadas como están al usar este rol:

Instalación y configuración de CUPS:

  • cups_lpadmin_users: Lista de usuarios que deben ser añadidos al grupo de administradores de cups (lpadmin). Por defecto=root
  • cups_lpd: Si se debe instalar y configurar cups-lpd - Por defecto=True
  • cups_sysadmins_email: El correo electrónico que se usará para construir la plantilla cupsd.conf - Por defecto=sysadmins@ansible_fqdn
  • cups__debops_ferm_dependent_rules: Reglas simples por defecto para abrir puertos (515, 631, 9100) a través del firewall que pueden ser referenciadas al usar el rol debops.ferm.
  • /etc/xinetd.d/cups-lpd
    • cups_lpd_user: El nombre de usuario con el que se ejecutará el proceso cups-lpd (a través de xinetd) - Por defecto=cupslpd
  • Plantillas opcionales:
    • Podrían configurarse como una simple copia de archivo, pero acceder y añadir variables ansible en ella no será posible. Con este ansible_managed, ansible_fqdn, etc. serán accesibles. Las plantillas también podrían ser archivos de texto simples sin declaración de variables y se copiarán.
    • cups_cupsd_conf_template: Para /etc/cups/cupsd.conf
    • cups_cups_browsed_conf_template: Para /etc/cups/cups-browsed.conf
    • cups_snmp_conf_template: Para /etc/cups/snmp.conf

Instalación y copia de PPDs:

  • cups_ppd_files_to_be_copied: La carpeta de donde copiar todos los archivos .ppd - Por defecto=None
  • cups_hplip: Si debe instalar HPLIP - Por defecto=True
  • cups_ricoh_openprinting: Si debe instalar controladores/PPDs de OpenPrinting-Ricoh - Por defecto=True
  • cups_openprinting_apt_required: Se define como un ternario. Controla si se añade la clave y el repositorio APT de OpenPrinting en base a si se están instalando los controladores de Ricoh o no. Puede ser fácilmente sobrescrito.
  • cups_openprinting_apt_key_id: La ID de la clave APT a obtener del servidor de claves a continuación. Por defecto=24CBF5474CFD1E2F
  • cups_openprinting_key_server: El servidor de claves para adquirir la clave del repositorio a continuación - Por defecto=keyserver.ubuntu.com
  • cups_openprinting_apt_repo: El repositorio de OpenPrinting para añadir en Debian / Ubuntu - Por defecto="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"
  • cups_openprinting_yum_repo: El repositorio de OpenPrinting para añadir en RedHat / CentOS - Por defecto="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"

Instalación de impresoras y clases:

  • cups_printer_uri_prefix: Un prefijo de URI para cualquier filtro sobre la URI - Por defecto=""
  • cups_printer_report_ipp_supplies: Cuando el objeto impresora no tiene el atributo report_ipp_supply_levels, se usa este valor - Por defecto=True
  • cups_printer_report_snmp_supplies: Cuando el objeto impresora no tiene el atributo report_snmp_supply_levels, se usa este valor. - Por defecto=True
  • cups_printer_is_shared: Cuando el objeto impresora no tiene el atributo shared, se usa este valor - Por defecto=True
  • cups_class_is_shared: Cuando el objeto de clase no tiene el atributo shared, se usa este valor - Por defecto=True
  • cups_printer_list: Una lista de hash que contiene información de impresora necesaria para instalarlas. Consulta el módulo cups_lpadmin y cómo se utiliza la variable cups_printer_list.
  • cups_class_list: Una lista de hash que contiene información de clase necesaria para instalarlas. Consulta el módulo cups_lpadmin y cómo se utiliza la variable cups_class_list.
  • cups_purge_all_printers_and_classes: Si el módulo cups_lpadmin debe eliminar todas las impresoras antes de continuar.
  • cups_printers_and_classes_to_be_removed: Impresoras y clases que te gustaría eliminar específicamente.

Variables relacionadas con la operación del rol y la configuración general de CUPS:

  • cups_packages_to_install: Los paquetes CUPS a instalar. Esto puede ser sobrescrito para una versión de paquete específica si es necesario - Por defecto=cups, cups-pdf
  • cups_xinetd_location: La ubicación de los archivos xinet.d - Por defecto=/etc/xinetd.d
  • cups_tmp_location: Ubicación temporal que utiliza este rol para copiar archivos y ejecutar scripts. La ubicación se crea si no existe - Por defecto=/tmp/cups-ansible
  • cups_admin_group: El grupo que tiene acceso administrativo a CUPS. Esto se referencia al añadir usuarios (si se definen) a los roles de administrador de CUPS - Por defecto=lpadmin
  • cups_services: El/los servicio(s) de CUPS que se referencia al iniciar y detener los servicios de CUPS con fines de configuración - Por defecto=cups
  • cups_etc_location: Ubicación etc de la configuración de CUPS - Por defecto=/etc/cups
  • cups_etc_files_perms_owner: Propietario de los archivos colocados por este rol bajo cups_etc_location - Por defecto=root
  • cups_etc_files_perms_group: Pertenencia de grupo de los archivos colocados por este rol bajo cups_etc_location - Por defecto=lp
  • cups_etc_files_mode: Modo de archivo de los archivos colocados por este rol bajo cups_etc_location - Por defecto=0644
  • cups_expect_packages: Los paquetes relacionados con expect que se instalan para instalaciones desatendidas de diferentes scripts de expect dentro de este rol - Debian-Por defecto=expect, python-pexpect, RedHat-Por defecto=expect, pexpect
  • cups_ppd_shared_location: La ubicación compartida estándar donde se pueden colocar los PPDs y CUPS los recogerá - Por defecto=/opt/share/ppd
  • cups_ricoh_ppd_location: La ubicación donde se instalan los PPDs de Ricoh de OpenPrinting - Por defecto=/opt/OpenPrinting-Ricoh/ppds/Ricoh
Acerca del proyecto

Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS

Instalar
ansible-galaxy install rivimey.ansible_cups
Licencia
mit
Descargas
163
Propietario
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.