ansible_cups

Ansible Роль: cups

Статус сборки

Устанавливает CUPS, необходимые PPD и принтеры с классами в CUPS

Установка и настройка CUPS

  • Устанавливает cups и cups-pdf
  • Учетные записи, указанные в cups_lpadmin_users, будут добавлены в группу lpadmin для администрирования CUPS.
  • Устанавливает cups-lpd, если позволяют переменные (см. ниже):
    • Создает учетную запись пользователя, которая будет запускать процесс cups-lpd.
    • Устанавливает xinetd для работы cups-lpd как службы. Использует файл шаблона cups-lpd для создания финальной конфигурации xinetd.
  • Настройка CUPS:
    • Если предоставлены шаблоны для cupsd.conf, cups-browsed.conf и snmp.conf, они будут созданы и скопированы.
    • Если предоставлены SSL сертификаты, они будут скопированы в нужное место.

Установка PPD

  • Создает /opt/share/ppd, где CUPS ищет PPD, которые вручную скопированы.
  • Добавляет репозиторий OpenPrinting.
  • Устанавливает пакет Ricoh OpenPrinting - openprinting-ppds-postscript-ricoh
    • Также распаковывает PPD, которые устанавливает, так как пакет устанавливает их как gzip файлы в /opt/OpenPrinting-Ricoh/ppds/Ricoh
  • Устанавливает HPLIP:
    • Также устанавливает проприетарный плагин HP с помощью исключительного скрипта.
  • Копирует PPD из указанной папки в cups_ppd_files_to_be_copied в /opt/share/ppd.

Установка Принтеров

  • Все принтеры, которые должны быть удалены, будут удалены сначала.
  • Устанавливает принтеры из переменной cups_printer_list, а затем устанавливает классы из переменной cups_class_list.
    • Смотрите cups_printer_list и cups_class_list, чтобы узнать, как определить каждый принтер и класс в переменной cups_printer_list и cups_class_list соответственно.
    • Использует модуль cups_lpadmin. Внутри него есть документация/комментарии о том, как его можно использовать.
    • cups_lpadmin является прямой копией из HP41.ansible-modules-extra/system/cups_lpadmin. Как только это будет объединено в основной проект, оно будет удалено отсюда.

Требования

  • Ansible >= 2.1
  • Гостевая машина: Debian
    • stretch
    • jessie
    • wheezy
  • Гостевая машина: Ubuntu
    • xenial
    • trusty
    • precise
  • Гостевая машина: CentOS
    • 7.4

Возможные дополнительные задачи, которые не входят в обязанности этой роли.

  • Открытие необходимых портов CUPS - 515(LPR), 631(IPP/IPPS), 9100(прямой IP) через брандмауэр.
    • Если вы хотите использовать debops.ferm, вы можете использовать/изменять cups__debops_ferm_dependent_rules (определенную по умолчанию), чтобы передать debops.ferm.

Переменные по умолчанию, которые могут быть переопределены или использованы как есть при использовании этой роли:

Установка и конфигурация CUPS:

  • cups_lpadmin_users: Список пользователей, которые должны быть добавлены в группу администратора CUPS (lpadmin). По умолчанию=root
  • cups_lpd: Установить и настроить cups-lpd - По умолчанию=True
  • cups_sysadmins_email: Электронная почта, которая будет использоваться для создания шаблона cupsd.conf - По умолчанию=sysadmins@ansible_fqdn
  • cups__debops_ferm_dependent_rules: Простые правила по умолчанию для открытия портов (515, 631, 9100) через брандмауэр, которые могут быть упомянуты при использовании роли debops.ferm.
  • /etc/xinetd.d/cups-lpd
    • cups_lpd_user: Имя пользователя, с которым будет запущен процесс cups-lpd (через xinetd) - По умолчанию=cupslpd
  • Опциональные шаблоны:
    • Они могли быть настроены как простое копирование файлов, но доступ к ним и добавление ansible переменных не будет возможным. С помощью ansible_managed, ansible_fqdn и т.д. они будут доступны. Шаблоны могут также быть простыми текстовыми файлами без объявления переменных, и они будут скопированы.
    • cups_cupsd_conf_template: Для /etc/cups/cupsd.conf
    • cups_cups_browsed_conf_template: Для /etc/cups/cups-browsed.conf
    • cups_snmp_conf_template: Для /etc/cups/snmp.conf

