119 lines
2.3 KiB
Puppet
119 lines
2.3 KiB
Puppet
|
|
# Install and configure cups client
|
|
#
|
|
class cups::client {
|
|
|
|
package { "cups":
|
|
ensure => installed,
|
|
}
|
|
|
|
file { "/etc/cups/client.conf":
|
|
ensure => present,
|
|
content => template("cups/client.conf.erb"),
|
|
mode => 0644,
|
|
owner => root,
|
|
group => lp,
|
|
require => Package["cups"],
|
|
}
|
|
|
|
}
|
|
|
|
# Install cups server
|
|
#
|
|
class cups::server inherits cups::client {
|
|
|
|
package { [ "ghostscript", "system-config-printer" ]:
|
|
ensure => installed,
|
|
}
|
|
|
|
service { "cups":
|
|
ensure => running,
|
|
enable => true,
|
|
require => Package["cups"],
|
|
}
|
|
|
|
File["/etc/cups/client.conf"] {
|
|
content => "ServerName 127.0.0.1\n",
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install samba support into cups
|
|
#
|
|
class cups::samba {
|
|
|
|
include samba::server
|
|
|
|
file { [ "/etc/samba/drivers",
|
|
"/usr/share/cups/drivers",
|
|
"/usr/share/cups/drivers/x64", ]:
|
|
ensure => directory,
|
|
mode => 0755,
|
|
owner => root,
|
|
group => root,
|
|
require => [ Package["samba"],
|
|
Package["cups"], ],
|
|
}
|
|
|
|
define driverfile() {
|
|
file { "/usr/share/cups/drivers/${name}":
|
|
ensure => present,
|
|
source => "puppet:///cups/drivers/${name}",
|
|
mode => 0644,
|
|
owner => root,
|
|
group => root,
|
|
require => [ File["/usr/share/cups/drivers"],
|
|
File["/usr/share/cups/drivers/x64"], ],
|
|
}
|
|
}
|
|
|
|
driverfile { "cups6.inf": }
|
|
driverfile { "cups6.ini": }
|
|
driverfile { "cupsps6.dll": }
|
|
driverfile { "cupsui6.dll": }
|
|
|
|
driverfile { "ps5ui.dll": }
|
|
driverfile { "pscript.hlp": }
|
|
driverfile { "pscript.ntf": }
|
|
driverfile { "pscript5.dll": }
|
|
|
|
driverfile { "x64/cups6.inf": }
|
|
driverfile { "x64/cups6.ini": }
|
|
driverfile { "x64/cupsps6.dll": }
|
|
driverfile { "x64/cupsui6.dll": }
|
|
|
|
driverfile { "x64/ps5ui.dll": }
|
|
driverfile { "x64/pscript.hlp": }
|
|
driverfile { "x64/pscript.ntf": }
|
|
driverfile { "x64/pscript5.dll": }
|
|
|
|
file { "/etc/cron.hourly/update-printer-inf.sh":
|
|
ensure => present,
|
|
source => "puppet:///cups/update-printer-inf.sh",
|
|
mode => 0755,
|
|
owner => root,
|
|
group => root,
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install SNMP polling into cups server
|
|
#
|
|
class cups::snmp {
|
|
|
|
package { "net-snmp-utils":
|
|
ensure => installed,
|
|
}
|
|
|
|
file { "/etc/cron.hourly/printer-details.py":
|
|
ensure => present,
|
|
source => "puppet:///cups/printer-details.py",
|
|
mode => 0755,
|
|
owner => root,
|
|
group => root,
|
|
require => Package["net-snmp-utils"],
|
|
}
|
|
|
|
}
|