rivimey.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
- Также распаковывает PPD, которые устанавливает, так как пакет устанавливает их как gzip файлы в
- Устанавливает 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. Как только это будет объединено в основной проект, оно будет удалено отсюда.
- Смотрите cups_printer_list и cups_class_list, чтобы узнать, как определить каждый принтер и класс в переменной
Требования
- 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.
- Если вы хотите использовать debops.ferm, вы можете использовать/изменять
Переменные по умолчанию, которые могут быть переопределены или использованы как есть при использовании этой роли:
Установка и конфигурация CUPS:
cups_lpadmin_users: Список пользователей, которые должны быть добавлены в группу администратора CUPS (lpadmin). По умолчанию=rootcups_lpd: Установить и настроить cups-lpd - По умолчанию=Truecups_sysadmins_email: Электронная почта, которая будет использоваться для создания шаблона cupsd.conf - По умолчанию=sysadmins@ansible_fqdncups__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.confcups_cups_browsed_conf_template: Для /etc/cups/cups-browsed.confcups_snmp_conf_template: Для /etc/cups/snmp.conf
Установка и копирование PPD:
cups_ppd_files_to_be_copied: Папка для копирования всех .ppd файлов - По умолчанию=Nonecups_hplip: Установить HPLIP - По умолчанию=Truecups_ricoh_openprinting: Установить драйверы/PPD OpenPrinting-Ricoh - По умолчанию=Truecups_openprinting_apt_required: Это определено как тернарный оператор. Оно управляет добавлением APT ключа OpenPrinting и репозитория в зависимости от установки драйверов Ricoh. Это можно легко переопределить на ваше значение.cups_openprinting_apt_key_id: ID APT ключа, который необходимо получить из ключевого сервера. По умолчанию=24CBF5474CFD1E2Fcups_openprinting_key_server: Ключевой сервер, с которого нужно получить ключ для ниже указанного репозитория - По умолчанию=keyserver.ubuntu.comcups_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, используется это значение - По умолчанию=Truecups_printer_report_snmp_supplies: Когда у объекта принтера нет атрибутаreport_snmp_supply_levels, используется это значение - По умолчанию=Truecups_printer_is_shared: Когда у объекта принтера нет атрибутаshared, используется это значение - По умолчанию=Truecups_class_is_shared: Когда у объекта класса нет атрибутаshared, используется это значение - По умолчанию=Truecups_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-pdfcups_xinetd_location: Местоположение файлов xinet.d - По умолчанию=/etc/xinetd.dcups_tmp_location: Временная папка, которую эта роль использует для копирования файлов и запуска скриптов. Папка будет создана, если ее не существует - По умолчанию=/tmp/cups-ansiblecups_admin_group: Группа, имеющая административный доступ к CUPS. Это используется при добавлении пользователей (если указано) в роли администратора CUPS - По умолчанию=lpadmincups_services: Службы CUPS, которые используются при запуске и остановке служб CUPS для настройки - По умолчанию=cupscups_etc_location: etc местоположение конфигурации CUPS - По умолчанию=/etc/cupscups_etc_files_perms_owner: Владелец файлов, размещенных этой ролью подcups_etc_location- По умолчанию=rootcups_etc_files_perms_group: Групповая принадлежность файлов, размещенных этой ролью подcups_etc_location- По умолчанию=lpcups_etc_files_mode: Режим доступа к файлам, размещенным этой ролью подcups_etc_location- По умолчанию=0644cups_expect_packages: Ожидаемые пакеты, которые устанавливаются для бездозорных установок различных ожиданий скриптов в этой роли - Debian-По умолчанию=expect, python-pexpect, RedHat-По умолчанию=expect, pexpectcups_ppd_shared_location: Стандартное общее место, куда могут быть размещены PPD, и CUPS их подберет - По умолчанию=/opt/share/ppdcups_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
Загрузки
175
Владелец
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.