Установка и копирование PPD:

  • cups_ppd_files_to_be_copied: Папка для копирования всех .ppd файлов - По умолчанию=None
  • cups_hplip: Установить HPLIP - По умолчанию=True
  • cups_ricoh_openprinting: Установить драйверы/PPD OpenPrinting-Ricoh - По умолчанию=True
  • cups_openprinting_apt_required: Это определено как тернарный оператор. Оно управляет добавлением APT ключа OpenPrinting и репозитория в зависимости от установки драйверов Ricoh. Это можно легко переопределить на ваше значение.
  • cups_openprinting_apt_key_id: ID APT ключа, который необходимо получить из ключевого сервера. По умолчанию=24CBF5474CFD1E2F
  • cups_openprinting_key_server: Ключевой сервер, с которого нужно получить ключ для ниже указанного репозитория - По умолчанию=keyserver.ubuntu.com
  • cups_openprinting_apt_repo: Репозиторий OpenPrinting для добавления для Debian / Ubuntu - По умолчанию="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"
  • cups_openprinting_yum_repo: Репозиторий OpenPrinting для добавления для RedHat / CentOS - По умолчанию="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"

Установка принтеров и классов:

  • cups_printer_uri_prefix: Префикс URI для любых фильтров на верхнюю часть URI - По умолчанию=""
  • cups_printer_report_ipp_supplies: Когда у объекта принтера нет атрибута report_ipp_supply_levels, используется это значение - По умолчанию=True
  • cups_printer_report_snmp_supplies: Когда у объекта принтера нет атрибута report_snmp_supply_levels, используется это значение - По умолчанию=True
  • cups_printer_is_shared: Когда у объекта принтера нет атрибута shared, используется это значение - По умолчанию=True
  • cups_class_is_shared: Когда у объекта класса нет атрибута shared, используется это значение - По умолчанию=True
  • cups_printer_list: Список хэшей, содержащих информацию о принтере, необходимую для их установки. Пожалуйста, проверьте модуль cups_lpadmin и как используется переменная cups_printer_list.
  • cups_class_list: Список хэшей, содержащих информацию о классе, необходимую для их установки. Пожалуйста, проверьте модуль cups_lpadmin и как используется переменная cups_class_list.
  • cups_purge_all_printers_and_classes: Должен ли модуль cups_lpadmin очистить/удалить все принтеры перед продолжением.
  • cups_printers_and_classes_to_be_removed: Принтеры и классы, которые вы хотите удалить.

Переменные, связанные с работой роли и общей настройкой CUPS:

  • cups_packages_to_install: Пакеты CUPS для установки. Это может быть переопределено для конкретной версии пакета, если необходимо - По умолчанию=cups, cups-pdf
  • cups_xinetd_location: Местоположение файлов xinet.d - По умолчанию=/etc/xinetd.d
  • cups_tmp_location: Временная папка, которую эта роль использует для копирования файлов и запуска скриптов. Папка будет создана, если ее не существует - По умолчанию=/tmp/cups-ansible
  • cups_admin_group: Группа, имеющая административный доступ к CUPS. Это используется при добавлении пользователей (если указано) в роли администратора CUPS - По умолчанию=lpadmin
  • cups_services: Службы CUPS, которые используются при запуске и остановке служб CUPS для настройки - По умолчанию=cups
  • cups_etc_location: etc местоположение конфигурации CUPS - По умолчанию=/etc/cups
  • cups_etc_files_perms_owner: Владелец файлов, размещенных этой ролью под cups_etc_location - По умолчанию=root
  • cups_etc_files_perms_group: Групповая принадлежность файлов, размещенных этой ролью под cups_etc_location - По умолчанию=lp
  • cups_etc_files_mode: Режим доступа к файлам, размещенным этой ролью под cups_etc_location - По умолчанию=0644
  • cups_expect_packages: Ожидаемые пакеты, которые устанавливаются для бездозорных установок различных ожиданий скриптов в этой роли - Debian-По умолчанию=expect, python-pexpect, RedHat-По умолчанию=expect, pexpect
  • cups_ppd_shared_location: Стандартное общее место, куда могут быть размещены PPD, и CUPS их подберет - По умолчанию=/opt/share/ppd
  • cups_ricoh_ppd_location: Местоположение, куда устанавливаются PPD от Ricoh из OpenPrinting - По умолчанию=/opt/OpenPrinting-Ricoh/ppds/Ricoh
О проекте

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

Установить
ansible-galaxy install rivimey/ansible-cups
Лицензия
mit
Загрузки
152
Владелец
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.