aboutsummaryrefslogblamecommitdiff
path: root/scripts/hostclass/cups_server
blob: 0fd624cc78e621ec75dff57aa374d7d5e7c2eea0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                            

                                                                       
                                                                
 






                                                             


                                    






                                                  
#!/bin/sh

: ${cups_admin_group='sysadmins'}
: ${cups_server_admin="${cups_admin_group}@${email_domain}"}

cups_user=cups
cups_conf_dir=/usr/local/etc/cups
cups_tls_dir=${cups_conf_dir}/ssl
cups_tls_cert="${cups_tls_dir}/${fqdn}.crt"
cups_tls_key="${cups_tls_dir}/${fqdn}.key"

# Create dataset for persistent CUPS configuration.
create_dataset -o "mountpoint=${cups_conf_dir}" "${state_dataset}/cups"
zfs set com.sun:auto-snapshot:daily=true "${state_dataset}/cups"

# Install required packages.
pkg install -y cups cups-filters

# Copy TLS certificate for CUPS.
install_certificate     -g "$cups_user" cups "$cups_tls_cert"
install_certificate_key -g "$cups_user" cups "$cups_tls_key"

# Generate CUPS pam configuration.
install_file -m 0644 /etc/pam.d/cups

# Copy CUPS configuration.
install_template -o root -g "$cups_user" -m 0640 \
  "${cups_conf_dir}/cupsd.conf" \
  "${cups_conf_dir}/cups-files.conf"

sysrc -v cupsd_enable=YES
service cupsd restart