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 - По умолчанию=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.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 - По умолчанию=True
cups_ricoh_openprinting
: Установить драйверы/PPD OpenPrinting-Ricoh - По умолчанию=True
cups_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
, используется это значение - По умолчанию=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
Загрузки
146
Владелец
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.